漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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 (内部门户登录系统)
用户名处单引号测了一下,报错了
看了下是“171.217”附近有语法错误,而这个明显是ip地址,burp抓包看了一下,没有x-forward-for和client ip头信息,那么获取ip的方式应该就是remote address了。这样的话,在头信息上注入就没戏了。这时候只有不停的尝试一下,发现还有',')'的报错信息,其实如果经验更丰富些,这个时候就改想到什么了,但是由于本人新手,大概知道前方有括号好闭合,经历了各种报错注入的尝试后:在用户名后插入 ')-- - 后,终于。。
好吧,到这里大家应该知道了,前面是insert语句,我们可以理解为前方高能,是select 语句与insert语句的混合,但是select语句附近没有问题,我们的单引号引发了insert语句的报错,好吧,我们也不去纠结前面的语句的构造了。我们先是构造如下:
然后根据报错信息,依次增加value字句中的值的列数,直到不再报错为止,于是,最终闭合的句子如下:
由于mssql可执行多语句,我们先尝试是否可以延时注入,',1,1,1,1); waitfor delay '00:00:05' ;-- a 发现网页半天没有返回结果,而且最后,
似乎出现了什么问题。好吧目测有关键字的waf,经过测试目测过滤了 waitfor , select .... from 等字段,尝试unicode某些字母
我们的unicode编码部分被吃掉了,看来这样的方式不得行。再试试报错注入
但是这里select ....from 被过滤了,那么我么就干脆不要from,直接。
成功注入
漏洞证明:
修复方案:
过滤
版权声明:转载请注明来源 wps2015@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-10-27 14:25
厂商回复:
非常感谢,洞主思路清晰,手法一流,望继续给出修复方案。
最新状态:
暂无