软件测试之模糊测试Fuzzer测试

软件测试之模糊测试Fuzzer测试Fuzzer,即模糊测试,是一种自动化的软件测试技术,涉及向计算机程序提供无效,意外或随机的数据输入。

大家好,欢迎来到IT知识分享网。

Fuzzer介绍

软件测试之模糊测试Fuzzer测试

Fuzzer,即模糊测试,是一种自动化的软件测试技术,涉及向计算机程序提供无效,意外或随机的数据输入。然后监视程序是否存在异常,例如崩溃或潜在的内存泄漏等。

Fuzzer工作三大模块:目标程序、fuzz输入生成和bug反馈捕获。

典型Fuzzer示例:让一只猴子通过随意点击键盘和鼠标,输入意想不到的数据测试应用程序,从而发现bug。

Fuzzer类型

基本概念

产生原因

缺点

测试效率

特征

基于变种(Mutation-based)

已知合法输入的基础之上,对输入进行随机变种或依照经验进行变种

防止不合法输入被目标程序过滤,增加不必要的测试时间

无法穷尽合法输入,无法覆盖所有测试点

依赖已有的合法输入集合

基于模板(Generation-based)

安全人员利用对目标程序或协议的了解,结合自身经验,给出输入数据模板,构造多样化的输入类型

产生多样化的输入类型,并减少测试时间

执行完设定好的测试内容后立即停止,无法覆盖所有测试点

利用目标系统和自身经验生成多样化输入类型

基于反馈演进

(Evolutionary-based)

实时记录当前目标程序测试覆盖程度,调整fuzzer输入

平衡Fuzzer覆盖率测试时间的需求

暂无

根据Fuzzer覆盖率调整输

Fuzzer暴露错误

Fuzzer是用来证明错误的存在,而不是为了证明错误不存在。运行模糊测试活动数周而未发现错误,并不证明该程序正确。对于尚未执行的输入,程序可能仍然会失败。

u验证静态分析报告

静态程序分析不会实际执行程序,有误报的可能性。模糊测试与动态程序分析可尝试静态程序分析所报告问题的输入,从而对静态分析报告进行验证。

浏览器的安全性

现代的网络浏览器经历了广泛的模糊测试。

lPayload type:Empty/Null

不会改变原有输入,并按照设定的重复次数,多次生成原有输入。

软件测试之模糊测试Fuzzer测试

lPayload type:File

从本地上传文件,文件中包含想要替换原有输入的值,可用于暴力激活成功教程。

软件测试之模糊测试Fuzzer测试

软件测试之模糊测试Fuzzer测试

lPayload type:File Fuzzers

支持任意组合使用通过ZAP 注册的Fuzzer文件。

软件测试之模糊测试Fuzzer测试

lPayload type:Json

Json类型的payloads是对原有输入Json字符串进行变种后得到的。

软件测试之模糊测试Fuzzer测试

软件测试之模糊测试Fuzzer测试

lPayload type:Numbers

Numbers,允许使用自定义增量轻松生成数字序列。在OWASP ZAP中,可通过设置取值区间以及增量大小,生成待测试内容。

软件测试之模糊测试Fuzzer测试

lPayload type:Regex

Regex,即正则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。

软件测试之模糊测试Fuzzer测试

lPayload type:String

通过手动输入或粘贴无效、随机的String数据进行Fuzzer测试。对账号密码登录进行模糊测试时,若OWASP ZAP中设置3个手机号、3个密码进行测试,则共有3*3次不同的组合尝试。

软件测试之模糊测试Fuzzer测试

软件测试之模糊测试Fuzzer测试

lPayload type:Script

在OWASP ZAP中,可在Payload Generator default template.js的基础上编写、保存Payload Generator脚本,生成有效payloads值,用以模糊测试。

软件测试之模糊测试Fuzzer测试

软件测试之模糊测试Fuzzer测试

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/82902.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信