我正在努力解决一些存储的XSS漏洞,我正在使用HTMLPurifier。我在页面上有一个输入框,如果我键入'"的onclick ="警报(1);"代码保存到数据库并在客户端上执行。即使在通过净化器运行输入和输出之后,也会发生这种情况。似乎HTMLpurifier只在html标记中包含这些attr时才会删除它们。我想知道是否有一些配置净化器,只会删除事件attr或任何其他有关如何清理它们的建议。
答案 0 :(得分:1)
HTML Purifier纯粹用于在页面上用作HTML的内容。例如,它不适用于验证HTML元素属性的内容。
您可以使用HTML Purifier的一些内部API来验证此案例的内容。但是,对于评论中引用的示例,您只需要htmlspecialchars
做正确的事情。正确选择验证器取决于您将内容放在哪个属性中。