文件上传闯关1-3关
PS:环境基于upload-labs(21关版本)
1、PASS-01:
学习目的,了解文件上传前端验证原理。
解题思路:从上述代码看出,上传文件验证在客户端完成,符合规则后再上传至服务器。
解题思路:前端验证一般通过JavaScript语言实现,
思路一:在浏览器上禁用javascript
google:
可禁用全部(一棍打死)或者设置黑白名单实现浏览器禁用javascript
再尝试上传后门脚本,此时即可成功。
思路二:将html文件下载到本地,删除javascript段代码后,通过action属性重定向到服务器。
删除图中位置代码,并添加action属性
源代码为:
任务
上传一个
webshell到服务器。
上传区
点击上传后
成功。
2.PASS-2
了解文件上传白名单后端MIME文件类型验证。
从上述源代码中可看出,本关是通过文件上传白名单验证实现,调用文件类型去匹配。通过抓包可以了解
上传图片类型为image/png
上传PHP文件类型为application/octet-scream
解题思路:通过burpsuite代理修改文件类型实现绕过。
3.PASS-3
思路一:学习文件上传黑名单文件名验证方式。
通过代码可以知道,本关是通过验证黑名单文件名实现,解题思路,通过burpsuite代理将后门文件名修改实现绕过。
思路二:源代码中只是限制php、jsp等文件上传,可通过替换文件后缀来实现绕过。php语言能执行php3和phphtml后缀格式文件,可通过php3和phphtml绕过。
