问题标签 [html-sanitizing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - Rails 中的 simple_format 助手是否足以防止 xss?
我阅读并测试了simple_format
允许某些 html 标签。
是否足够安全以再次保护 xss?(假设我不介意用户将 html 放在使他们的文本漂亮)这会导致 xss 吗?还是我应该坚持h
方法?
c# - HtmlAgilityPackSanitizerProvider 无法加载类型
我的问题是,我正在尝试使用 HTML 扩展编辑器。我安装了ajaxcontroltoolkit。到目前为止一切顺利,控制工具包工作正常,但我需要清理。所以我下载了htmlagilitypack并像这样使用它:(还在控件上添加了EnableSanitization =“true”)
在 webconfig 中添加:
和 :
但是当我使用 ajaxcontrol 加载我的页面时,它显示以下错误:
无法加载类型“AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider”
我引用了所有 dll(AjaxControlToolkit、HtmlAgilityPack、SanitizersProviders)。我第一次和第二次阅读了这篇文章,但没有帮助我。我能做些什么?谢谢你。
java - 如何修复 Java webapp 中的地方性 XSS 漏洞
我正在开发一个已有多年历史的 Java Web 应用程序。
<bean:write>
JSP 中的大多数sfilter="false"
甚至在不需要时都有,这可能是因为开发人员盲目地复制现有代码。<bean:write>
是Struts标签输出一个JSP变量,filter="false"
指定时不做HTML转义(所以和属性filter="false"
类似)。这意味着应用程序容易受到 XSS 攻击,因为其中一些正在输出用户输入。<c:out>
escapeXml="false"
<bean:write filter="false">
一揽子删除filter="false"
不是一个选项,因为在某些情况下,应用程序允许用户使用 TinyMCE 文本区域输入 HTML,因此在某些情况下我们确实需要输出原始 HTML 以保留用户输入的格式(尽管我们仍然应该清理用户输入的 HTML 以删除脚本)。
代码中有数千个filter="false"
s,因此审核每个 s 以确定是否需要它需要太长时间。
我们正在考虑做的是制作我们自己的bean:write
标签版本,比如说secure:write
,并在我们的 JSP 中使用 secure:write 进行 bean:write 的全局查找/替换。secure:write
指定时将从输出中删除脚本filter="false"
。在此更改之后,用户仍然可以将格式化 HTML 输出到他们不应该真正能够输出的位置,但只要修复了 XSS 漏洞,我们暂时不担心这一点。
我们想使用一个库来实现secure:write
标签中的脚本剥离,我们一直在查看https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project和https://code.google.com/ p/owasp-java-html-sanitizer/。两者看起来都能够清理 HTML,尽管 AntiSamy 看起来像是用于在进入应用程序而不是退出时清理 HTML,并且由于数据的输出频率高于输入数据,因此我们是担心secure:write
通过它运行我们所有的输出可能会很慢。
我有两个主要问题:
1) 我们提出的方法是否可以修复由以下原因引起的 XSS 漏洞filter="false"
?
2) 任何人都可以推荐一个在显示内容时用于 HTML 清理的库,即它的速度足够快,不会显着影响页面渲染性能吗?有没有人用过 AntiSamy 或 owasp-java-html-sanitizer 来做类似的事情?
ruby-on-rails - 验证前删除所有 html 标签
是否有一种干净的方法可以在验证之前删除所有属性的所有 html 标记我发现acts_as_sanitized 似乎很完美,但是对于 rails 2 :-s
谢谢
java - 如何在 jsp 页面上使用 owasp-java-html-sanitizer 的策略
我的任务是防止我们的网站遭受跨站点脚本 (XSS)。这个概念对我来说是新的,我搜索了很多并得到了 owasp-java-html-sanitizer。我创建了自己的政策
通过使用.allowAttributes
,我设计了它。但现在我不知道如何使用它......我发现了以下代码片段:
但是我如何将它应用于我的 JSP,因为我认为这是用于简单的 HTML。请帮忙。
python - Python - lxml 库“清洁”方法只擦除一半的空节点
我正在使用 Python 中的 lxml 库从我不想要的潜在有害代码/部分中清除 html 页面。我注意到函数中有一个奇怪的行为:当给定一个空<li>
节点时,它会删除结束</li>
标记而不是开始标记。
例如,
将输出<ul><li><li>FooBar</li></ul>
...
据我所知,这只发生在处理<li>
标签时。这是来自 lxml 库的错误吗?难道我做错了什么?
任何见解将不胜感激。谢谢 !
html - 链接共享 - Google Caja HTML Sanitizer
我正在尝试解决我的新 Web 应用程序上的经典“用户输入清理”问题,我选择使用 Google Caja 的 HTML Sanitizer 服务器端来完成此任务。
虽然实施+测试进展顺利,但我仍有一些问题:
- 1) 我只能找到 HTML4 定义,这是否意味着 HTML5 标签不安全?
我对 HTML 5 特定的标签/属性 XSS 进行了一些测试,尽管它们都不起作用,但我不能 100% 确定某些未经测试的 XSS 不起作用。
2) Google Caja 似乎不再活跃,这会构成安全问题吗?
3)我希望我的用户能够共享链接,我如何能够以通过 Google Caja 过滤器的安全方式做到这一点?(如 StackOverflow)
4) Caja 如何处理 Unicode ?
先感谢您 !
php - 在 HTML Purifier 中禁用 URI 验证
由于各种原因,我想禁用 HTML Purifier 中的 URI 验证,这可能吗?
我意识到这可能对许多站点产生安全影响,但实际上并非如此。
html - 清理不受信任的 HTML5
我希望能够接受来自不受信任用户的 HTML 并对其进行清理,以便我可以安全地将其包含在我网站上的页面中。我的意思是,标记不应该被剥离或转义,而是应该被基本不变地传递,除非它包含危险的标签,如<script>
or <iframe>
,危险的属性,如onload
,或危险的 CSS 属性,如背景 URL。(显然一些较旧的 IE 会在 CSS 中执行 javascript URL?)
提供来自不同域的内容,包含在 iframe 中,这不是一个好的选择,因为没有办法提前知道 iframe 必须有多高,因此对于某些页面来说它总是看起来很丑。
我查看了 HTML Purifier,但它看起来还不支持 HTML5。我还研究了 Google Caja,但我正在寻找一种不使用脚本的解决方案。
有谁知道可以做到这一点的图书馆?PHP是首选,但乞丐不能选择。
javascript - html清理后如何嵌入受信任的iframe?
如果我使用带有默认白名单的google-caja html sanitizer ,那么它将不允许我嵌入iframe
.
我知道这是一个安全风险,这就是为什么它不允许我这样做。但是他们有很多值得信赖的网站,它们通过iframe
谷歌地图、推特按钮等提供功能。
所以请建议我如何实现受信任的人以允许我的用户使用此功能。