nabibit/ctf-writeups
GitHub: nabibit/ctf-writeups
该项目是一个持续更新的 CTF 解题报告合集,系统记录了作者在 OverTheWire 等平台上完成各类安全挑战的方法、命令与经验教训。
Stars: 0 | Forks: 0
# CTF 解题报告




这是一个 Capture The Flag (CTF) 挑战解题报告的合集,记录了我的解决方案、思路以及经验教训。本仓库既作为我的个人知识库,也是我攻击性安全技能的展示集。
## 目录
- [关于](#about)
- [仓库结构](#repository-structure)
- [已完成的挑战](#completed-challenges)
- [解题报告模板](#write-up-template)
- [为什么这很重要](#why-this-matters)
- [致谢](#acknowledgements)
## 关于
本仓库包含我在各个平台上完成的 CTF 挑战的详细解题报告。每份报告都记录了以下内容:
- 挑战的描述和目标。
- 我的思考过程和方法。
- 使用的具体命令和工具。
- 解决方案(已隐去敏感的 flag)。
- 学到的主要经验。
**当前重点:** OverTheWire Bandit(Linux 基础、SSH、命令行工具)。
## 仓库结构
```
ctf-writeups/
├── overthewire/
│ └── bandit/
│ ├── level0.md
│ ├── level1.md
│ ├── level2.md
│ ├── level3.md
│ ├── level4.md
│ ├── level5.md
│ ├── level6.md
│ ├── level7.md
│ ├── level8.md
│ ├── level9.md
│ ├── level10.md
│ ├── level11.md
│ ├── level12.md
│ ├── level13.md
│ ├── level14.md
│ ├── level15.md
│ ├── level16.md
│ └── ...
└── README.md
```
每个文件都是一个独立的 markdown 文档,遵循统一的模板。
## 已完成的挑战
### OverTheWire – Bandit (0–16)
| 关卡 | 难度 | 关键技能 | 状态 |
|-------|------------|------------|--------|
| 0 | 简单 | SSH, `cat` | ✅ |
| 1 | 简单 | `cat ./-` | ✅ |
| 2 | 简单 | 文件名中的空格、引号 | ✅ |
| 3 | 简单 | 隐藏文件 (`ls -la`) | ✅ |
| 4 | 简单 | `file` 命令、ASCII 检测 | ✅ |
| 5 | 简单–中等 | `find -size -executable` | ✅ |
| 6 | 中等 | `find -user -group -size` | ✅ |
| 7 | 简单 | `grep` | ✅ |
| 8 | 中等 | `sort`, `uniq -u` | ✅ |
| 9 | 中等 | `strings`, `grep ===` | ✅ |
| 10 | 简单 | `base64 -d` | ✅ |
| 11 | 简单 | `tr` ROT13 解密 | ✅ |
| 12 | 中等 | `xxd -r`、嵌套压缩 | ✅ |
| 13 | 简单–中等 | SSH 私钥认证 | ✅ |
| 14 | 简单 | `nc` (netcat) | ✅ |
| 15 | 简单 | `openssl s_client`、SSL/TLS | ✅ |
| 16 | 中等 | `nmap`、端口扫描、SSL/TLS、SSH 密钥 | ✅ |
| 17+ | ... | ... | ⏳ 进行中 |
## 解题报告模板
每份解题报告都遵循一致的结构:
```
# OverTheWire – Bandit Level X
**Date:** YYYY-MM-DD
**Category:** Linux / [Tool]
**Difficulty:** Easy / Medium / Hard
## 挑战描述
[What is the goal?]
## 方法
[Step-by-step reasoning and execution.]
## 使用的命令
```bash
# 命令写在这里
## 解决方案
The password for Level X+1 is: `[FLAG]`
## 经验教训
- [Key takeaway 1]
- [Key takeaway 2]
## 下一步
[What to do next]
```
## 为什么这很重要
记录 CTF 挑战不仅仅是“保存答案”,其意义在于:
- **巩固学习:** 撰写解释的过程迫使我真正理解相关概念。
- **建立参考:** 我可以快速回顾各种技术(例如 `xxd -r`、`file` 命令、SSH 密钥)。
## 致谢
在 [OverTheWire](https://overthewire.org/wargames/bandit/) 上进行练习并学习 Linux 基础知识时构建。
标签:CTI, 内存分配, 安全, 安全测试工具, 应用安全, 教程, 文档, 超时处理, 防御加固