06 题型套路速查:照着做就行

这一章把流量分析题按"还原方式"分成几个固定套路。命中一个套路,你就有了从 0 到 Flag 的完整动作清单。

怎么用:先判断题目属于哪类套路,然后照抄"步骤"逐步执行;中间不确定的字段/语法回 03,缺解码手段去 07。
本章目录
  1. 套路A:明文直给型(字符串直接搜)
  2. 套路B:组合拼接 + 哈希型
  3. 套路C:动态解码型(URL/Base64/Hex/字典替换)
  4. 套路D:注入还原型(盲注逐位 / UNION 拼表)
  5. 套路E:文件还原型(导出对象 → 分析)
  6. 套路F:凭据/会话提取型
  7. 套路速查决策流程图

套路A:明文直给型(字符串直接搜)

特征:flag 或关键信息以明文出现在某条响应/请求里。

步骤:

  1. Ctrl+F,搜索类型选 字符串(String),输入 flag 或 { 或题目关键字。
  2. 命中的包 → 右键 Follow → TCP/HTTP Stream 看上下文。
  3. 复制并核对:关键词{内容} 是否完整、有没有多余引号/转义。

套路B:组合拼接 + 哈希型

特征:题目说"把泄漏的所有 XX 按某顺序拼接,再算 MD5/SHA256 套上 flag(){}"。

步骤:

  1. 先确认取字段:如 API 响应里的 idcard 字段值。
  2. 确认排序规则:题目写"按被窃取时间排序"就用时间戳;写"按序号"就用 id;若只按时间戳可能有同秒乱序坑(见 08),要加次级键。
  3. 用 tshark 导出或 Python 把字段值按序拼成一个大字符串。
  4. 对拼接结果算 md5(Python hashlib.md5(...)),套上 flag{md5}。
  5. 验算:数量对不对?每条长度对不对?总长度=数量×单条长度?

完整代码模板见 07 §组合拼接模板,实战见 09 挑战18。

套路C:动态解码型(URL/Base64/Hex/映射)

特征:数据是编码的:%XX(URL)、一大串字母数字(Base64)、0x… 或纯十六进制、或 Unicode 汉字编码。

步骤:

  1. 先识编码(见下表)。
  2. 用在线工具/Wireshark 的 显示 → 点击字段 或命令逐一解码。
  3. 若 FirstStep 解出后还是乱,再循环解(可能嵌套,如 URL→Base64→hex)。
特征编码解码命令/工具
%20 %2f %27 等 % 开头URL 编码python -c "import urllib.parse;print(urllib.parse.unquote('...'))"
== 结尾、A–Z a–z 0–9 +/Base64python -c "import base64;print(base64.b64decode('...'))"
偶数长度、全 0–9a–f(或 0x 前缀)Hexbytes.fromhex('...')
汉字乱码/&#xx;HTML 实体 / UTF-8在线 HTML 解码或按 UTF-8 解释
看不出但像可读可能混合/加密去 08 排查编码链

套路D:注入还原型(盲注逐位 / UNION 拼表)

特征:请求参数是 SQL/命令注入、回显方式五花八门。

通用还原逻辑:每个位置用条件二分/逐一界测试出 ASCII → 收集每个位置的字符 → 按位置顺序拼成 flag。

套路E:文件还原型(导出对象 → 分析)

特征:传输了文件(zip/image/
proc doc)。

  1. File → Export Objects → 对应协议 导出全部文件。
  2. file 命令或看魔数判断类型;压缩包找口令/解压。
  3. 图片可能藏隐写(尾部追加内容、EXIF、LSB隐写);文档可能含宏/隐藏文字。
  4. 记得"里层可能还有一层"——解出来是 flag 就直接收工,否则继续分析。
    (Data 段或重组流里也可能直接跟着答案)

套路F:凭据/会话提取型

  1. 过滤器 ftp/http/pgsql/mysql 等定位认证环节。
  2. Follow 该次登录流找 USER/PASS/Authorization/Cookie。
  3. Base64 解密 Basic 认证;明文凭据直接复制;哈希字段(如 NTLM/MySQL challenge)可能需要进一步破解(hashcat 可胜任,见 07)。

套路速查决策流程图

拿到 pcap
   │
   ├─ 大部分是明文可读?
   │    ├─ 是 → Ctrl+F 搜 flag/{}/关键字 → 命中? → 套路A 直接取
   │    │                              └─ 没命中 → 套路B/套路C 判断是拼接还是编码
   │    └─ 否 → 是 TLS? → 有 keylog? → 配置 TLS 密钥解密 → 回到明文流程
   │                     └─ 没 keylog → 看有没有 DNS/ICMP/其他明文外带(套路C)
   │
   ├─ 参数像注入(SQL/命令)? → 套路D(看回显/延迟还原)
   ├─ 有过文件传输(FTP/TFTP/SMB/HTTP下载)? → 套路E(导出对象)
   ├─ 有登录/凭据环节? → 套路F(提取密码)
   └─ 都不像 → 回 01 五步法的"观",重新统计协议分级,别漏小众协议