刚刚做到这道题的时候以为就只是一个简答的文件上传,结果发现自己上传的图片马被拦截了,发现不能有<?符合,然后改成,但最后不知道该怎么弄,无奈自己太菜,只能看大佬writeup(做题不是关键,学习知识点才是重要的)。
这里学习到了一个php的配置文件.user.ini,简单来说,这个文件可以配置auto_append_file、auto_prepend_file这两个参数,它们的意思分别是指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。 使用方法很简单,直接写在.user.ini中。
具体详见在这里
所以当我们知道这个配置文件后应该就知道该怎么做了
1、首先构造.user.ini文件,然后配上文件头上传。
2、其次上传成功后构造自己的图片马上传,注意这里一句话木马是要构造成script标签的,我上面确实上传成功了,但是不知道为啥连不上,所以这里就是利用配置文件,然后将auto_prepend_file=test.jpg,这里的test.jpg为我们要上传的图片马,然后随便利用蚁剑连一个同目录下的一个已知页面即连上。
实践部分
注意我是在linux环境下操作的,所以以 . 开头的文件都会作为隐藏文件,所以这里上传要先随便上传一个文件,然后抓包进行修改为.user.ini文件,上图为我修改后的结果。
可以看到 .user.ini文件上传成功,接着我们需要构造图片马
这里为我的一句话木马
在windows下构造图片马
图片马上传成功,注意这里要在图片前面加上GIF 89A图片头,以防图片上传不成功
接下来开始根据给出目录开始蚁剑连接
连接成功,成功获取flag