在存储HTML时避免XSS攻击
Avoiding XSS attacks when storing HTML
我的网站存储用户生成的HTML。然后这些数据当然会呈现在网页上。格式化HTML和避免XSS攻击的最佳做法是什么?剥离<script>
和<iframe>
标签是否足够?这会覆盖所有浏览器吗?我听说过旧的浏览器通过奇怪的编码渲染HTML。。。我该怎么处理?
我想要一个一般性的答案,与任何语言或技术无关。
您可以使用像Jsoup这样的库,尤其是它们的白名单消毒剂来防止XSS。
一般来说,我认为使用白名单比过滤黑名单标签更好/更安全。此外,首先应该避免使用HTML。相反,应该使用一些简单的标记,如markdown。
我可以向您保证,没有办法安全地执行您的要求。狡猾的黑客总是能够利用一个允许用户任意html的系统,即使是通过剥离某些标签进行清理。这正是像markdown和BBcode这样的工具存在的原因。为什么看,甚至StackOverflow也在使用类似的。
你正在考虑的路上到处都是被利用的10000个网站。
您不知道何时允许用户在您的页面上设置HTML,有多种可能性,如onmouseover"myEvilJS"或
您必须转换此符号的最小值。
&->&;
<-><;
>->>;
"->
'->amp#x27;
/->amp#x2F;
相关文章:
- 如何照顾CSRF&单页应用程序中不使用cookie的XSS攻击
- Rails:如何在浏览器中显示动态html内容,而不会对其进行转义,也不会引起XSS攻击
- 如何允许HTML标记用于输入而不易受XSS攻击
- 如何在Java应用程序中阻止XSS攻击并防止用户在网页上执行JavaScript
- 如何执行简单的基于 DOM 的 XSS 攻击
- 代理第三方脚本是否会引入 XSS 攻击
- HTML 文本框值属性是否安全免受 XSS 攻击
- XSS 攻击漏洞 - 使用 JavaScript 或 jQuery 调整查询
- 我是否可以通过使用会话来防止 XSS 攻击
- 我的PHP代码易受XSS攻击吗
- 在VS2012 MVC4应用程序中模拟XSS攻击
- 基于DOM的XSS攻击在现代浏览器中仍然可能吗
- 单引号是否会导致XSS攻击
- CakePHP 1.3:保护表单免受XSS攻击
- 防止表单上的XSS攻击
- 模拟XSS攻击
- 在使用URL哈希的XSS攻击中重新定义转义函数
- 我用插座做了一个简单的聊天室.如何防止XSS攻击?
- 这种杀菌剂易受XSS攻击吗?
- 如何保护Angular 2的SPA免受XSS攻击?