模糊测试 XML 解析器

发布于 2024-11-10 21:11:39 字数 87 浏览 5 评论 0原文

我想对 XML 解析器进行模糊测试,并想知道是否有一些合适的模糊器。
如果不仅能生成随机垃圾,还能利用 XSD 或 DTD 等现有模式规范,那就太好了。

I want to fuzz-test a XML-parser and wonder if there are some appropriate fuzzers.
It would be nice not only generate random garbage, but take advantages of existing schema specification like XSD or DTD.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独自←快乐 2024-11-17 21:11:39

以下是我在几个月前的搜索过程中偶然发现的一些 XML 模糊器:

  • untidy。这似乎并没有处于积极的开发中,最后一次更新是在 2007 年。(Sourceforge 上不再提供该项目,后代请参阅 archive.org 获取部分内容,以及packetstorm 可供下载。它已添加到 Peach-1.0 中,但不再出现在 Peach-3.1 社区版源代码中)。
  • 模糊软件。似乎对基于 XSD 的模糊测试有很好的支持。
  • 桃子。 Peach 模糊器项目将帮助您生成有效的 XML 文件,但如果您想要模糊解析器而不是使用解析器的应用程序,则可能没有太大帮助。这当然值得一试,但请注意,如果您不了解 XML 中的各种结构,创建数据模型可能会是一个繁琐的过程。相关项目HotFuzz在这里也值得一提。
  • JBroFuzz。这是相当积极的开发。我找不到任何描述其 XML(和 SOAP)模糊测试功能的教程。它可以单独用作模糊测试库,这一事实可能会对您有所帮助。
  • Codenomicon Defensics for XML。这是一个商业模糊器。 免责声明:我过去评估过 Defensics,发现它适合各种用途。 XML 解析器本身就可以使用各种技术进行模糊测试 - 您可以向其提供由模糊器生成的文件,或发出 HTTP 请求等。请记住,如果您需要对应用程序而不是解析器进行模糊测试,则必须使用不同的方法; Defensics 将帮助您在模糊输入中选择所需的各种输入类别,以便您可以针对您的解析器或您的应用程序或两者。

Following are some XML fuzzers that I chanced upon, during a search several months back:

  • untidy. This is does not appear to be in active development, with the last update in 2007. (Project no longer available on Sourceforge, for posterity see archive.org for partial content, and packetstorm for download. It was added to Peach-1.0, but no longer appears in the Peach-3.1 Community Edition source at all).
  • Fuzzware. Appears to have decent support for XSD based fuzzing.
  • Peach. The Peach fuzzer project will aid in you in generating valid XML files, but will probably not be of much help if you want to fuzz the parser instead of the application using the parser. It is certainly worth a try, but be forewarned that creating a data model can be a cumbersome process if you are not aware of the various structures in XML. The related project HotFuzz is also worth mentioning here.
  • JBroFuzz. This is quite actively developed. I couldn't find any tutorial describing it's XML (and SOAP) fuzzing capabilities. You might be helped by the fact that it can be used as a fuzzing library alone.
  • Codenomicon Defensics for XML. This is a commercial fuzzer. Disclaimer: I have evaluated Defensics in the past, and have found it suitable for various purposes. The XML parser alone can be fuzzed using various techniques - you may feed it files generated by the fuzzer, or issue HTTP requests etc. Do keep in mind that different approaches will have to be used if you need to fuzz your application instead of the parser; Defensics will aid in selecting the various classes of inputs that you want in the fuzz inputs, so that you can target your parser, or your application or both.
征棹 2024-11-17 21:11:39

这可能是您认为的“垃圾生成器”,但无论如何我都会请您检查一下。

Radamsa 来自奥卢大学安全编程小组是免费的通用模糊器。你可以很容易地用它进行模糊测试。给它一些示例文件,Radamsa 会为您生成模糊文件。

所包含的不同模糊器可以执行从简单的位翻转到复杂的结构学习和模糊测试。

该代码可以从 Google 代码中找到。

This might be what you consider "garbage generator", but I'll ask you to check it out anyhow.

Radamsa from Oulu University Secure Programming Group is free general purpose fuzzer. You can get fuzzing with it really easily. Give it some example files and Radamsa generates fuzzed files for you.

The different fuzzers included can do from simple bit flips to complex learning of the structure and fuzzing it.

The code can be found from Google Code.

番薯 2024-11-17 21:11:39

美国模糊 lop 可能是一个不错的选择。它采用遗传算法,学习如何在程序中引入新的代码路径,并提出最大化覆盖范围的测试用例。

american fuzzy lop might be a good choice here. It employs a genetic algorithm that will learn how to induce new code paths in your program and come up with test cases that maximize coverage.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文