文件上传闯关1-3关


PS:环境基于upload-labs(21关版本)

1、PASS-01:

学习目的,了解文件上传前端验证原理。

解题思路:从上述代码看出,上传文件验证在客户端完成,符合规则后再上传至服务器。

解题思路:前端验证一般通过JavaScript语言实现,

思路一:在浏览器上禁用javascript

google:

可禁用全部(一棍打死)或者设置黑白名单实现浏览器禁用javascript

 再尝试上传后门脚本,此时即可成功。

思路二:将html文件下载到本地,删除javascript段代码后,通过action属性重定向到服务器。

 删除图中位置代码,并添加action属性

 源代码为:





upload-labs








  1. 任务


    上传一个webshell到服务器。




  2. 上传区



    请选择要上传的图片:















提 示关闭









 点击上传后

 成功。

2.PASS-2

了解文件上传白名单后端MIME文件类型验证。

 从上述源代码中可看出,本关是通过文件上传白名单验证实现,调用文件类型去匹配。通过抓包可以了解

上传图片类型为image/png

 上传PHP文件类型为application/octet-scream

解题思路:通过burpsuite代理修改文件类型实现绕过。

3.PASS-3

思路一:学习文件上传黑名单文件名验证方式。

 通过代码可以知道,本关是通过验证黑名单文件名实现,解题思路,通过burpsuite代理将后门文件名修改实现绕过。

 思路二:源代码中只是限制php、jsp等文件上传,可通过替换文件后缀来实现绕过。php语言能执行php3和phphtml后缀格式文件,可通过php3和phphtml绕过。