内容简介:原作者为 SQLMap 编写了一些脚本,可以在 subversion 存储库的最新开发版本中找到:篡改脚本的重点在于是使用特殊方法修改请求来避免 WAF 的检测,在某些情况下,可能需要将若干个脚本组合起来一起绕过 WAF。有关篡改脚本的完整列表,请参照
Web 应用防火墙已经成为众多企业的安全解决方案,然而还是有许多公司 经常忽略了一些比较实际的漏洞,仅仅依靠防火墙来进行保护。不幸的是,大多数(不是所有)的防火墙都可以被绕过,在这片文章中,我将会演示如何使用 SQLMap 的一些功能来绕过 WAF / IDS。
原作者为 SQLMap 编写了一些脚本,可以在 subversion 存储库的最新开发版本中找到: svn checkout 。
篡改脚本的重点在于是使用特殊方法修改请求来避免 WAF 的检测,在某些情况下,可能需要将若干个脚本组合起来一起绕过 WAF。有关篡改脚本的完整列表,请参照 https://svn.sqlmap.org/sqlmap/trunk/sqlmap/tamper/ 。
我将要演示的第一个脚本是 space2hash.py 和 space2morehash.py ,它们可以与 MySQL 一起使用(依然没有在MSSQL上进行尝试)。这些脚本将所有空格替换为使用随机文本来截断注释,脚本的扩展版本( space2morehash.py )还将在某些函数名称和括号之间添加注释。
要开始使用篡改脚本,需先使用 –tamper 参数,后面再加上脚本的名称。在本文的示例中,我将使用以下命令:
sqlmap -u http://192.168.0.107/test.php?id=1 -v 3 --dbms "MySQL" --technique U -p id --batch --tamper "space2morehash.py"
如图1所示,在脚本中使用了 %23randomText%0A 来替换注入中的空格,当然这是经过 URL 编码的。部分函数如: CHAR(), USER(), CONCAT() 都变为 FUNCTION%23randomText%0A() ,因为它们并没有出现在 IGNORE_SPACE_AFFECTED_KEYWORDS 的黑名单中。这是因为 MySQL 的 函数名称的解析 以及它是如何处理函数的调用和标识符的。
另外两个替换空格的脚本是 space2mssqlblank.py 和 space2mysqlblank.py 。 MySQL 允许字符 09, 0A-0D, A0 被用作空格,而 MSSQL 允许的字符范围要更加的宽,包括从 01-1F 。
接下来我们有一些乱码的脚本: charencode.py 和 chardoubleencode.py 。这些脚本对于绕过不同的关键字过滤非常有用,例如,当检测到 table_name 且无法绕过它时。
如果 Web 应用的 URL 由于某些原因解码了请求,则 chardoubleencode.py 脚本就可以派上用场。
此外,如果有的应用是用 ASP / ASP.NET 编写的话,则 charunicodeencode.py 和 percentage.py 脚本就可以用于隐藏真正有效的 payload。
ASP的一个有趣特性就是可以在字符之间添加任意数量的百分号。例如, AND 1=%%%%%%%%1
就十分有效!
“总之,我只是展示了一部分的脚本,我强烈建议你们在使用前要对其进行测试,因为每个脚本可以在不同的情况下使用。”
*本文源自: websec ,由大学新生Bai 翻译整理,转载请注明来自 Freebuf
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring in Action
Craig Walls / Manning Publications / 2011-6-29 / USD 49.99
Spring in Action, Third Edition has been completely revised to reflect the latest features, tools, practices Spring offers to java developers. It begins by introducing the core concepts of Spring and......一起来看看 《Spring in Action》 这本书的介绍吧!
URL 编码/解码
URL 编码/解码
RGB HSV 转换
RGB HSV 互转工具