进入题目应该是个文件上传的题目。
那么上传的套路要么就是命令执行,getshell得到我们想要得到的东西
我们先随便上传一个图片看看
回显是
说明有(<?)在里面 这是<?php的语法
说明出题者想让我们不能使用php脚本语言。那我们可以使用别的
构造语言上传回显
他检查是否是图片用的是exif_imagetyepe 可以用GIF89a 欺骗绕过
修改为:
回显为:
成功绕过 已经上传成功。
我们看看这个目录
空的。。。
这。。。
有个目录附件。有提示 .user.ini文件
这里有个知识点
.user.ini可以开启后门
.user.ini
实际上就是一个可以由用户“自定义”的php.ini
,我们可以自定义除了PHP_INI_SYSTEM
以外的模式,在执行php代码之前,系统会对.user.ini
先做一个执行,然后才执行其他的php文件。
我们这边利用.user,ini
先执行auto_prepend_file
函数,auto_prepend_file
表示在php程序加载第一个php代码前加载的php文件,也就是先加载了qwq.jpg里面的文件,即一句话木马。
所以上传
auto_prepend_file=qwq.jpg
这句话相当于当前文件夹中的所有php文件都会包含qwq.jpg
所有先浏览器会先运行.uers.ini 把这个文件包含进去
初始化index.php就会显示flag
那么,我们可以猥琐地想一下,在哪些情况下可以用到这个姿势? 比如,某网站限制不允许上传.php文件,你便可以上传一个.user.ini,再上传一个图片马,包含起来进行getshell。不过前提是含有.user.ini的文件夹下需要有正常的php文件,否则也不能包含了。 再比如,你只是想隐藏个后门,这个方式是最方便的。
像这个就有index.php