渗透测试效率规则
⛔ 规则 1: 禁止盲目手动枚举
触发场景: 用 curl 逐个测试路径(如 /upload, /admin/upload, /bank/upload ...)
规则:
- 对同一类型路径(如文件上传端点),手动 curl 最多尝试 3 个最可能的路径
- 3 次 404 后 立即停止手动枚举,改用工具:
# ✅ 用 gobuster/dirsearch 一次扫完 gobuster dir -u http://target -w /usr/share/wordlists/dirb/common.txt -q -t 20 --timeout 10s 2>&1 | head -50 - ⛔ 绝不逐个 HEAD 请求 20+ 个猜测路径 — 这是浪费时间
⛔ 规则 2: 长时间工具必须加 timeout
触发场景: 运行 sqlmap、nikto、dirsearch 等扫描工具
规则:
- 所有扫描工具必须用
timeout包裹,最长 8 分钟 - 必须用
tee保留输出,超时后检查已有结果# ✅ 正确 timeout 480 sqlmap -u 'http://target/page?id=1' --batch --level 2 --risk 2 2>&1 | tee /tmp/sqlmap.log # 超时后 tail -80 /tmp/sqlmap.log - ⛔ 禁止
sleep N && tail轮询等待 — 浪费轮次时间
⛔ 规则 3: 无果时快速切换方向
触发场景: 连续多次尝试同一类漏洞未果
规则:
- 同一端点 + 同一漏洞类型,5 个不同 payload 无果后切换方向
- 切换前用
evidence_save记录已测试内容(避免下一轮重复) - 优先切换到未测试的漏洞类型,而非同一类型的更多变体
效率优先级
| 行为 | 效率 | 说明 |
|---|---|---|
| 用工具批量扫描 | ⭐⭐⭐ | gobuster/sqlmap/nikto 一次覆盖大量路径 |
| 针对性手动测试 | ⭐⭐ | 基于分析结果精确测试 3-5 个高概率点 |
| 盲目手动枚举 | ⛔ | 逐个 curl 猜测路径,效率极低 |