最新过安全狗注入
时间:2016-11-24 20:45 来源:转载 作者:sec_tony 点击:次
0x1 序:
前几天在某论坛上看见接地气发了一个HPP参数污染绕过XX狗的帖子,然后感觉方法很好,一直想测试一下,今天终于有了时间测试一下是否还过狗!
0x2 测试:
![]() 测试:
这 里引用接地气的总结:XX狗对GET提交参数的拦截底线是union select,也就是说union select会被拦截;而对于POST提交参数的拦截底线是union select 1,2,..from,只要union select from同时出现则拦截
HPP参数污染就是在接收多次相同的参数的时候,不同的web容器的处理方式不同:有的两个参数同时接收,有的只接收前一个参数,有的只接收后一个参数。
比如:ASP/IIS环境下:
如果访问http://127.0.0.1/index.php?id=1&id=2的话传递过去的id=1,2
![]()
于是就测试:
![]()
发现一个问题,空格被过滤了,那用%20替换空格呢:
![]()
OK,显示正常了(ps:大牛们别笑话我,在过狗方面我研究的真的不多)
用HPP参数污染:
![]()
0x3 自行研究
![]()
是这个理由绕过XX狗的。
关闭XX狗测试语句是否能正常执行:
![]()
发现语句不能正常执行了,其实这个和搭建环境有关,我的环境是IIS的。
总结思路:
大多都是用一些符号来让安全狗的正则匹配不到,来达到过安全狗的目的,试试参数污染+替换空格+%扰乱呢:
![]()
失败...
这时候突然想起来:刚才传递参数的时候不是发现安全狗过滤空格么?那用空格截断关键字呢(就像asaspp一样过滤asp以后就变成了asp)
![]()
绕过了,但是替换空格的符号导致语句执行错误..去掉以后:
![]() 突然想法:既然参数污染的方法已经不能够过安全狗了,那不用参数污染,只用空格截断呢? ![]()
的确可以绕过安全狗
继续深入:
![]() 过狗完成 (责任编辑:蜗蜗侠) |