Awesome Fuzzing学习初始

1. 在github关于awesome fuzzing的学习资料已经fork,有书,论文,讨论等

Auauau22/awesome-fuzzing:用于软件安全的出色模糊测试(或模糊测试)的精选列表 (github.com)

2. zeller写的fuzzingbook:模糊测试书 (fuzzingbook.org)

需要运行书里代码,因为mybinder出错,所以采用Jupyter Notebook方式运行,首先下载:Jupyter Notebook介绍、安装及使用教程 - 知乎 (zhihu.com)

下载anaconda会自动下载jupyter notebook,anaconda在本机中下载位置

从fuzzingbook下载在jupyter book上运行的代码,fuzzingbook.notebooks.zip

---------------------------------------------------------------------------------------------------------------------------------

fuzzing book 

书中之旅 - 模糊之书 (fuzzingbook.org) 可以先选择程序员、学生路径

第一节软件测试简介 软件测试简介 - 模糊测试书 (fuzzingbook.org)

将代码块复制到jupyter book中运行,下图是新建的“软件测试.ipynb”文件

需要理解:

运行时检查:“运行时检查的一个重要限制是,它们仅在有要检查的结果时才确保正确性 - 也就是说,它们保证总是有一个结果。与符号验证技术和程序证明相比,这是一个重要的限制,符号验证技术和程序证明也可以保证有结果——不过,需要付出更高的(通常是手动的)努力。”

处理任何类型的输入:“在系统级别,程序必须能够优雅地处理任何类型的输入,而不会进入不受控制的状态。当然,这对程序员来说是一种负担,他们必须努力使他们的程序在所有情况下都健壮。然而,在生成软件测试时,这种负担变成了一种好处:如果一个程序可以处理任何类型的输入(可能带有明确定义的错误消息),我们也可以向它发送任何类型的输入。但是,当调用具有生成值的函数时,我们必须知道其精确的前提条件。”

结束:经验教训,后续步骤 模糊测试:使用随机输入打破事物 - 模糊测试书 (fuzzingbook.org)

---------------------------------------------------------------------------------------------------------------------------------

遇到问题:下图第一条红色横线执行会报错,加不加$符号都会保存,无法识别4做为传入参数;第二条横线代码执行成功。

---------------------------------------------------------------------------------------------------------------------------------

习题

习题代码都已给出,直接运行(在mybinder预览上复制代码)

手动输入数据测试->利用随机函数生成数据测试->对极端情况,如0、∞无穷、除以0等,非法输入等处理。

随机到某一极端情况的概率极低(584年)->完全随机不可行

---------------------------------------------------------------------------------------------------------------------------------

做完发现下载的zip中这个文件里点击第二行蓝字Introduction to Software Testing即是本节ipynb代码

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值