FreeFloat FTP Server 1.0 中 CVE-2025-5548 分析与利用的学术实验室。
本文件夹汇集了与 CVE-2025-5548 / FreeFloat FTP Server 1.0 实验相关的可复现工件。教学顺序和命名遵循 TheMalwareGuardian 的参考教学材料,而这些版本是根据本仓库的开发过程和练习证据重建的。它们并非作为教学文件的逐字节副本呈现。
所有脚本均有意限制在 127.0.0.1。目的是让它们仅配合 docs/02-explotacion/ 中记录的本地实验使用。
| 脚本 | 在实验中的功能 | 文档 |
|---|---|---|
01Python3Connection.py | 连接验证与 FTP 交互 | Step 1 |
02Python3Fuzzing.py | 对 NOOP 命令进行增量模糊测试 | Step 2 |
03Python3EIPOffsetDiscovery.py | 发送循环模式以确定 EIP 偏移 | Step 2 |
04Python3ControlEIP.py | 使用已记录的偏移验证 EIP 控制 | Step 3 |
05Python3FindBadChars.py | 验证练习中识别出的坏字符 | Step 4 |
06Python3JMPESP.py | 通过 INT3 标记验证重定向到 ESP | Step 5 |
07Python3Shellcode.py | 安全复现 payload 的最终结构 | Steps 6–7 |
脚本中出现的值应在实验背景下理解:
127.0.0.1:21 上测试,与练习截图所示一致。246,在发现阶段获得,并通过 EIP 覆盖确认。\x00、\x0a 和 \x0d。0x75CD9B23(小端序下为 \x23\x9b\xcd\x75)对应已记录的调试会话。定位该地址的模块启用了 ASLR,因此必须在新一次执行中重新获取该地址。07Python3Shellcode.py 的公开版本并未嵌入该 shellcode:它使用 INT3 标记来保留最终布局的可追溯性,同时避免使仓库成为可操作的远程访问工件。参考教学材料提供了方法论和七个步骤的顺序。本仓库补充了所进行的开发、截图以及执行过程中的自有改编。本仓库的原创内容依据 LICENSE 文件以 GPL-3.0 分发;第三方组件和材料保留各自的使用条件。