关于这个靶场的通关秘籍网上有比我写的更好的,比如:upload-labs-master-文件上传靶场通关笔记我就不详细写了.
文件上传是一个很常见的功能,比如上传图片,视频和其他类型的文件。
文件上传的一般流程:
- html等前端选择文件,选择本地文件后进行提交
- 浏览器形成POST MultiPart报文发送到服务器
- 服务器中间件(如Tomcat、Weblogic等)接收到报文,解析后交给相关的后端代码进行处理
- 写入到文件中,生成文件名(PHP特有的方法:先生成临时文件,再根据后端代码将临时文件重命名移动到指定路径)
(贴的学长的,嘻嘻)
文件上传验证方式:
- 文件类型
- 文件扩展名
- 文件内容
笔记
第一关仅是在前端用js对文件扩展名进行验证,在浏览器端对js禁用就行。
第二关是验证MIME,用burp suite抓包,将Content-Type修改成图片的MIME类型。
从第三关到第十三关都是对文件后缀名进行检查,其中3~11关用到了黑名单的机制,而12、13关用得是白名单的机制,可以总结出几种绕过方式
- “.php”,".php5",".php4",".php3",".php2",".php1",".html",&#