什么是WAF
总结使用WAF的原因
-
深度防御策略。 -
检测并阻止针对易受攻击的Web应用程序的攻击。 -
防范各种漏洞。 -
保护公司的网络环境。
受欢迎的WAF供应商
如何找到WAF类型和真实IP地址
如何证明WAF已经正确设置
-
WAF使用标准端口80、443、8000、8008、8080和8088端口。 -
WAF在请求中设置自己的cookie。 -
WAF将自己与单独的标头关联。 -
WAF在服务器标头中公开自己。 -
WAF在响应内容中公开自己。 -
WAF会根据恶意请求以唯一的响应代码进行响应。 -
从浏览器发送标准GET请求,拦截并记录响应头(特定的cookie)。 -
从命令行发送请求(例如cURL),然后检查响应内容和标头。 -
将GET请求发送到随机打开的端口,并检查可能暴露WAF身份的标语。 -
尝试一些SQL注入playload,例如:“”或1 = 1-登录表单或忘记密码。 -
在某些输入字段中尝试使用XSS有效playload,例如<script> confirm()</ script>。 -
尝试将../../../etc/passwd添加到URL地址中的随机参数中。 -
将URL末尾的一些有效playload(例如“ OR SLEEP(5)OR)”添加到url作为随机参数。 -
使用过时的协议(例如HTTP / 0.9)发送GET请求(HTTP / 0.9不支持POST类型的查询)。 -
根据不同类型的交互检查服务器标头。 -
将原始的FIN&RST数据包发送到服务器并识别响应。 -
边通道攻击–检查请求和响应内容的计时行为。
检查和绕过WAF的工具
绕过WAF的技术
1.大小写转换技术
-
组合大写和小写字符以创建有效的有效内容。
2. URL编码技术
-
使用%编码/ URL编码对普通有效载荷进行编码。 -
您可以使用Burp。它具有编码器/解码器工具。
3. Unicode技术
-
Unicode编码的ASCII字符为我们提供了绕过WAF的绝佳变体。 -
对整个或部分有效载荷进行编码以获得结果。
4. HTML编码技术
-
Web应用将特殊字符编码为HTML。对它们进行编码和渲染。 -
基本的绕过情况,带有HTML编码的数字和通用编码。
5.混合编码技术
-
这样的规则通常倾向于滤除特定类型的编码。 -
混合编码有效载荷可绕过此类过滤器。 -
换行符和选项卡,进一步增加了混淆。
tt p://6 6.000146.0x7.147/">XSS</A>
6.使用注释技术
-
注释使标准有效载荷向量模糊不清。 -
不同的有效载荷具有不同的混淆方式。
-
在攻击字符串中间插入注释。例如,/ *!SELECT * /可能会被WAF忽略,但会传递到目标应用程序并由mysql数据库进行处理。
7.双重编码技术
-
Web应用程序防火墙策略倾向于对字符进行编码以保护Web应用程序。 -
较差的过滤器(没有递归过滤器)可以通过双重编码来绕过。
8.通配符混淆技术
-
各种命令行实用程序使用全局模式来处理多个文件。 -
我们可以更改它们以运行系统命令。
-
编程语言具有不同的连接模式和语法。 -
这使我们能够生成可以绕过许多过滤器和规则的有效载荷。
9.垃圾字符技术
-
WAF可以轻松过滤掉简单的有效负载。 -
添加一些垃圾字符有助于避免检测(仅在特定情况下)。 -
此技术通常有助于混淆基于正则表达式的防火墙。
10.换行技术
-
许多具有基于正则表达式的WAF可以有效地阻止许多尝试。 -
换行技术(CR和LF)可以破坏防火墙的正则表达式并绕过某些东西。
11.未初始化的变量技术
-
可以使用未初始化的bash变量规避基于正则表达式的错误过滤器。 -
该值等于null,其作用类似于空字符串。 -
Bash和Perl允许这种解释。
-
基本要求:
/bin/cat /etc/shadow -
混淆负载:
/bin/cat$u /etc/shadow$u
-
基本要求:
/bin/cat /etc/shadow -
混淆负载:
$u/bin$u/cat$u $u/etc$u/shadow$u
-
基本要求:
/bin/cat /etc/passwd -
混淆负载:
$aaaaaa/bin$bbbbbb/cat$ccccccc $dddddd/etc$eeeeeee/passwd$fffffff
12.制表符和换行技术
-
选项卡通常有助于规避防火墙,尤其是基于正则表达式的防火墙。 -
当正则表达式需要空格而不是制表符时,制表符可以帮助打破WAF正则表达式。
13.令牌破坏者技术
-
对令牌的攻击企图打破使用令牌中断器将请求拆分为令牌的逻辑。 -
令牌破坏器是允许影响字符串的元素和某个令牌之间的对应关系的符号。 -
使用令牌破坏器时,我们的请求必须保持有效。 -
案例研究:令牌生成器的未知令牌
-
案例研究:解析器的未知上下文(注意无上下文的括号)
14.其他格式的混淆
-
许多Web应用程序支持不同的编码类型,并且可以解释编码。 -
我们始终需要将有效负载混淆为WAF不支持的格式,但是服务器会走私我们的有效负载。
-
IIS 6、7.5、8和10允许IBM037字符解释。 -
发送带有查询的编码参数。
HOST: target.org
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 27
id2='union all select * from users--
HOST: target.org
Content-Type: application/x-www-form-urlencoded; charset=ibm037
Content-Length: 127
%89%84%F2=%7D%A4%95%89%97%95%40%81%93%94%40%A2%85%93%85%84%A3%40%5C%40%86%99%97%94%40%A4%A2%85%99%A2%60%60
觉得不错点个“赞”、“在看”,支持下小编
本文始发于微信公众号(乌雲安全):干货|waf绕过的14种方法总结及工具介绍
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论