这一章把流量分析题按"还原方式"分成几个固定套路。命中一个套路,你就有了从 0 到 Flag 的完整动作清单。
特征:flag 或关键信息以明文出现在某条响应/请求里。
步骤:
flag 或 { 或题目关键字。关键词{内容} 是否完整、有没有多余引号/转义。特征:题目说"把泄漏的所有 XX 按某顺序拼接,再算 MD5/SHA256 套上 flag(){}"。
步骤:
idcard 字段值。hashlib.md5(...)),套上 flag{md5}。完整代码模板见 07 §组合拼接模板,实战见 09 挑战18。
特征:数据是编码的:%XX(URL)、一大串字母数字(Base64)、0x… 或纯十六进制、或 Unicode 汉字编码。
步骤:
| 特征 | 编码 | 解码命令/工具 |
|---|---|---|
%20 %2f %27 等 % 开头 | URL 编码 | python -c "import urllib.parse;print(urllib.parse.unquote('...'))" |
== 结尾、A–Z a–z 0–9 +/ | Base64 | python -c "import base64;print(base64.b64decode('...'))" |
| 偶数长度、全 0–9a–f(或 0x 前缀) | Hex | bytes.fromhex('...') |
| 汉字乱码/x; | HTML 实体 / UTF-8 | 在线 HTML 解码或按 UTF-8 解释 |
| 看不出但像可读 | 可能混合/加密 | 去 08 排查编码链 |
特征:请求参数是 SQL/命令注入、回显方式五花八门。
通用还原逻辑:每个位置用条件二分/逐一界测试出 ASCII → 收集每个位置的字符 → 按位置顺序拼成 flag。
特征:传输了文件(zip/image/
proc doc)。
file 命令或看魔数判断类型;压缩包找口令/解压。ftp/http/pgsql/mysql 等定位认证环节。USER/PASS/Authorization/Cookie。拿到 pcap
│
├─ 大部分是明文可读?
│ ├─ 是 → Ctrl+F 搜 flag/{}/关键字 → 命中? → 套路A 直接取
│ │ └─ 没命中 → 套路B/套路C 判断是拼接还是编码
│ └─ 否 → 是 TLS? → 有 keylog? → 配置 TLS 密钥解密 → 回到明文流程
│ └─ 没 keylog → 看有没有 DNS/ICMP/其他明文外带(套路C)
│
├─ 参数像注入(SQL/命令)? → 套路D(看回显/延迟还原)
├─ 有过文件传输(FTP/TFTP/SMB/HTTP下载)? → 套路E(导出对象)
├─ 有登录/凭据环节? → 套路F(提取密码)
└─ 都不像 → 回 01 五步法的"观",重新统计协议分级,别漏小众协议