博主最近在学习文件上传漏洞,把相关的姿势整理一下。
PASS-1
第一关是前端js验证,我们只需在客户端操作就可以了,按F12键查看源码,搜索form关键字,去掉οnsubmit=“return checkFile()”,然后就可以上传php文件了。
这里上传了内容为<?php phpinfo() ?>的php文件,上传后直接访问,如图
PASS-2
姿势:
MIME 类型:浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。
上传一个PHP文件,burp抓包,修改Content-Type为image/jpeg
再连接蚁剑就OK了
pass-3
如果服务端代码没有禁止一些后缀名的话,那么以php2、php3、php5、phtml、pht为后缀名的文件都会被解析为php文件。
此处上传了phpinfo.ph