目录
注:
搭建:
pass-01(前端绕过)
pass-02(后缀绕过)
pass-03(黑名单绕过)
pass-04(Apache解析漏洞\.htaccess文件绕过)
注:
- 本项目提供的
writeup
只是起一个参考作用。 - 实在没有思路时,可以点击查看提示。
- 如果黑盒情况下,实在做不出,可以点击
查看源码
。
搭建:
https://github.com/c0ny1/upload-labs
pass-01(前端绕过)
可以直接上传木马看看情况(因为php文件肯定是上传不了的,主要看看报错情况):
看着挺眼熟,感觉就像只是在前端js文件中做限制,bp抓包看看:
发现抓不到,那就是在前端做验证了,审查元素发现存在一个checkfile函数,顾名思义就是一个检查函数:
删掉再上传即可:
找到文件的地址,右键也好,F12也罢均可,蚁剑连接,没有问题:
在下一关开始前最好点击一下右上角的清空上传文件,把前一关上传的小🐎清空一下,免得造成混淆。
pass-02(后缀绕过)
同样上传一个php看看:
提示类型不正确,应该是过滤了后缀名,抓包修改后缀再上传,这里上传前需要将自己的🐎的后缀改成这里允许的后缀,我这里改成jpg,然后再用bp抓包再次修改后缀名后绕过上传:
成功上传,并且也看见了文件地址,蚁剑连接,没有问题:
再提一下,右上角清空上传文件。
pass-03(黑名单绕过)
还是一样,直接上传🐎看看:
这里限制了一部分文件,属于黑名单绕过,还有一些文件后缀并没有限制,如.php3、.php4、.php5、.pht、.phtm、.phtml等,那直接修改我们的🐎后缀名为这些其中一个即可,但我这卡了一下,即使我上传的.php4文件成功了,但也无法执行,网上查了一下说要在httpd.conf配置文件中以下位置添加:
<IfModule>
...
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php .phtml .php3 .php4 .php5 .phps .pht .phtm
</IfModule>
当我添加了之后,发现还是不能解析,重启也没用,接着找到了一位大佬曾经也遇到跟我一样的问题,简而言之问题就是,小皮v8.1的版本没有TS版本的php,全是nts:
最简单的解决办法,就是换一个版本,小皮v2018有:
贴个下载链接。
问题解决,继续做题,在httpd.conf文件中添加解析语句后,上传黑名单之外的文件(上传可以选择先修改后缀再上传或者先上传再使用bp修改):
蚁剑连接成功:
注:若要判断上传后的文件能不能执行,可以直接访问🐎地址,正常情况下就是一片空白,无任何反应,如果出现下载,那就是没有执行。
pass-04(Apache解析漏洞\.htaccess文件绕过)
apache解析漏洞:apache读取后缀从右向左,若遇见不认识的后缀名便向前继续读取,直到认识的后缀。
影响版本:apache 2.4.x。
在上传文件的后面再随意加一个后缀即可上传成功,再通过apache解析漏洞成功执行:
蚁剑成功连接: