记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

PhpcmsV9 SQL注射 2013年贺岁第一发

2013-02-22 11:15
在phpcmsv9的通行证程序内。
phpsso_server/phpcms/modules/phpsso/classes/phpsso.class.php
内的一行代码
 
if(get_magic_quotes_gpc()) {
$this->data = new_stripslashes($this->data);
}
这里的输入在magic_quotes_gpc开启的时候居然stripslashes了。。。
 
然后就没有然后了。。。。。 
在开启magic_quotes_gpc的环境下,去到phpcms登陆的界面,输入
xxxxxxxxxxxx' or '1
 
密码随意输入,提示“密码错误”而非“账户不存在”就证明你可以注入了。
 
 
 
 
为什么提示不一样??如下
 
 
if($status == -1) { //用户不存在
showmessage(L('user_not_exist'), 'index.php?m=member&c=index&a=login');
} elseif($status == -2) { //密码错误
showmessage(L('password_error'), 'index.php?m=member&c=index&a=login');
} else {
showmessage(L('login_failure'), 'index.php?m=member&c=index&a=login');
}
 
若把v9_sso_applications中的数据读出来,这就是一个严重漏洞了。 
 
修复方案:

其实没必要stripslashes。 官方已放出升级,请及时补丁
 
知识来源: www.2cto.com/Article/201302/190485.html

阅读:80051 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“PhpcmsV9 SQL注射 2013年贺岁第一发”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云