----各位大神求给小弟点个关注,评论一下,我会持续分享资源给大家的------
题目知识点:
1. exif_imagetype
是一个用于判断图像类型的 PHP 函数。该函数读取图像的第一个字节并检查其签名,以确定图像的类型。它返回一个对应的常量,如果发现了恰当的签名,否则返回 FALSE
2.
user.ini 文件是一个文本文件,通常用于配置 PHP 应用程序的参数和设置。它通常位于 PHP 安装目录的根目录下,或者在特定的网站目录下。user.ini 文件包含了 PHP 的配置选项和值,每个选项和值都以等号(=)分隔。
user.ini 文件可以被视为一个用户自定义的 php.ini 文件。PHP 的默认配置文件是 php.ini,其中包含了大量的配置选项和值,用于控制 PHP 的行为和功能。但是,有时候我们可能需要根据自己的需求来修改或添加一些配置选项,这时就可以使用 user.ini 文件来覆盖或添加一些配置项。
使用 user.ini 文件的好处是它可以在不修改 php.ini 文件的情况下,为特定的 PHP 应用程序提供自定义的配置。这样可以避免对全局的 php.ini 文件进行修改,从而避免了潜在的冲突和问题
解题:
打开题目是一个文件上传,那么就想到了一句话木马于是上传php木马后缀为jpg
提示说不可以有<?那么可以使用幻头术该文件头然后用这个木马上传jpg然后在bp上修改后缀为ptml的文件再传也不行所以看大佬的wp知道了php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:
PHP_INI_SYSTEM、PHP_INI_PERDIR、PHP_INI_ALL、PHP_INI_USER
而user.php是用户自定义的php.ini并且在php配置项有两个选项
auto_prepend_file和auto_append_file一个是文件前插入一个是文件后插入这里我们使用文件前插入构造playload-----gif的文件头为GIF89a
然后上传成功!
至此在构造一个script格式为jpg
这里可以看到 uploads/33c6f8457bd77fce0b109b4554e1a95c
对应的文件夹下面有两个文件,一个是 .user.ini, 还一个是shell.jpg ,当然,还有一个 index.php 。那就可以构造URL了并用蚁剑连接一下:
原地址/uploads/adeee0c170ad4ffb110df0cde294aecd/index.php
得出flag=
flag{877b66a3-cd3b-4a5b-b3c4-14c8e84c50c9}