testing - 模糊测试工具 : Mutate integer within predefined range?

标签 testing fuzzing fuzzer

我是模糊测试工具的新手,基本上,我想使用模糊测试工具来测试特定的功能。

本质上,这个函数有三个输入参数,每个参数都是一个数字,范围是0到0xffff

我想使用模糊测试工具生成随机输入组合,并测试目标函数。但是,我尝试了 zzuf,但发现它没有关于改变整数值的特定设置。

所以我正在寻找一个模糊器,它只支持在预定义范围内改变整数值?谁能在这个问题上给我一些帮助?我够清楚吗?谢谢。

最佳答案

这可以用很多工具来完成,其中包括 Kitty (由我的团队开发)。

假设您想要生成十进制表示的数字,以下模板将为您生成它们(值将以逗号分隔):

from kitty.model import *
t = Template(name='function inputs', fields=[
    S32(name='p1', value=1, min_value=-500, max_value=1000, encoder=ENC_INT_DEC),
    Static(','),
    ForEach(name='p2', mutated_field='p1',
            fields=S32(value=2, min_value=-3200, max_value=5098, encoder=ENC_INT_DEC)),
    Static(','),
    ForEach(name='p3', mutated_field='p2',
            fields=S32(value=3, min_value=0, max_value=999, encoder=ENC_INT_DEC))
])

while t.mutate():
    print t.render().tobytes()

一些示例结果:

-1,2,3
129,1026,3
129,130,3
129,18,3
129,-3200,3
129,5098,3
129,-3199,3
129,5097,3
129,-3198,3
129,5096,3
129,3,3
129,1,3
129,4,3
129,0,3
17,1026,3
17,130,3
17,18,3
17,-3200,3
17,5098,3
17,-3199,3

关于testing - 模糊测试工具 : Mutate integer within predefined range?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37234530/

相关文章:

node.js - 如何使用 supertest 测试 Express 应用程序的 POST 请求参数?

unit-testing - 有没有办法在给定的时间后使单元/集成测试失败?

c# - 单元测试私有(private)代码

OWASP ZAP 和 Fuzz 能力

http-post - 用于模糊 HTTP POST 请求的开源模糊工具

testing - Spectron:启动应用程序后无法与 Electron 应用程序上的元素交互

testing - 使用 Peach Fuzzer 模糊 TCP 数据包

c - 如何模糊 stdarg.h 函数?

Python帮助理解示例代码

android - 使用 libfuzzer 对共享库进行模糊测试