Pass-01:前端验证
允许上传文件类型Jpg.png.gif
使用了js脚本验证代码进行检测
一:burpsuite剔除响应js:对于js前端验证,直接删除js代码之后就可以绕过js验证
1.这里的remove all javascript会在响应之中会删除响应的js
2.在burp开启remove all javascript之后在系统配置代理服务器
3.
4.
5.然后打开proxy intercept,使intercept状态为on,这时打开你的upload-labs,但在这里我使用本地地址并不能抓取文件内容,可以使用其他的ip地址,键入upload-labs,上传文件,burp成功抓取。
6.但通过源码我们知道,我们并不能上传php文件,这时我们就将php文件重命名为jpg文件。然后我们能成功上传,这时修改filename为php后缀,发送到repeater可以发现修改成功。然后返回proxy丢包,这时upload-labs上传成功。打开www.upload-labs的upload可以看到我们上传成功的php文件
Pass-02:MIME验证
1:我们选择上传一个php文件显示类型不正确,
源代码里有一句话
[‘type’] == ‘image/jpeg’)
那我们可一在用burp进行抓包后修改类型为image/jpeg
然后发送给repeater后throw,然后就能显示上传成功,我们看upload也有php文件
Pass-03:黑名单验证(特殊后缀)
这个可以用burp的intruder模块进行测试,在用burp进行抓包之后,右键将地址发送到intruder
然后点开intruder选择positions,然后选择PHP后缀,然后选择payload,选择add添加脚本呢后缀的字典,例如php4
然后点击start attack添加后缀长度,然后右键选择show response in browser
最后选择copy然后上传成功。