ctfshow文件上传题目wp

web151

提示了是前台的问题,看看有没有检测的js代码,没有找到直接可以删掉的,抓包发现抓不住,因为是前端检测,还没发包就被禁了。怀疑是检测文件后缀,那么把一句话木马更改为png后缀,然后上传的时候抓包修改文件名

改成1.php

蚁剑连接

web152

提示:后端校验要严密

这题和前一题的解法一样,我感觉是前一题没出好,或者是我太菜没发现,前一题应该是可以在前端页面上直接删掉检测代码就可以绕过的,但是一直没找到。

web153

提示:后端校验要严密

和上一题的提示一样

直接传php文件抓包还是抓不到,前端应该还是有限制,用上题的解法试试

改个大写就好了

但是发现无法被解析,访问报错页

应该是Nginx的原因,apache才可以,只能想别的办法

这里想到.htaccess文件绕过,但是他仅限于apache,所以想到另一个.user.ini他是用户自定义的php.ini,是对整个web服务起作用的,和.htaccess一样是目录的配置文件

于是我们生成一个.user.ini文件,内容为

1
auto_prepend_file = 1.png

.user.ini的文件名不方便存储到本地,并且ini后缀也抓不到包,先改成1.user.png然后再改包中的文件名

然后上传图片马1.png

然后访问/upload/index.php即可看到phpinfo

这里关于.usr.ini有几个关键点,

auto_prepend_file = 1.png 这个配置的意思就是在当前目录下的.php 文件包含 1.png 这个图片,其实就是文件包含

然后我们刚刚访问的是index.php文件,这是服务器上存在的一个php文件,因为我们无法上传php文件到服务器上,那么不能文件包含,所以需要这个index.php文件


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!