问题标签 [fuzz-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
268 浏览

networking - 在 vnc 服务器上实现网络模糊器?

我想在 vnc 服务器上实现一个网络模糊器作为最后一年的项目。我想从头开始编写 fuzzer 和 vnc 服务器的代码。我能知道它有多可行吗?还有一些好的教程吗?

0 投票
2 回答
4051 浏览

.net - 任何用于模糊测试 Windows 窗体应用程序的好工具或技巧?

我正在维护一个具有 Windows.Forms 界面的 ~300K LOC C# 旧式胖客户端应用程序。该应用程序充满了小错误和怪癖。例如,我最近发现了一个错误,如果用户通过 DataViewGrid 上的单元格编辑和选项卡(而不是单击),并选择某个单元格,应用程序会收到“对象引用未设置为对象的实例”异常. 我大约每两周发现(或收到错误报告)这样的新东西。我已经受够了,并且正在考虑尝试对应用程序进行某种模糊测试,以试图找出未发现的问题。

如果我自己进行模糊测试,我假设我至少需要能够生成独立运行我的应用程序(主窗口、FormX、FormY、FormZ 等)的测试工具并尝试注入事件进入他们。

我试图寻找适合于此的工具,但到目前为止还没有为 Win Forms 提供任何工具。(然而,似乎不乏用于 Web 应用程序的模糊测试工具)。

有什么有用的想法吗?

0 投票
7 回答
2747 浏览

security - 测试软件免受程序员攻击的工具?

这些天来,我对软件安全感兴趣。当我阅读论文时,我看到有许多攻击,研究人员正在尝试为软件发明新方法以获得更安全的系统。

这个问题可以是一个普遍的问题,包括所有类型的攻击。SO中有很多经验丰富的程序员,我只是想了解使用什么来检查您的代码以防止这些攻击?有没有你使用或不关心的工具?

例如,我听说过静态/动态代码分析和模糊测试。

  • SQL注入攻击
  • 跨站脚本
  • 缓冲区溢出攻击
  • 逻辑错误
  • 任何类型的恶意软件
  • 隐蔽通道
  • ……

谢谢

0 投票
4 回答
1173 浏览

code-coverage - 在没有源代码的情况下测试代码覆盖率?

有哪些工具可以在机器代码级别而不是源代码级别执行代码覆盖率分析?我正在寻找一种可能的解决方案来对我没有源代码访问权限的软件执行模糊测试。

0 投票
3 回答
342 浏览

testing - 使用加密弱的伪随机生成器进行模糊测试是不明智的吗?

在处理大型软件项目时,我经常使用模糊测试作为测试用例的一部分,以帮助消除可能仅在输入达到特定大小或形状时才会出现的错误。我最常用的方法是使用与我碰巧使用的编程语言捆绑在一起的标准随机数工具。

最近我开始怀疑,忽略一般模糊测试的优点或缺点,在进行模糊测试时使用非密码安全的伪随机数生成器是否是个好主意。弱随机数生成器经常表现出将它们与真正的随机序列区分开来的模式,即使这些模式并不明显。似乎使用弱 PRNG 的模糊测试可能总是无法触发某些仅在某些情况下出现的潜在错误,因为伪随机数可能以一种永远不会触发这些情况的方式相互关联。

使用弱 PRNG 进行模糊测试是否天生不明智?如果在理论上这样做是不合理的,那么在实践中是否仍然合理?

0 投票
1 回答
759 浏览

validation - 这些 tcl 错误是否表明代码不安全?

我正在对具有嵌入式 TCL 解释器的系统进行安全测试。系统从 Internet (HTTP) 接收输入,对其进行解析并传递给可定制的 TCL 脚本。在模糊测试期间(在 HTTP 标头中发送二进制垃圾),我注意到日志中有以下错误:

TCL 错误:在执行“foreach header [XXXXX] {}”时,引号中的列表元素后跟“{}x”而不是空格

或者

TCL 错误:执行“foreach header [XXXXX] {}”时列表中的未匹配打开引号

这里的 XXXXX 是一个返回系统解析的 HTTP 标头数组的命令。很抱歉混淆了真正的命令,我希望你理解我不想在供应商被告知问题之前公开太多细节(如果它被证明是一个问题)。

产生错误的 TCL 代码非常简单:

foreach 标头 [ XXXX ] { }

据我所知,HTTP 解析是在 TCL 之外完成的,解析后的值可以通过自定义命令(可能作为 TCL 扩展实现)供 TCL 访问。

所以我的问题是:

  1. 这些错误是否表明系统存在安全问题,例如用户输入验证不足?

  2. 如果是,是否可以通过向系统发送特制请求(一种代码注入攻击)来利用此条件执行任意 TCL 语句?

  3. 是否有任何“安全 TCL 编码实践”文档?我找不到任何东西。

0 投票
1 回答
3512 浏览

testing - “模糊测试”和“猴子测试”之间的区别

我最近一直在思考模糊测试和猴子测试之间的区别。根据wiki,猴子测试似乎“只是”一个单元测试,而模糊测试不是。Android 有UI/Application Exerciser 猴子,它看起来不像单元测试。

这些测试方法有什么区别吗?

0 投票
2 回答
3819 浏览

python - 在 python 二进制字符串中随机翻转位

我在 python 中创建了一些模糊测试,对于我来说,给定一个二进制字符串,随机翻转一些位并确保正确引发异常,或者正确显示结果以对给定的有效二进制文件进行轻微更改,这将是非常宝贵的. 有谁知道我如何在 Python 中解决这个问题?我意识到这在低级语言中是非常微不足道的,但出于工作原因,我被告知要在 Python 中执行此操作,但我不确定如何开始,或者在 python 中获取某些东西的二进制表示。关于如何在 Python 中执行这些模糊测试的任何想法?

0 投票
1 回答
1648 浏览

fuzzing - Peach 3 Dumb Fuzz 教程 - 无法定位 WinDbg

我正在尝试一个关于模糊测试和使用Peach Fuzzer的快速教程。运行模糊器后,我收到错误:

无法启动监视器“WindowsDebugger”。错误,无法找到 WinDbg 请使用“WinDbgPath”参数指定。

我真的不确定如何开始解决这个问题。任何帮助,将不胜感激。

0 投票
1 回答
1057 浏览

testing - 模糊测试工具是否使用操作系统的 TCP/IP 堆栈?

模糊测试工具会生成格式错误的协议包。他们是否使用自己的 TCP/IP 堆栈来生成这些格式错误的数据包?操作系统的 TCP/IP 堆栈在 Fuzz 测试中是否起任何作用?我正在开发在 Windows 7 操作系统上运行的 MPLS Fuzz 测试工具。该工具正在 Linux 机器上测试 MPLS 堆栈。我的测试工具是否使用 Windows 堆栈?有人告诉我,Windows 不支持 MPLS,但测试工具工作得很好。