被偷走的文件

下载附件并解压得到一个文件,用wireshark打开,这里需要了解FTP协议
FTP(文件传输协议)_百度百科
【网络协议详解】------FTP系统协议(学习笔记
FTP 协议 - 菜鸟教程
- What
FTP(File Transfer Protocol,文件传输协议)是一种运行在 TCP/IP 协议簇上的应用层协议,用于在网络中的客户端和服务器之间实现文件的双向传输(上传、下载)。
FTP 采用客户端 - 服务器(C/S)架构,核心特点是使用两条独立的 TCP 连接完成传输:
控制连接:端口号为 21,用于传输命令和响应(如登录指令、上传 / 下载请求、状态码),连接在整个会话期间保持打开。
数据连接:用于传输实际的文件数据,端口号分为两种情况:
主动模式(PORT):服务器端使用 20 端口主动发起连接。
被动模式(PASV):服务器端随机开放一个高位端口,由客户端主动连接。
FTP 的典型状态码包括 220(服务就绪)、230(登录成功)、530(登录失败)、226(传输完成)。- Who
FTP 协议的参与主体分为两类:
服务端:部署 FTP 服务器软件的设备,负责存储文件、验证用户身份、响应客户端请求,常见软件有 vsftpd(Linux)、FileZilla Server(Windows)、ProFTPD。
客户端:发起文件传输请求的设备,通过客户端软件或命令行工具访问服务器,常见工具包括 FileZilla Client、ftp 命令行工具、WinSCP。
从使用场景划分用户群体:
个人用户:用于个人文件备份、跨设备文件传输。
企业 / 运维人员:用于网站代码部署、服务器日志下载、批量文件分发。
CTF 参赛者:在 Misc/Web 类题目中,常利用 FTP 弱口令、匿名访问漏洞获取 Flag 或敏感文件。- When
FTP 协议适用于以下场景:
批量文件传输:需要一次性上传 / 下载大量文件(如网站源码、日志文件)时,比 HTTP 更高效。
跨平台文件共享:支持 Windows、Linux、macOS 等不同操作系统间的文件交互。
需要明确权限控制:服务器可配置不同用户的读写权限(如只读、可上传、可删除)。
CTF 竞赛场景:题目中常设置 FTP 服务作为突破口,例如匿名登录可访问 Flag 文件、弱口令登录获取服务器权限。
不适用场景:
传输敏感数据:FTP 明文传输用户名、密码和文件内容,易被抓包窃取,需改用 SFTP/FTPs。
实时小文件传输:HTTP/HTTPS 更轻量便捷。- Where
FTP 协议的应用环境覆盖局域网和广域网:
局域网(LAN):企业内部服务器与员工电脑之间的文件传输,例如办公室内共享安装包、文档。
广域网(WAN):公网服务器的文件管理,例如个人站长通过 FTP 管理网站空间的文件。
CTF 靶场环境:题目会搭建 FTP 服务作为靶机,参赛者通过网络连接靶机 IP 和 21 端口进行渗透测试。- Why
(1)为什么使用 FTP
简单易用:协议设计简洁,命令行和图形化工具都能轻松操作,无需复杂配置。
传输稳定:基于 TCP 协议,保证文件传输的可靠性,不易出现文件损坏。
支持断点续传:部分客户端软件支持断点续传,大文件传输中断后可恢复继续传输。
兼容性强:几乎所有操作系统和网络设备都支持 FTP 协议。
(2)为什么 FTP 逐渐被替代
安全性缺陷:所有数据(包括用户名、密码)均为明文传输,攻击者可通过 Wireshark 等工具抓包窃取。
被动模式端口问题:被动模式下服务器开放随机高位端口,可能被防火墙拦截,导致连接失败。
功能单一:仅支持文件传输,无法像 HTTP 那样支持动态内容交互。
替代方案:SFTP(基于 SSH 的安全文件传输协议)、FTPs(FTP over SSL/TLS)、WebDAV,这些协议均支持加密传输,安全性更高。- How
(1)FTP 核心工作流程
以 被动模式(PASV) 为例,完整传输流程如下:
客户端向服务器 21 端口发起 TCP 连接,建立控制连接。
客户端发送用户名和密码(或 anonymous 匿名登录),服务器验证后返回登录成功响应。
客户端发送 PASV 命令,服务器返回一个随机高位端口(如 192.168.1.100:12345)。
客户端向服务器的该高位端口发起 TCP 连接,建立数据连接。
客户端发送 RETR(下载)或 STOR(上传)命令,通过数据连接传输文件。
传输完成后,数据连接关闭,控制连接可保持(用于后续操作)或由客户端发送 QUIT 命令关闭。
(2)CTF 中常见的 FTP 利用方法
匿名登录检测:使用用户名 anonymous,密码为空或任意邮箱,尝试访问服务器文件。
弱口令爆破:使用 Hydra 等工具爆破 FTP 用户名和密码。
文件下载与上传:登录成功后,使用 get 下载文件、put 上传文件,获取 Flag 或上传恶意脚本。
(3)安全使用 FTP 的方法
避免使用明文传输,改用 SFTP 或 FTPs。
禁用匿名登录,设置强密码。
限制 FTP 服务的访问 IP,仅允许可信地址连接。
搜索ftp,得到如下界面

注意到存在flag.rar,尝试将其分离并解压,可以使用随波逐流等工具进行分离,得到压缩包,但解密需要密码,没有密码提示,先猜测伪加密,但没有找到伪加密的特征,只能尝试爆破,尝试经典的四位数密码,爆破得到结果

密码为
bash
5790
解密成功,得到最终结果
bash
flag{6fe99a5d03fb01f833ec3caa80358fa3}
[BJDCTF2020]认真你就输了

下载附件并解压,得到10.xls,打开看看,发现有四个表,看到提示The flag is also right under this nicely made chart. ,翻译过来就是flag就在这张做得很漂亮的图表正下方,何意味,用010打开看看

观察到PK与flag.txt,先改一下后缀看看,发现可以直接解压,猜测xl/charts/flag.txt为地址,根据提示打开相应文件即可得到最终结果
bash
flag{M9eVfi2Pcs#}
被劫持的神秘礼物

这么一长串文字描述看得头晕,先下载附件,得到一个gift.pcapng,打开,需要知道账号与密码的信息,初步查看

观察到第一个POST,且有login,直接右键追踪HTTP流,得到name与word

串在一起得到
bash
adminaadminb
MD5编码得到
bash
32位大写:1D240AAFE21A86AFC11F38A45B541A49
32位小写:1d240aafe21a86afc11f38a45b541a49
16位大写:E21A86AFC11F38A4
16位小写:e21a86afc11f38a4
提交32位小写,成功,即最终结果为
bash
flag{1d240aafe21a86afc11f38a45b541a49}
[BJDCTF2020]藏藏藏

下载附件并解压得到一张图片与一份txt文件,txt给出了flag的格式,由题目藏藏藏猜测,需要文件分离,binwalk分离不了就用foremost分离

分离得到压缩包,解压得到福利.docx

打开里面有一张二维码照片,扫描一下,扫描得到

bash
flag{you are the best!}
提交成功,即最终结果为
bash
flag{you are the best!}
[GXYCTF2019]佛系青年

下载附件,发现解压需要密码,没有密码提示,猜测是伪加密,仔细观察,存在发现确实存在伪加密

修改完成之后即可解压,解压得到txt与png文件,打开txt文件,发现在最下面存在一行
bash
佛曰:遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸
这里需要用到与佛论禅解密,下面详细阐述原理
一、What
与佛论禅(又称佛曰加密、土豆密码)是一种创意型文本加密方式,由国内网友开发,其核心特点是将普通文本转换为看似佛教经文的汉字序列,以 "佛曰:如是我闻:" 等宗教用语开头,具有极强的伪装性。它本质上是一种复合加密机制,融合了字符映射替换与对称加密算法,并加入可选的 密钥(箴言)增强安全性。
在 CTF 竞赛中,与佛论禅常作为 Misc 类题目的入门级考点,密文特征极为明显:全是佛教相关汉字,以特定宗教前缀开头。
二、核心原理与加密机制
- 底层技术架构
与佛论禅采用多层加密模型,核心由三部分组成:
| 层级 | 技术手段 | 作用 |
|---|---|---|
| 表层 | 佛教汉字映射 | 将密文字符转换为佛经风格文字,实现伪装 |
| 中层 | 自定义编码 | 对明文进行基础转换,建立字符与佛文字符的对应关系 |
| 底层 | 对称加密 | 可选 AES 等算法,使用箴言(密钥)对文本进行加密,增强安全性 |
- 字符映射机制
系统内置一个庞大的佛教汉字库(包含 "梵、摩、呐、若、死、漫、哆、蘇、菩、世" 等常用佛经用字),并建立双向映射表:
加密时:将明文字符(包括字母、数字、符号、汉字)映射为库中的佛教汉字
解密时:反向映射,将佛教汉字还原为原始字符
映射规则并非简单的一对一替换,而是结合了字符频率与位置信息,确保密文的 "经文感"。- 箴言(密钥)机制
与佛论禅支持 可选密钥(箴言)功能:
无箴言模式:基础加密,仅依赖内置映射表和编码规则
有箴言模式:箴言作为对称加密的密钥,对明文先进行加密处理,再进行佛教汉字映射,显著提升破解难度
三、加密流程完整加密步骤如下:
输入处理:接收明文和可选箴言(密钥)
密钥处理(可选):若提供箴言,使用预设对称加密算法(如 AES)对明文加密
编码转换:将明文(或加密后的数据)转换为中间编码格式
佛字映射:根据内置映射表,将中间编码的每个单元转换为对应的佛教汉字
前缀添加:在密文前加上标志性前缀 "佛曰:如是我闻:",完成伪装
输出密文:生成最终的佛经风格密文
四、解密流程解密是加密的逆过程,步骤如下:
前缀校验:检查密文是否以 "佛曰:" 或 "如是我闻:" 开头,移除前缀获取纯密文
佛字逆映射:根据映射表将佛教汉字还原为中间编码
解码转换:将中间编码还原为原始数据
密钥逆处理(可选):若加密时使用了箴言,用相同箴言解密,得到明文
输出明文:返回解密结果
关键注意事项:解密时必须保留正确前缀,否则工具会提示 "太深奥了..."
密文不能包含多余空格或特殊符号,否则会导致映射失败
箴言必须与加密时完全一致(区分大小写),否则无法解密
五、版本差异与佛论禅有两个主要版本,在 CTF 中均有出现:
| 版本 | 特征 | 处理方式 |
|---|---|---|
| 旧版(经典佛曰) | 前缀为 "佛曰:" | 使用标准工具解密即可 |
| 新版(新约佛论禅) | 前缀为 "新佛曰:" | 需使用专门的新版工具解密,映射表和编码规则均有更新 |
六、CTF 应用与实战技巧
- 识别特征
密文以 "佛曰:如是我闻:"或"新佛曰:"开头
内容全是佛教相关汉字,无其他字符
常见于 Misc 类题目,常与 ROT13、Base64 等编码组合使用(如 "如来十三掌" 题目)
2. 常用工具
土豆密码工具
百趣工具箱
本地脚本:可使用 Python 实现映射表解密,或调用 Crypto 库处理带箴言的加密文本
3. 典型解题流程(以 "如来十三掌" 为例)
获得密文:一段佛教汉字序列
添加前缀:在密文前加上 "佛曰:"
解密操作:使用在线工具,点击 "参悟佛所言的真意",得到中间 结果(通常是 Base64 编码)
二次解码:对中间结果进行 ROT13 转换(题目 "如来十三掌" 提示),再进行 Base64 解码,最终得到 Flag
4. 常见陷阱与应对
前缀错误:确保前缀是 "佛曰:" 而非 "佛日:" 等错别字
版本混淆:遇到 "新佛曰:" 前缀时,使用新版工具解密
箴言缺失:若解密失败,考虑题目中是否隐藏了箴言(密钥)信息
组合加密:与佛论禅常作为第一层加密,解密后需继续分析是否有其他编码或加密
七、Why优势
伪装性强:密文看起来像佛教经文,不易引起怀疑
操作简单:无需复杂配置,在线工具即可快速加解密
扩展性好:支持自定义箴言,可提升安全性
趣味性高:将加密与文化元素结合,适合 CTF 等竞赛场景
局限性
安全性有限:无箴言模式下,可通过暴力破解或映射表分析破解
依赖工具:必须使用专用工具解密,无法手动破解
密文冗长:相同长度的明文加密后,密文字数会显著增加
兼容性问题:不同工具的映射表可能存在差异,导致解密失败
本题没有秘钥,直接解密得到最终结果
bash
flag{w0_fo_ci_Be1}
[BJDCTF2020]你猜我是个啥

下载附件尝试解压,发现给出提示,该文件不是压缩文件

放入010中查看

发现为png文件,修改文件后缀,发现可以查看,且该png文件打开为二维码,扫描得到

给出提示flag不在这,再次放入010中查看,发现最后存在结果

即最终结果为
bash
flag{i_am_fl@g}
秘密文件

下载附件并解压,打开,搜索ftp

右键追踪TCP流,得到

由此可知,该文件里面藏了一个压缩包,binwalk分离提取,得到压缩包,但解压需要密码,没有密码提示且不是伪加密,猜测4位数爆破,尝试爆破得到结果

密码为
bash
1903
解密成功,查看得到最终结果
bash
flag{d72e5a671aa50fa5f400e5d10eedeaa5}
[BJDCTF2020]鸡你太美
下载附件并解压得到两份GIF文件,打开查看,发现第二份提示文件损坏无法查看,用010打开看看


进行修复,即可正常查看

查看得到初步结果
bash
zhi_yin_you_are_beautiful
即最终结果为
bash
flag{zhi_yin_you_are_beautiful}
[BJDCTF2020]just_a_rar

下载附件并解压得到4位数.rar,根据提示可知,密码为4位数,爆破解密得到

解密得到一张照片,放入010中仔细查看,得到最终结果

也可以通过文件属性查看

即最终结果为
bash
flag{Wadf_123}