freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

如何使用SQLMap脚本绕过Web应用防火墙
天真蓝 2019-04-06 09:00:50 809966

Web 应用防火墙已经成为众多企业的安全解决方案,然而还是有许多公司经常忽略了一些比较实际的漏洞,仅仅依靠防火墙来进行保护。不幸的是,大多数(不是所有)的防火墙都可以被绕过,在这片文章中,我将会演示如何使用 SQLMap 的一些功能来绕过 WAF / IDS。

原作者为 SQLMap 编写了一些脚本,可以在 subversion 存储库的最新开发版本中找到:svn checkout

篡改脚本的重点在于是使用特殊方法修改请求来避免 WAF 的检测,在某些情况下,可能需要将若干个脚本组合起来一起绕过 WAF。有关篡改脚本的完整列表,请参照https://svn.sqlmap.org/sqlmap/trunk/sqlmap/tamper/

我将要演示的第一个脚本是space2hash.pyspace2morehash.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:运行脚本 space2morehash.py

如图1所示,在脚本中使用了%23randomText%0A来替换注入中的空格,当然这是经过URL编码的。部分函数如:CHAR(), USER(), CONCAT() 都变为 FUNCTION%23randomText%0A() ,因为它们并没有出现在IGNORE_SPACE_AFFECTED_KEYWORDS的黑名单中。这是因为MySQL函数名称的解析以及它是如何处理函数的调用和标识符的。

另外两个替换空格的脚本是space2mssqlblank.pyspace2mysqlblank.pyMySQL允许字符 09, 0A-0D, A0 被用作空格,而MSSQL允许的字符范围要更加的宽,包括从 01-1F

图2:space2mssqlblank.py 使用不同的字符作为空格

接下来我们有一些乱码的脚本:charencode.pychardoubleencode.py 。这些脚本对于绕过不同的关键字过滤非常有用,例如,当检测到 table_name 且无法绕过它时。

图3:charencode.py  可用于绕过关键字检测

如果 Web 应用的 URL 由于某些原因解码了请求,则 chardoubleencode.py 脚本就可以派上用场。

图4:当应用程序解码请求时,可以使用 chardoubleencode.py

此外,如果有的应用是用 ASP / ASP.NET 编写的话,则 charunicodeencode.pypercentage.py 脚本就可以用于隐藏真正有效的 payload。

图5:charunicodeencode.py 使用 Unicode 编码模糊注入

ASP 的一个有趣特性就是可以在字符之间添加任意数量的百分号。例如,AND 1=%%%%%%%%1 就十分有效!

图6:每个字符之间的任意数量百分号在 ASP 中有效

“总之,我只是展示了一部分的脚本,我强烈建议你们在使用前要对其进行测试,因为每个脚本可以在不同的情况下使用。”

*本文源自:websec ,由大学新生Bai 翻译整理,转载请注明来自 Freebuf

# waf # 绕过
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 天真蓝 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
渗透集锦
天真蓝 LV.3
  • 4 文章数
  • 4 关注者
Duo的双因素验证绕过
2021-07-03
数字时代的性爱:智能情趣玩具能有多安全?
2021-05-14
十三款流行无线黑客工具介绍
2019-02-24