专栏名称: 黑白之道
黑白之道,普及网络安全知识!
目录
相关文章推荐
丽水移动  ·  30GB/20GB/10GB!流量福利来袭! ·  昨天  
厦门广电  ·  董宇辉发声:从来没有! ·  昨天  
秦楚网  ·  彻底凉凉!突发公告:集体下架 ·  2 天前  
秦楚网  ·  彻底凉凉!突发公告:集体下架 ·  2 天前  
51好读  ›  专栏  ›  黑白之道

实战|攻防中如何利用 WAF 缺陷进行绕过

黑白之道  · 公众号  · 互联网安全  · 2024-10-01 09:20

正文


作者:奇安信攻防社区(中铁13层打工人)

来源:https://forum.butian.net/share/3639

如侵权请联系stonefor345删除。



1

利用WAF的缺陷绕过



一、利用waf性能缺陷

1.1 利用waf性能缺陷-垃圾字符填充

对于通用性较强的软WAF来说,不得不考虑到各种机器和系统的性能,故对于一些超大数据包、超长数据可能会跳过不检测

因此可以填充大量垃圾字符来逃避waf对数据包的检测如下

1.2 利用waf性能缺陷-发送大量请求包

可以采取高并发的攻击手段,waf同样出于性能考虑可能会直接放行部分数据包。

二、利用waf适配组件的缺陷


由于后端web容器、中间件、数据库、脚本语言的多样性,waf很难覆盖全,容易导致waf解析不了而后端可以正常解析读取导致的绕过


2.1 IIS+asp

在IIS+ASP的环境中,如果url中出现了百分号,但后面邻接的字符拼起来后又不在url编码表之内的话,ASP脚本处理时会将其忽略

例如假设有如下请求xxx.asp?id=1 union se%lect 1,2,3,4 fro%m adm%in

waf规则不严放行后,后端由于该特性成功处理执行了xxx.asp?id=1 union select 1,2,3,4 from admin导致绕过

2.2 TOMCAT

tomcat的特性也可以构造出许多绕过的方式,可以参考 这篇文章


https://y4tacker.github.io/2022/06/19/year/2022/6/%E6%8E%A2%E5%AF%BBTomcat%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%B5%81%E9%87%8F%E5%B1%82%E9%9D%A2%E7%BB%95waf%E6%96%B0%E5%A7%BF%E5%8A%BF/


参数前后添加空白字符绕过

filename="1.jsp" 的filename字符左右可以加上一些空白字符 %20 %09 %0a %0b %0c %0d %1c %1d %1e %1f ,比如 %20filename%0a="1.jsp" 这样导致waf匹配不到我们上传⽂件


utf-16、cp037等各种编码绕过utf-16



cp037(原始payload为' and (7=len(db_name())) and 'a' = 'a)



2.3 json下的unicode编码

三、利用waf适配协议的缺陷

3.1 畸形请求 (与Web应用所处的中间件有关,在部分中间件下不适用)

将HTTP请求头变为随机字符串例如 xxxxT

请求方法后加一个table等空字符

使用get请求方法但带上post体(需要服务端能正常接受)

3.2 分块传输

仅仅适用于post传输方法

分块传输不少waf现在也都可以识别了,可以结合waf性能缺陷的思路综合利用- 延时分块传输

具体使用可以参考该项目


http://github.com/c0ny1/chunked-coding-converter


3.3 非预期请求方式

get改为post、Content-Type: application/x-www-form-urlencoded改为multipart/form-data等


2

绕过WAF访问服务器


寻找真实ip绕过云waf

云waf通过配置NS或者CNAME记录,使得对网站的请求报文优先经过WAF主机,经过WAF主机过滤之后,将被认为无害的请求报文再送给实际的网站服务器进行请求,此时只要找到服务器的真实ip,修改host为服务器真是ip即可绕过云waf

常见寻找真实ip的方式有如下几种

1.证书信息查询 https://myssl.com/

2.dns历史解析记录

3.搜集子域名ip c段(考虑到费用问题,一些子域名并不会部署)

4.超级ping

......

寻找没有部署waf的nginx反代机器

当waf在nginx服务器上部署,且存在nginx集群时,可以试试尝试寻找能反代服务却又没用部署waf的机器访问进行绕过

以下面这个为例,测试某接口发现被拦截

搜集ip信息为xxx.xxx.200.1xx







请到「今天看啥」查看全文