开始测试

执行下面的命令,就可以开始测试了:

wfuzz fuzz openssl-fuzz

经过短暂的启动检查后,您可以看到如下的界面:

┌───────────────────────────────────────────────────────────────────────────────┐
│██╗    ██╗███████╗██╗   ██╗███████╗███████╗  by   Wingtecher    1.6.10-fast    │
│██║    ██║██╔════╝██║   ██║╚══███╔╝╚══███╔╝                                    │
│██║ █╗ ██║█████╗  ██║   ██║  ███╔╝   ███╔╝   Platform:                         │
│██║███╗██║██╔══╝  ██║   ██║ ███╔╝   ███╔╝    https://wingfuzz.com              │
│╚███╔███╔╝██║     ╚██████╔╝███████╗███████╗  Login as:                         │
│ ╚══╝╚══╝ ╚═╝      ╚═════╝ ╚══════╝╚══════╝  USERNAME                          │
├──────────────────────────────────────────┬────────────────────────────────────┤
│                Regression                │                Fuzz                │
├──────────────────────────────────────────┴────────────────────────────────────┤
│   App: openssl-fuzz    Module: ssl_heartbleed                                 │
├───────────────────────────────────────────────────────────────────────────────┤
│                                                ██████████████                 │
├─────────────────────────────┬────────────────────────┬────────────────────────┤
│Status:     Active           │Test Case:      2       │                        │
│Job:        1                │Path:           0       │Crash:          1       │
│CPU Time:   0s               │Execution:      2       │                        │
├─────────────────────────────┴────────────────────────┴────────────────────────┤
│Edges count: 2201                                                              │
│Case eeea9c8e0b46f0122a4d871a6cc7d76d2a3079a8 is crashed during inspecting     │
│New problem discovered: eeea9c8e0b46f0122a4d871a6cc7d76d2a3079a8, type: Undefin│
│New case discovered: f9916051e42aad872abf5490a795934339dc1578, Total count: 2  │
│Edges count: 2575                                                              │
└───────────────────────────────────────────────────────────────────────────────┘

看到这个界面说明您的测试已经成功启动了。经过一小段时间之后,您应该可以看到Crash的数字变成了2。说明已经成功检出了2个问题。 接下来您可以使用以下步骤,在平台上看到详细的错误报告。

  1. 在平台导航菜单中找到「应用测试」 -> 「项目管理」。
  2. 在右边的视图中找到 openssl-fuzz 这个应用。
  3. 进入详情后,选择模块 ssl_heartbleed
  4. 点击进去后,在下方的缺陷列表就能看到发现问题,如果您的步骤完全按照教程进行的话,此处应该能看到两个问题,其一是一个未定义行为的null-pointer-use问题,其二是内存问题的heap-buffer-overflow-read问题。这里这个内存问题就是著名的Heartbleed漏洞。
  5. 点击缺陷编号进入页面,可以看到错误详情,下方会有两个调用堆栈,第一个是触发此问题的调用栈,第二个是这段内存申请时的调用栈。

如果您想了解如何在自己的项目上集成模糊测试,请继续阅读下一章 集成我的项目

关于 「应用」、「模块」 等概念,您可以参考 进阶使用 章节。

关于 「内存问题」、「未定义行为」 等错误类型,您可以参考 支持的问题类型 章节。