信息收集

1391 字

信息收集

信息收集是 Web 安全测试的起点。它不是“拿工具扫一遍”,而是把目标的资产、入口、技术栈、业务流程和风险线索整理成一张可复盘的地图。

先定边界

开始之前先确认授权范围。哪些域名、子域名、IP、接口、账号和时间窗口允许测试,哪些第三方资源、生产数据、支付流程、短信邮件、压力行为不能触碰,都要提前写清楚。

边界项 需要确认什么
域名与 IP 主域、子域、历史域名、云资源、CDN 是否在范围内
环境 生产、测试、预发布、演示环境能做哪些动作
账号 普通用户、管理员、商户、运营等角色是否可用
行为限制 是否允许扫描、爆破、上传、导出、改数据、触发回调
证据记录 发现时间、来源、请求方式、截图或响应摘要

边界不清时,先记录线索,不主动触达高风险目标。信息收集的第一条原则是可控,第二条才是全面。

从外到内看资产

信息收集可以按“公开信息 -> 网络暴露面 -> Web 入口 -> 业务流程”的顺序推进。这样不容易漏掉关键面,也方便把零散发现串起来。

方向 看什么 价值
组织画像 公司名、品牌、子公司、旧系统、海外站点 找到真实资产归属和历史遗留系统
公开索引 搜索引擎、GitHub、文档站、招聘 JD、状态页 发现域名、接口、技术栈、泄露信息
域名 DNS 子域名、CNAME、MX、TXT、NS、历史解析 还原业务分布和第三方依赖
证书日志 CT 记录、证书 SAN、过期证书 补充隐藏子域和旧资产
IP 与服务 端口、协议、Banner、服务版本 判断暴露服务和潜在攻击面
Web 指纹 WebServer、框架、CMS、中间件、前端构建 关联已知漏洞、默认路径和配置习惯
页面与前端 HTML 注释、JS、SourceMap、接口地址、Token 名称 发现 API、调试信息和隐藏入口
应用流程 注册、登录、找回密码、订单、上传、导出、后台 为逻辑漏洞、越权、认证问题做铺垫

新手容易只盯着“有没有漏洞”,但信息收集更重要的是回答:目标有哪些资产,入口在哪里,身份怎么流转,数据怎么进出,哪些地方看起来像临时、旧版或管理面。

重点线索

看到这些内容时,要单独记录,因为它们经常会变成后续验证的入口:

  • 测试环境、预发布环境、旧后台、管理登录页、接口文档。
  • .git、备份包、日志文件、配置文件、SourceMap、目录列表。
  • Swagger、OpenAPI、GraphQL、Postman Collection、移动端 API。
  • 上传、下载、导入、导出、预览、回调、Webhook、URL 抓取。
  • 用户 ID、订单 ID、组织 ID、角色字段、状态字段、价格字段。
  • 报错页、调试模式、框架版本、中间件版本、数据库错误。
  • 云存储 Bucket、对象链接、CDN 回源线索、第三方 SaaS 地址。

这些线索不一定马上就是漏洞,但它们能告诉你下一步该看哪类风险:认证与会话、越权、逻辑漏洞、文件类问题、SSRF、SQL 注入、XSS 或源码泄露。

输出一张地图

信息收集结束时,最好不要只留一堆截图和工具输出,而是整理成可读的资产地图。

输出物 内容
资产表 域名、IP、端口、服务、技术栈、环境、归属、状态
入口点表 URL、方法、参数、认证方式、角色、功能、风险备注
API 表 端点、版本、参数、来源、是否需要登录、是否有文档
架构草图 用户端、CDN/WAF、反向代理、应用、API、存储、第三方服务
风险清单 敏感信息、测试环境、旧版本、管理面、未授权接口、源码配置泄露

一个好的信息收集结果,应该让后续测试者不用重新摸路:打开文档就能知道目标长什么样、从哪里进、哪些点值得优先验证,以及每条判断来自哪里。

Licensed under CC BY-NC-SA 4.0