2-1

输出到 href 属性的 XSS 如何防御

1. 严格的白名单验证

这是最安全、最推荐的防御方法。不要试图去黑名单过滤,因为攻击者总能找到绕过的方法。相反,你应该只允许那些已知安全的协议和域名

  • 只允许安全的协议:只接受 httphttps 协议。所有其他协议,特别是 javascript:data:vbscript: 等,都应该被拒绝
  • 示例
    • 安全https://www.example.com
    • 不安全javascript:alert(1)