工具使用要点60 条

工具输出脱敏

工具输出常夹带凭据、Cookie 与个人数据:进入报告或共享目录前统一脱敏,原件留在受控位置并登记,保留脱敏对照便于追溯。

工具输出为什么必须脱敏

扫描器与代理工具的原始输出里,最常夹带的是响应头、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 与 CookieHTTP 响应与请求保留字段名,值替换为占位符
Authorization请求头整段值替换,不保留前缀
数据库连接串配置文件、报错栈替换用户名口令,保留主机与端口结构
身份证与手机号业务接口返回按最小原则改为掩码形式
脱敏后仍可能通过长度、时间戳与上下文推断:高敏感样本直接摘录必要片段,不要整段共享。
保留对照表的好处是可追溯:读者知道哪里被替换过,原作者仍能用原件核对,不必把原件复制一份到处发。

易错点

  • 报告截图包含完整 Cookie 与 token
  • 含凭据的原始 curl 输出直接贴进工单系统
  • 只脱敏报告正文,附件日志仍是明文
  • 脱敏后删掉原件,复测时无法核对原始证据

数据来源与参考

  • OWASP WSTG(证据处理)
  • 个人信息保护法(2021,告知与最小化原则)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌