工具输出为什么必须脱敏
扫描器与代理工具的原始输出里,最常夹带的是响应头、Cookie、Authorization、数据库连接串、会话 ID 和接口返回中的个人数据。这些内容一旦原样进入报告、工单或共享目录,等于把凭据扩散到授权范围之外的读者手里。通行做法是:原件只存受控位置,分发件统一脱敏,并保留脱敏对照以便追溯。
基本信息
| 识别范围 | password、token、secret、api_key、Cookie、Authorization、身份证与手机号 |
|---|---|
| 替换方式 | 用 [REDACTED] 或固定占位符,保持语句可读 |
| 原件位置 | 受控目录,限权加密,登记访问人 |
| 交付件 | 脱敏后版本,附脱敏对照表说明替换范围 |
| 适用环节 | 报告、工单、截图、日志共享、外包协作 |
典型使用场景
- 把漏洞复现请求贴进报告:请求头中的会话凭据需要替换后再展示
- 向客户工单系统提交证据:工单往往由多人可见,原文可能含生产密钥
- 日志与抓包共享:抓包文件与调试日志常含明文口令字段
- 跨团队协作:把工具输出交给开发定位问题时先去掉无关凭据字段
- 交付归档:归档版本使用脱敏件,原件保留在受控位置
批量脱敏示例
批量脱敏示例
# 先盘点敏感字段,确认要处理哪些模式
grep -Eoi 'password=[^&]*|token=[^&]*' raw.txt | sort | uniq -c
# 再按模式替换为占位符,逐条规则复核后合并成脚本
sed -i -E 's/token=[^&]+/token=[REDACTED]/g' raw.txt
sed -i -E 's/password=[^&]+/password=[REDACTED]/g' raw.txt
# 校对剩余风险:确认没有遗漏的凭据式字段
grep -ciE 'authorization|cookie|password' raw.txt常见敏感模式对照
| 模式 | 出现位置 | 处理方式 |
|---|---|---|
| Set-Cookie 与 Cookie | HTTP 响应与请求 | 保留字段名,值替换为占位符 |
| Authorization | 请求头 | 整段值替换,不保留前缀 |
| 数据库连接串 | 配置文件、报错栈 | 替换用户名口令,保留主机与端口结构 |
| 身份证与手机号 | 业务接口返回 | 按最小原则改为掩码形式 |
脱敏后仍可能通过长度、时间戳与上下文推断:高敏感样本直接摘录必要片段,不要整段共享。
保留对照表的好处是可追溯:读者知道哪里被替换过,原作者仍能用原件核对,不必把原件复制一份到处发。