复盘不是订正答案
复盘不是订正答案
本文适合
做完题后只抄 payload、只写"以后多练",但下次仍然卡在同类问题上的学习者。学完你能:把一次做题卡点拆成观察遗漏、概念缺失、工具不会、思路错误和操作失误,并沉淀成下一次可执行的检查动作。
一句话判断
复盘不是把正确答案重写一遍,而是回答:我当时为什么没有走到正确判断,下次看到同类信号时先做什么动作。
合格复盘必须从"答案是什么"转成:
题目中常见信号
说明:没有分析判断路径
处理动作:补"信号 -> 假设 -> 验证 -> 利用"链条
说明:卡点太泛
处理动作:改成具体步骤和缺失知识
说明:复盘没有变成动作
处理动作:建检查清单或训练任务
说明:工具/环境/交互细节未复盘
处理动作:写差异表和排查顺序
说明:事后理解替代了当时证据
处理动作:反推自己漏掉的第一信号
说明:缺口没有沉淀
处理动作:更新对应知识点、工具页或案例
核心概念
复盘的对象不是题目,而是卡点。一个题可以有多个卡点,每个卡点都要归类。
典型表现:源码注释、响应头、文件尾、字符串没看
改进方式:增加检查清单
典型表现:看到 e=3、canary、nonce 复用但不知道含义
改进方式:补知识点并做同类练习
典型表现:知道要做但不会命令或脚本
改进方式:写工具最小命令和一次练习
典型表现:把编码当加密,把逆向题当 Web 题
改进方式:补判断信号和回退规则
典型表现:偏移、端序、编码、换行、路径写错
改进方式:建操作规范和检查项
复盘不是情绪审判。它要产出一个下次能执行的动作。
最小分析流程
- 写题目事实:题名、方向、材料、完成状态、耗时。
- 定位第一个卡点:具体到步骤,不写"不会"。
- 给卡点分类:观察、概念、工具、思路或操作。
- 找当时漏掉的信号:报错、参数、文件结构、字符串、保护机制、模型输出。
- 重建正确判断路径:按时间顺序写"如果重来一次,我先看什么"。
- 定义下次动作:动作必须能执行,例如"详情页参数先测
1=1/1=2"。 - 回填知识库:把概念缺口、工具命令或检查清单更新到对应文章。
- 跟踪执行:一周后检查这个动作是否真的被使用。
最小复盘模板:
题目:
方向:
完成状态:
耗时:
卡点:
卡点类型:
当时漏掉的信号:
缺少的知识/动作:
正确判断路径:
下次先做:
需要更新的知识库文章:最小验证示例
1. 把"不会 SQL 注入"改成可执行复盘
差复盘:
这题是 SQL 注入,我以后要多学 SQL 注入。合格复盘:
卡点:看到 /item?id=1 后只改了数字,没有测试布尔差异。
卡点类型:观察遗漏 + 概念缺失。
漏掉信号:id 参数能控制页面内容。
正确路径:id=1/id=2 建基线 -> id=1' 看报错 -> id=1 and 1=1/1=2 看差异。
下次先做:详情页参数先保存三组请求:正常值、单引号、布尔真假。
回填:更新 [Web题的观察顺序](/ctf/方法论/Web题的观察顺序.html) 和 [[SQL注入入门]] 的检查清单。2. 把"Pwn 远程打不通"改成可执行复盘
卡点:本地 ret2libc 成功,远程无回显。
卡点类型:工具不会 + 操作失误。
漏掉信号:远程泄露的 puts 地址后 2 字节和本地 libc 不同。
正确路径:先泄露 libc 指纹 -> 查 libc -> 检查栈对齐 -> 再发第二阶段 payload。
下次先做:远程失败时先打印 leak 原始 bytes、libc base、send/recv 日志。
回填:更新 [Pwn题的利用链思维](/ctf/方法论/Pwn题的利用链思维.html) 的远程排查项。3. 改进跟踪表
| 日期 | 题目 | 卡点类型 | 具体原因 | 下次动作 | 已执行 |
|---|---|---|---|---|---|
| 06-01 | Web-Login | 观察遗漏 | 没看源码注释 | 登录页先看源码和响应头 | 是 |
| 06-01 | Stack | 操作失误 | offset 72 写成 64 | payload 每段写注释 | 否 |这个表的重点是"下次动作"和"已执行",不是给自己打分。
常见利用 / 解题路线
路线总览:
复盘结果要回到知识库和训练计划里:
复盘发现知识缺口
|
+-- 概念缺失 -> 更新知识点文章,补判断信号和最小验证
+-- 工具不会 -> 更新工具页,补安装验证和常用命令
+-- 观察遗漏 -> 更新方法论文章或检查清单
+-- 思路错误 -> 更新知识地图或方向判断规则
+-- 操作失误 -> 更新个人模板、payload 注释或调试流程单题复盘之后,还要做周期复盘:
看什么:第一个卡点和下次动作
产出:一条可执行改进
看什么:哪类卡点最多
产出:下周训练重点
看什么:哪个方向停滞
产出:知识地图缺口和补课计划
常见失败原因
可能原因:没有下次动作
排查动作:每个卡点最后补"下次先做"
可能原因:把问题归因到情绪
排查动作:改成步骤、信号和知识缺口
可能原因:事后理解没有复现
排查动作:关掉 WP,按自己的记录重做最小验证
可能原因:没有追踪执行
排查动作:建改进跟踪表,每周检查
可能原因:复盘缺口没有归档位置
排查动作:回到对应知识地图和文章关联
可能原因:成功题也有低效路径
排查动作:成功但耗时过长也要找卡点
迷你案例
一道 Misc 图片题最终答案是从 PNG 尾部提取 ZIP,再用 EXIF 注释作为密码。差复盘只会写:
这题考 binwalk 和 exiftool。真正复盘要写:
卡点:图片能打开后我只看了内容,没有检查文件尾。
卡点类型:观察遗漏。
漏掉信号:图片大小异常,远超分辨率应有大小。
正确路径:file -> xxd 头尾 -> binwalk -> exiftool -> 解压。
下次动作:图片题起手固定做 file、xxd head/tail、binwalk、exiftool 四步。
回填:更新 [Misc题的文件分析起手式](/ctf/方法论/Misc题的文件分析起手式.html) 的图片起手检查。这样下次遇到"图片正常但体积异常"的信号,就能更早想到文件尾和附加压缩包。