问题描述
即使是像 Twitter 这样的知名网站也存在 XSS 漏洞,我们应该怎么做才能防止这种攻击?
Even famous sites like Twitter are suffering from XSS vulnerability, what should we do to prevent this kind of attack?
推荐答案
您可以做的第一件事是将您的 cookie 设置为 HTTP Only ......这至少可以防止会话 cookie 劫持.就像有人在您可能是您自己网站的管理员时窃取了您的 cookie.
The #1 Thing you can do is set your cookies to HTTP Only ... which at least protects against session cookie hijacking. Like someone stealing your cookie when you are likely admin of your own site.
剩下的就是验证所有用户输入.
The rest comes down to validating all user input.
- 规则 #0 - 切勿在允许的位置之外插入不受信任的数据
- 规则 #1 - 在将不受信任的数据插入 HTML 元素内容之前进行 HTML 转义
- 规则 #2 - 在将不受信任的数据插入 HTML 公共属性之前进行属性转义
- 规则 #3 - 在将不受信任的数据插入 HTML JavaScript 数据值之前进行 JavaScript 转义
- 规则 #4 - 在将不受信任的数据插入 HTML 样式属性值之前使用 CSS 转义
- 规则 #5 - 在将不受信任的数据插入 HTML URL 属性之前进行 URL 转义
这里详细讨论了很长的主题:
Very lengthy subject discussed in detail here:
http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
http://www.owasp.org/index.php/Cross_site_scripting
XSS 只是众多漏洞之一,每个 Web 开发人员都应该牢记前 10 名 OWASP 恕我直言
XSS is only one of many exploits and every web dev should learn the top 10 OWASP by heart imho
http://www.owasp.org/index.php/Top_10_2007
这篇关于防止 XSS 漏洞的措施(就像几天前 Twitter 的一个)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!