[极客大挑战 2019]Secret File 1_BUUCTF

本文介绍了参与极客大挑战2019时遇到的一道题目——Secret File 1。通过查看页面源码、追踪重定向、抓包分析,揭示了这是一个GET型文件传输的挑战。最终通过构造有效payload并解码base64,成功获取到flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进入页面查看源码
在这里插入图片描述
跟踪./Archive room.php
在这里插入图片描述
点击按钮后
在这里插入图片描述
确定存在重定向,抓包
在这里插入图片描述
跟踪这个程序
在这里插入图片描述
发现是一个get型文件传输

首先这是一个file关键字的get参数传递

php://是一种协议名称,php://filter/是一种访问本地文件的协议,
/read=convert.base64-encode/表示读取的方式是base64编码后,
resource=index.php表示目标文件为index.php。

所以,这里可以用php伪协议来读取flag.php

构造payload
?file=php://filter/convert.base64-encode/resource=flag.php
得到b

### BUUCTF 极客挑战 2019 Secret File Writeup 解题思路 此题目属于文件包含漏洞(File Inclusion Vulnerability)类型的Web安全挑战。以下是详细的分析过程: #### 题目背景 通过F12查看网页源码,发现了隐藏的URL链接[^1]。点击页面中的按钮后跳转至另一页面,并进一步推测需要利用Burp Suite抓包工具捕获请求并分析返回的数据。 在抓包过程中,发现了一个PHP脚本的关键逻辑部分: ```php <?php highlight_file(__FILE__); error_reporting(0); $file = $_GET['file']; if (strstr($file, "../") || stristr($file, "tp") || stristr($file, "input") || stristr($file, "data")) { echo "Oh no!"; exit(); } include($file); // flag 放置在 flag.php 中 ?> ``` 这段代码的功能是对`$_GET['file']`参数进行过滤,防止用户输入特定字符串来访问敏感文件。然而,由于过滤条件不够严格,仍然可以通过构造特殊路径绕过限制[^3]。 #### 利用方法 目标是读取服务器上的 `flag.php` 文件内容。经过多次尝试以及参考其他选手的经验分享得知可以使用 `/secr3t.php?file=flag.php` 的方式成功获取Flag值[^4]。 最终提交正确答案即可完成该CTF题目解答流程。 ```bash curl http://example.com/secr3t.php?file=flag.php ``` 以上命令用于模拟向目标站点发送带有指定查询参数的HTTP GET 请求操作。 ### 注意事项 - 在实际渗透测试活动中,请务必遵循法律法规,在授权范围内开展工作。 - 学习此类技术主要用于提高个人网络安全意识及防护能力而非恶意攻击他人系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值