SUCTF 2019 CheckIn 作题有感

一.SUCTF 2019 CheckIn

刚开始打开这道题以为只是一道普通的文件上传,
先是试了试php一句话木马,提示
在这里插入图片描述
这里显示 是对 在这里插入图片描述
我是小白也不懂这个啊,去百度了一下。
二. exif_imagetype

SUCTF 2019 CheckIn 作题有感_第1张图片
简单来说就是根据文件头来判断文件的类型
下边说下常见的几种类型
1.JPG:FFD8FFFE00
2.GIF89a:474946383961
3.PNG:89504E470D0A
然后对一句话木马前加了GIF的文件头发现还是不行,能上传成功,但是是把他当做图片处理了而不是一个文件。
然后就去翻阅大佬们的wp 学到了一个东西
**

.user.ini

转自https://xz.aliyun.com/t/6091
**

我们先在php手册上看一下对.user.ini的介绍:SUCTF 2019 CheckIn 作题有感_第2张图片

也就是说我们可以在.user.ini中设置php.ini中PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置,而且只要是在使用 CGI/FastCGI 模式的服务器上都可以使用.user.ini

在p牛的文章中提到了两个有趣的设置:auto_prepend_file和auto_append_file

我们再到手册中看了下这两个设置的定义:
SUCTF 2019 CheckIn 作题有感_第3张图片
大致意思就是:我们指定一个文件(如a.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),类似于在index.php中插入一句:require(./a.jpg);

这两个设置的区别只是在于auto_prepend_file是在文件前插入;auto_append_file在文件最后插入(当文件调用的有exit()时该设置无效)

重新看题目

这样看来 我们先设立一个.user.ini文件,内容为

GIF89a
auto_prepend_file=text.jpg

这样一来就是将text.jpg包含到要执行的php文件中了SUCTF 2019 CheckIn 作题有感_第4张图片
先上传.user.ini文件.然后在建立我们的text.jpg文件(图片马)

GIF89a

上传上去
SUCTF 2019 CheckIn 作题有感_第5张图片然后打开所在目录
http://d75c04fa-bd6a-46f9-b467-4f3cee09e85c.node3.buuoj.cn/uploads/48cd8b43081896fbd0931d204f947663/就行
在这里插入图片描述

总结

1.对有

你可能感兴趣的:(SUCTF 2019 CheckIn 作题有感)