Y2FuIHlvdSByZWNvbj8
Y2FuIHlvdSByZWNvbj8/
题目描述
难度:中等
Y2FuIHlvdSByZWNvbj8/是 Hacker101 CTF 中的一道文件上传 + 路径遍历 + 命令执行类挑战,包含 3 个隐藏 Flag。题目名称是 Base64 编码,解码后为Can you recon?(你能侦察吗?)。
解题思路
- 通过目录枚举发现网站存在严格的权限控制(多个端点返回 403)
- 找到文件上传功能点
- 利用
.phtml扩展名绕过 PHP 文件黑名单限制 - 通过路径遍历将文件写入可访问目录
- 在文件内容中嵌入 PHP 代码,实现远程命令执行(RCE)
- 使用
cat命令读取flags.txt获取全部 3 个 Flag
操作步骤
第一步:侦察目录
对目标网站进行目录和文件枚举,发现以下端点均返回403 Forbidden:
.htaccess .hta .htpasswd admin server-status推理:网站目录结构存在但权限限制较严格,正面访问难以突破,需要寻找其他入口(如文件上传功能)。
第二步:发现文件上传点
在应用中找到上传图片的功能。尝试上传一个名为hello.php的文件,服务器返回错误:
php files are not allowed关键发现:错误信息暴露了服务器的黑名单过滤规则,提示我们需要绕过扩展名限制。
第三步:使用 .phtml 绕过扩展名限制
将文件名改为hello.phtml后重新上传。
.phtml是 PHP 的备选扩展名,通常会被 PHP 解析器识别并执行。
上传成功,获得一个可访问的文件路径。
第四步:路径遍历写入 PHP 代码
在 Burp Suite 中将上传请求发送到 Repeater
修改
filename为../hello.phtml,利用路径遍历将文件写入上级目录</
