跳转至

Credentials exposed in URLs

URL 中暴露的凭据

描述

URL 中的凭据可能存储在不同位置,包括用户设备、Web 服务器以及这两个端点之间的任何正向或反向代理服务器中。URL 也可能显示在屏幕上、被加入书签或由用户通过电子邮件发送。当点击任何站外链接时,它们可能会通过 Referer 标头泄露给第三方。将无状态会话令牌放入 URL 中会增加其被攻击者捕获的风险。

建议

为了避免在应用程序日志和/或后端服务器日志中泄露凭据,请考虑以下建议:

  • 避免在 URL 中存储凭据: 只要有可能,请尽量避免将敏感信息(如会话令牌)直接放置在 URL 中。
  • 使用安全的会话管理: 实施安全的会话管理技术,不依赖于在 URL 中嵌入凭据。相反,请使用诸如带有适当安全配置的会话 Cookie 之类的方法。
  • 在传输过程中加密敏感数据: 使用 HTTPS 等加密协议,以确保敏感数据(包括包含凭据的 URL)在用户设备和 Web 服务器之间的传输过程中得到加密。
  • 实施 URL 脱敏: 实施机制以自动从显示在屏幕上或记录在日志中的 URL 中脱敏或混淆敏感信息(如凭据),以最大限度地降低暴露风险。

链接

标准

  • OWASP_MASVS_L1:
    • MSTG_AUTH_3
  • OWASP_MASVS_L2:
    • MSTG_AUTH_3
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
  • OWASP_MASVS_v2_1:
    • MASVS_AUTH_1
  • SOC2_CONTROLS:
    • CC_2_1
    • CC_4_1
    • CC_7_1
    • CC_7_2
    • CC_7_4
    • CC_7_5
  • HIPAA_CONTROLS:
    • SECURITY252
    • SECURITY212
    • SECURITY213