测试一个HTML解析器/清理器的单元测试?

6
我正在为我正在处理的项目选择不同的HTML解析器之间做出决策,其中一部分接受来自客户端的HTML输入。
我已经为每个解析器构建了一个简单的自动化测试程序,以查看它们是否符合我的需求。我有大量真实的HTML片段需要进行测试,但是它们并不足以测试安全性,因为它们(可能)不包含任何恶意代码。 我不介意手动审查输出。
我的问题是,是否有自由可用的包含格式不正确的HTML和旨在测试XSS的脚本的HTML片段数据库或列表?
3个回答

2

0

使用谷歌首页不足以测试。我有很多可以测试的真实案例,但我正在寻找故意包含恶意代码或非常错误的HTML片段,以查看解析器是否正确地将它们忽略。 - GeReV

0

我专门为此目的构建了html-sanitizer-testbed,它包括两个组件:

  1. 一套测试,旨在检查HTML清理器的安全性。 我收集了我能找到的每个棘手情况。 它包括ha.ckers.org XSS cheatsheet上的所有内容,以及我多年来收集的许多其他测试用例。 多年来,我已经分析了几十个HTML清理器(它们中的大部分都存在漏洞),并为我发现的每个安全漏洞添加了一个测试用例,因此这是一个相当不错的合集。

  2. 此外,它还提供了一些测试自动化功能,以便您无需手动查看输出结果:您可以启动浏览器并检查浏览器是否似乎在清理器的输出结果中执行了任何Javascript(在这种情况下,清理器将失效)。 这部分功能不是100%可靠的,并且不带任何保证,因此为了最大效果,您可能需要手动查看输出结果。 然而,到目前为止,它已经运作得相当不错。

欢迎反馈和贡献。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接