10.文件上传漏洞之WAF拦截绕过
本文最后更新于139 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

干货 | 最全的文件上传漏洞之WAF拦截绕过总结_文件上传数据包-CSDN博客

WAF绕过

1.WAF绕过解释

waf绕过其实就是将数据包截获到,对里面的内容进行解析,比如对文件的后缀名就判断是否在相应的黑名单中,文件内容中是否存在webshell代码。
  总的来说文件上传都是在数据包中进行各种操作来进行绕过。

2.上传参数名解析

Content-Disposition :一般可更改
  name:表单参数值,不能更改
  filename:文件名,可以更改
  Content-Type:文件MIME,视情况更改
Pasted image 20241114205606.png

3.绕过方式

3.1.数据溢出

5.3.1.1.form-data与name之间
  在form-data;与name=“upload_file”; filename=“2.php"之间添加大量的垃圾数据,可以边添加边测试直到上传上去,主要添加的垃圾数据需要在后面添加一个”;"进行结尾。
  例如:
  form-data;sadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasA; name="upload_file"; filename="2.php"
Pasted image 20241114205702.png

3.1.2.name与filename之间
  当然这里不单单可以插入在form-data;与name=“upload_file”; filename="2.php"之间,也可以在name=“upload_file”; 与filename="2.php"之间。但是数据不能乱插入,比如你插在2.php中,那肯定不行,一般情况下,文件名称长度都可能存在限制,并且太长也上传不上去。
  例如:
Content-Disposition: form-data; name="upload_file"; sadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasAsadasA; filename="2.php"

3.2.符号变异

3.2.1.filename符号变异

符号变异也就是将单双引号变换使用,或者单双引号缺失一部分进行使用,或者不使用单双引号来进行绕过。目前测试好像是无法通过了。
Content-Disposition: form-data; name="upload_file"; filename="2.php
Content-Disposition: form-data; name="upload_file"; filename=’2.php
Content-Disposition: form-data; name="upload_file"; filename=2.php
Pasted image 20241114205802.png

3.2.2.form-data符号变异

Content-Disposition:"form-data"; name=upload_file; filename="2.php"
Content-Disposition:’form-data’; name="upload_file"; filename=’2.php’

3.3.数据截断

3.3.1.回车换行

通过换行来实现绕过,但是中间不能有空行。

Pasted image 20241114205842.png

 例如:
Content-Disposition: form-data; name="upload_file"; filename="2.
p
h
p"

3.3.2.分号截断

若WAF匹配文件名到分号截止,则可以绕过。
Pasted image 20241114205922.png

3.4.字段名变换

3.4.1.大小写变换
  对这三个字段进行大小写进行变换,比如将name换成Name、Content-Disposition换成content-disposition等等。

3.4.2.顺序颠倒
  针对name和filename这两个字段,我们可以尝试交换name和filename的顺序。(由于有规定Content-Dispositon必须在前面,因此我们不能修改该字段的内容)

3.5.重复数据

通过设置多个参数进行匹配,避免被匹配到。
Content-Disposition: form-data; name="upload_file";filename="2.jpg";filename="2.jpg";filename="2.jpg";filename="2.jpg";……filename="2.php";

原文可以看
文件上传漏洞详解-CSDN博客
的5.WAF绕过

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇