ctf-pwn
2026/7/2CTF Skillctf-pwn大约 2 分钟
ctf-pwn
ctf-pwn 是原项目中面向二进制利用题的 Skill。
它关注的不是“理解程序做了什么”这一层,而是当存在内存破坏、格式化字符串、堆漏洞、ROP、沙箱限制等利用条件时,Agent 应该如何推进。
什么时候使用
适合进入 ctf-pwn 的信号:
- 题目给出 ELF、共享库或远程交互服务
- 题面出现 pwn、overflow、heap、ROP、shellcode、libc、seccomp
- 程序可通过输入触发崩溃
checksec输出提示保护机制- 已经逆向出可疑漏洞点,需要构造利用
如果只是拿到一个二进制但完全不理解逻辑,通常应该先用 ctf-reverse。当问题从“程序怎么判断”变成“如何利用漏洞”时,再进入 ctf-pwn。
原项目中的内容范围
ctf-pwn 的补充文件覆盖了常见二进制利用方向:
| 文件方向 | 说明 |
|---|---|
overflow-basics.md | 基础溢出路线 |
rop-and-shellcode.md | ROP 和 shellcode |
rop-advanced.md | 进阶 ROP 技巧 |
format-string.md | 格式化字符串漏洞 |
heap-techniques*.md | 堆利用技术 |
heap-fsop.md | FSOP 相关内容 |
kernel*.md | 内核 pwn 方向 |
sandbox-escape.md | 沙箱限制下的思路 |
advanced-exploits*.md | 复杂利用技巧 |
field-notes.md | 实战笔记 |
这些文件不是让新手直接复制 payload,而是给 Agent 提供方向索引和检查路线。
Agent 应该如何使用它
一个合理的 ctf-pwn 工作过程通常包括:
- 确认文件类型和架构
- 查看保护机制
- 运行程序理解交互
- 定位输入点
- 判断漏洞类型
- 构造最小触发
- 再考虑利用链
提示
Pwn 题最重要的是“可重复触发”。没有稳定触发点,就不应该急着写完整 exploit。
和 Reverse 的关系
ctf-pwn 和 ctf-reverse 很容易混。
| 问题 | 更适合的 Skill |
|---|---|
| 程序逻辑是什么? | ctf-reverse |
| 输入如何被校验? | ctf-reverse |
| 漏洞点在哪里? | 两者都可能需要 |
| 如何控制 RIP/EIP? | ctf-pwn |
| 如何绕过 NX/PIE/Canary? | ctf-pwn |
很多题会先 Reverse,再 Pwn。
新手阅读重点
读 ctf-pwn 时,不要把它当成“Pwn 从入门到精通”。它更像一张利用路线地图。你需要关注的是:Agent 看到某种漏洞信号后,应该进入哪个补充文件。
小结
ctf-pwn 是原项目中处理二进制利用的 Skill。它适合在漏洞形态已经出现或需要构造利用链时使用;如果还停留在理解程序逻辑阶段,应先考虑 ctf-reverse。