Web应用防火墙(WAF)是一种用于保护Web应用免受各种攻击(如SQL注入、跨站脚本攻击等)的安全设备或服务。尽管WAF在很多情况下能有效防护Web应用,但其并非无懈可击,黑客有时可以通过多种技巧绕过WAF的检测。以下是一些常见的WAF绕过技巧的示例和详细说明:
1. 编码绕过WAF通常会对请求的参数进行安全过滤和检查,但如果对输入内容进行编码,可能会绕过WAF的检测。
示例: URL编码:攻击者可以通过对输入进行URL编码,例如把空格替换为%20,或者将其他特殊字符进行类似处理,从而绕过WAF的关键字匹配。 输入:1=1编码后:1%3D1Unicode编码:WAF可能无法处理所有形式的Unicode字符,攻击者可以通过Unicode编码字符来绕过WAF。 输入:<script>alert('XSS')</script>编码后:%3Cscript%3Ealert%28%27XSS%27%29%3C/script%3E 2. 分割攻击攻击者通过分割恶意payload,以便WAF无法在数据中检测到完整的攻击。
示例: SQL注入分割:例如,攻击者可能通过插入SQL注入的部分和正常的SQL代码分割,使得WAF检测不到完整的注入攻击。 输入:' OR 1=1 --分割后:' OR 1=1' -- 3. 混淆关键字攻击者可以通过混淆敏感的关键字,绕过WAF的规则。
示例: 使用大小写混淆:很多WAF通过匹配敏感关键字来过滤请求,攻击者可以通过改变字母的大小写绕过这些规则。 输入:<scriPt>alert('XSS')</scriPt>分词法:攻击者可以通过将关键字分成多个部分并插入一些无害的字符,来绕过WAF。 输入:<scr"+"ipt>alert('XSS')</"+"scr"+"ipt> 4. 使用合法字符替代恶意字符攻击者通过将一些恶意字符替换为WAF无法识别的合法字符,绕过WAF的检测。
示例: 使用多种语法来绕过SQL注入过滤:例如,WAF可能会过滤SELECT关键字,但攻击者可以使用其他语法来代替。 输入:UNION SELECT NULL, NULL, NULL改写后:UNION/*comment*/SELECT NULL,NULL,NULL 5. HTTP头注入WAF通常检测HTTP请求中的常规内容(如URL、参数、Cookie等),但某些WAF并不总是检查HTTP头部的内容。攻击者可以利用这种漏洞进行攻击。
示例: 通过User-Agent或Referer注入恶意代码:攻击者可以利用User-Agent或Referer字段注入恶意代码,这些字段往往不被WAF严格检测。 输入:User-Agent: <script>alert('XSS')</script> 6. 使用不同的HTTP方法WAF通常仅检查常见的HTTP方法(如GET、POST),而忽视了其他方法。攻击者可能利用这些其他HTTP方法进行绕过。
示例: 使用PUT或PATCH方法:某些WAF可能未对PUT或PATCH请求进行严格检查,攻击者可以通过这些方法上传恶意脚本或文件。 请求:PUT /upload/malicious.php HTTP/1.1 7. Web Shell上传一些WAF可以检测文件上传漏洞,但攻击者可以通过变通方法上传恶意Web Shell。
示例: 文件后缀绕过:攻击者可能将PHP Web Shell伪装成图片文件上传(如.jpg或.png),WAF检测不到文件内容,只对后缀名进行过滤。 上传文件:shell.jpg,但文件内部仍然是PHP脚本。 8. 绕过WAF的时间延迟某些攻击方法通过延迟响应的时间来绕过WAF的检测。这种方法通常用于反射型XSS和基于时间的盲注。
示例: 基于时间的SQL注入:攻击者通过引入延时函数来测试是否能够绕过WAF的防御。例如使用SLEEP语句进行延时,WAF可能会忽略带有延时的请求。 输入:1' AND SLEEP(5)-- 9. 通过JavaScript执行攻击WAF通常过滤常见的HTML和JavaScript注入,但某些JavaScript代码可以绕过这些过滤。
示例: 事件处理程序绕过:攻击者可以利用JavaScript的事件处理程序(如onload、onmouseover等)来执行恶意代码。 输入:<img src="x" onerror="alert('XSS')"> 10. 混淆SQL查询一些攻击者通过改变SQL查询的结构,使得WAF无法正确识别恶意查询。
示例: 使用注释绕过:攻击者可以在SQL注入的代码中加入注释符号(--)来绕过WAF的检测。 输入:' OR 1=1 -- 总结以上列举了常见的WAF绕过技巧,包括编码绕过、关键字混淆、HTTP头注入、文件上传绕过等。WAF虽然能有效提高Web应用的安全性,但随着攻击技术的发展,WAF绕过技术也不断得到创新。要增强Web应用的安全性,除了依赖WAF外,还需要结合其他安全措施,如输入验证、输出编码、及时更新安全补丁等,形成多层防御。
如果你对网络安全入门感兴趣,那么你需要的话
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。