编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
easyfuzzer是款基于windows平台免费的模糊测试工具,精简高效,功能全面,主要帮助软件开发者测试所开发产品中存在的相关漏洞,其中包括但不局限于:各种播放器,图片浏览器,文档处理工具等等。该工具共有三个模块,分别为文件fuzz模块、智能fuzz模块、FTPfuzz模块,让你的设备能够在一个完全绿色的环境下运行。
easyfuzzer特色
特点是:容易,精简,高效,智能。
容易:非常容易上手,不需要什么配置。有了他小学生也可以挖漏洞了,再也不愁没有0day了。
精简:为了容量和速度,软件采用100%汇编语言编写。排除了以往fuzzer的无用功能。绿色软件。
高效:由于采用汇编语言编写,并且支持多线程fuzz,因此速度极快。
智能:具有忽略异常等功能。
强大:支持智能fuzz,可以挖掘复杂文件格式的漏洞。
easyfuzzer使用说明
模板文件:选取正常的文件(在此文件基础上进行变异)
目标路径:存放变异样本的路径。选日志前一定要保证路径存在.
后缀名:填写样本的后缀名
宿主程序:要挖掘软件的路径
easyfuzzer使用教学
1 进行样本生成
2 样本生成的文件进行挖掘
然后介绍选项窗口
选项窗口包括一些高级选项
异常日志:存放异常信息的日志. 选日志前一定要保证路径存在。
运行时间:对每一个样本处理的生命周期。 不同性能的计算机,和不同的测试目标(浏览器,播放器,还是图片查看器) 对这个数值要求是不同的。数值过大会降低实验效率,浪费能源。数值多小则会让测试无法正常进行。
开启速率:多少时间启动一个开启线程。
合理配置好运行时间和开启速率这2个数值,可以大大提高fuzz效率。
如图:运行时间是开启速率的4倍,基本上程序是在四进程上运行。
引擎1: 适合较小文件的漏洞挖掘 主要用于挖掘整数溢出的漏洞。效率较低,覆盖面较广。
引擎2: 用于较大文件的漏洞挖掘(至少大于1KB),主要用于挖掘缓冲区溢出漏洞。
更多引擎正在开发中。
忽略异常这个选项用于异常误报的处理。这里不再讨论。
更多功能正在开发中。下面用他对sdemo视频工具做fuzz。
2.smv是我提前做个一个标准视频样本。
我们选择引擎2 对他生成畸形样本。
点击生成文件。
几秒钟后一句生成完毕
打开文件夹,这里已经生成了大量样本。
这时候我们点击fuzzing。
这时候程序正在高负荷的fuzzing,并且是多线程的哦!
已经挖掘一部分了,由于时间问题,我提前结束了fuzz
在logo日志内,我们发现了异常日志 某日志现实687号文件出现异常
手动验证下,确实异常了。
其实这就是一个缓冲区溢出漏洞。
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。