为了账号安全,请及时绑定邮箱和手机立即绑定

处理安全性并避免使用用户输入的URL进行XSS的最佳方法

处理安全性并避免使用用户输入的URL进行XSS的最佳方法

Qyouu 2019-10-25 11:10:36
我们有一个高度安全的应用程序,我们希望允许用户输入其他用户会看到的URL。这带来了XSS黑客攻击的高风险-用户可能会输入另一个用户最终执行的javascript。由于我们拥有敏感数据,因此绝不可发生。处理此问题的最佳做法是什么?仅凭任何一个安全白名单或转义模式就足够了吗?有关重定向的建议(例如,在链接之前,警告页面上的“此链接超出了我们的站点范围”消息)是否有理由完全不支持用户输入的链接?澄清:基本上,我们的用户要输入:stackoverflow.com并将其输出到另一个用户:<a href="http://stackoverflow.com">stackoverflow.com</a>我真正担心的是他们在XSS hack中使用此功能。即他们输入:警报('被黑!');因此其他用户获得此链接:<a href="alert('hacked!');">stackoverflow.com</a>我的示例只是为了解释风险-我很清楚javascript和URL是不同的东西,但是通过让它们输入后者,它们也许能够执行前者。您会惊奇地发现有多少个站点可以用此技巧攻破-HTML甚至更糟。如果他们知道处理环节上做到他们也知道消毒<iframe>,<img>并巧妙的CSS参考?我正在一个高度安全的环境中工作-单个XSS hack可能对我们造成非常高的损失。我很高兴我可以制作一个Regex(或使用到目前为止最出色的建议之一)来排除我可能想到的所有内容,但是这足够了吗?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信