模糊测试(英文:Fuzz Testing)是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。
在模糊测试中,用随机坏数据(也称做 fuzz)攻击一个程序,然后等着观察哪里遭到了破坏。
模糊测试的技巧在于,它是不符合逻辑的:自动模糊测试不去猜测哪个数据会导致破坏(就像人工测试员那样),而是将尽可能多的杂乱数据投入程序中。
由这个测试验证过的失败模式通常对程序员来说是个彻底的震撼,因为任何按逻辑思考的人都不会想到这种失败。
模糊测试过程
要了解和学习模式测试,必须去掌握其基本过程,并能灵活结合其他技术,下面我们通过一张图看看模糊测试的过程:
模糊攻击类型
模式测试不仅仅应用于功能,也能应用于安全,下面我们看下有哪些类型的模糊攻击类型:
- 数值/字符模糊攻击
- 应用模糊攻击
- 协议模糊攻击
- 文件格式模糊攻击