【问题标题】:HTML Purifier to clean event attributes用于清理事件属性的 HTML Purifier
【发布时间】:2014-10-14 21:27:28
【问题描述】:

我正在努力解决一些存储型 XSS 漏洞,并且我正在使用 HTMLPurifier。我在页面上有一个输入框,如果我输入 '" onclick="alert(1);" 代码将保存到数据库并在客户端上执行。即使在通过净化器运行输入和输出后也会发生这种情况。它似乎 HTMLpurifier 只在 html 标记中包含这些属性时才去除这些属性。我想知道是否有一些净化器配置会去除事件属性或有关如何清理这些属性的任何其他建议。

【问题讨论】:

  • 如果可以的话,可以发htmljs吗?谢谢
  • 当 HTML 标记之外的非可执行文本时,'" onclick="alert(1);" 不会?
  • 使用演示页面会产生相同的结果,因此看起来像是留下了文字:htmlpurifier.org/…
  • 这是呈现的内容:

标签: javascript php html htmlpurifier


【解决方案1】:

HTML Purifier 纯粹用于将在页面上用作 HTML 的内容。它不适用于验证内容,例如,将进入 HTML 元素的属性。

您可以使用 HTML Purifier 的一些内部 API 来验证这种情况下的内容。但是,对于 cmets 中引用的示例,您只需要htmlspecialchars 就可以做正确的事情。验证器的正确选择取决于您将内容放入的属性。

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 1970-01-01
    • 2011-05-04
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    相关资源
    最近更新 更多