> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [mp.weixin.qq.com](https://mp.weixin.qq.com/s/K4mZK2DG6aPRZVewjaN1PA)
**什么是 WAF**
-----------
Web 应用防火墙是通过执行一系列针对 HTTP/HTTPS 的安全策略来专门为 Web 应用提供保护的一款产品,旨在检测和阻止 Web 应用程序上的网络攻击。WAF 作用于 OSI 模型的应用层。
渗透测试时,首先要确定 web 应用的真实 IP 地址,WAF 类型,然后尝试绕过 WAF。
**总结使用 WAF 的原因**
----------------
* 深度防御策略。
* 检测并阻止针对易受攻击的 Web 应用程序的攻击。
* 防范各种漏洞。
* 保护公司的网络环境。
**受欢迎的 WAF 供应商**
--------------------------------

**如何找到 WAF 类型和真实 IP 地址**
------------------------
1. 使用 shodan.io 或 censys.io
2. 搜索 SPF 记录和 TXT 记录。
SPF 和 TXT 记录可能存在原始的 IP 地址。
3. 也可以在 “历史数据” 中进行检索,在旧记录中可能具有原始 IP。
查找域名、IP 地址等历史数据:securitytrails.com
### **如何证明 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,例如
绕过的技术:
基本要求:
SELECT * FROM * WHERE OWNER = 'NAME_OF_DB'
绕过的技术:
sELeCt * fRoM * wHerE OWNER = 'NAME_OF_DB'
URL 中的示例:
http://example.com/index.php?page_id=-1 UnIoN SeLeCT 1,2,3,4
### **2. URL 编码技术**
* 使用%编码 / URL 编码对普通有效载荷进行编码。
* 您可以使用 Burp。它具有编码器 / 解码器工具。
被 WAF 阻止: