写题时遇到了这个问题,然后进行了学习。
.user.ini和.htaccess这两个配置文件,在配合文件上传漏洞时的作用很类似,都是当上传的文件受到各种限制时,只能上传.jpg结尾的图片马,随后上传配置文件让服务器对文件进行格式转换。除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER[\'DOCUMENT_ROOT\']
所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。
在php的配置项中
auto_prepend_file=01.gif
可写入.user.ini中,影响范围为该文件夹内的文件。其意思是指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。
下面举一个CTF题目的例子,[SUCTF 2019]CheckIn;
经过各种姿势的绕过尝试,发现都只能上传.jpg文件,这时利用.user.ini文件配合一个.jpg结尾的木马文件上传
此时访问同一文件内的index.php即被视为访问script.jpg,且作为php文件被解析,可利用文件上传漏洞getshell
请发表评论