upload-labs(1-7)关

upload-labs源码地址:https://github.com/c0ny1/upload-labs

第一关 前端js验证

如果上传php文件,不允许
upload-labs(1-7)关_第1张图片

f12,查看js代码,删掉
或者burp
upload-labs(1-7)关_第2张图片
upload-labs(1-7)关_第3张图片
把png文件改php文件
upload-labs(1-7)关_第4张图片
打开文件,用菜刀或蚁剑连(其实也可以phpinfo的,不需连,打开文件看效果)

第二关 MIME验证
用burp与第一关类似,仅判断content-type中的类型,故将content-type改为图片类型image/jpeg、image/png、image/gif

第三关 特色后缀绕过黑名单
不允许上传.asp,.aspx,.php,.jsp后缀的文件,可以上传.php、.phtml、.phps、.php5、.pht等类似的格式来绕过
upload-labs(1-7)关_第5张图片
虽然我们上传成功了,但是 phpinfo.php5 却不能解析,要正常解析还需要修改Apache配置文件
AddType application/x-httpd-php .php .phtml .phps .php5
upload-labs(1-7)关_第6张图片
还有可能要这样
upload-labs(1-7)关_第7张图片

第四关 .htaccess绕过
禁止上传了很多的后缀文件,但是:没有过滤 .htaccess 等类似的文件
制作.htaccess文件
windows需要在cmd中改文件名(先建立一个1.txt文件,文件里写SetHandler application/x-httpd-php,此伪静态规则的意思就是:所有文件都会解析为php,保存;命令rename 1.txt .htaccess)
再上传图片或类似.php9999的文件

第五关 PHP文件解析漏洞
学习https://www.bilibili.com/video/BV1C7411T75F这个视频
upload-labs(1-7)关_第8张图片
upload-labs(1-7)关_第9张图片
建立一个文件upload-labs(1-7)关_第10张图片
upload-labs(1-7)关_第11张图片
upload-labs(1-7)关_第12张图片
upload-labs(1-7)关_第13张图片
.user.ini文件的内容就是把pass5.png中的代码放入到该目录中的.php的文件中,回显出来,该目录中正好预备了readme.php文件,打开readme.php文件,复现。

第六关 大小写绕过
本pass禁止上传.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf|.htaccess后缀文件!
但是,没有将后缀进行大小写统一
upload-labs(1-7)关_第14张图片
在Linux没有特殊配置的情况下,这种情况只有windows可以,因为windows会忽略大小写
真实环境看不了源码,burp爆破吧
upload-labs(1-7)关_第15张图片
upload-labs(1-7)关_第16张图片

第七关 空格绕过
其实上传php7文件也是可以的(第五关也ok)
本pass禁止上传.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf后缀文件!
upload-labs(1-7)关_第17张图片
Win下xx.jpg[空格] 或 xx.jpg. 这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点。

你可能感兴趣的:(upload-labs(1-7)关)