American Fuzzy Lop

1.安装

下载源码(http://lcamtuf.coredump.cx/afl/)编译安装。

2.插桩

gcc/g++重新编译目标程序的方法是: 
CC=/path/to/afl/afl-gcc ./configure 
make clean all 
对于一个C++程序,要设置: 
CXX=/path/to/afl/afl-g++.

afl-clang和afl-clang++的使用方法类似。

3.运行

afl-fuzz -i dirofin -o dirofout pathofprogram

afl-fuzz负责进行fuzzing的过程,需要指定一个初始test cases的目录、一个存放findings的目录和一个目标程序的目录。

对那些直接从stdin读取输入的目标程序来说,语法如下: 
$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program […params…]

对从文件读取输入的目标程序来说,要用“@@”,语法如下: 
$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program @@

也可以用-f选项,把变异数据写到一个指定的文件。 
没有被instrument的目标程序,可以用qemu模式(-Q)进行fuzz,或者直接用blind-fuzzer模式(-n)。 
使用-t和-m选项,设置fuzz过程的默认timeout和memory limit。 
一般afl-fuzz的fuzzing过程会持续几天时间,如果想要尽早结束,可以使用-d选项。

时间: 2024-11-08 11:31:28

American Fuzzy Lop的相关文章

使用Afl-fuzz (American Fuzzy Lop) 进行fuzzing测试(待续)

作者:Jochen1986 转载请注明出处:http://blog.csdn.net/youkawa/article/details/45696317 1. 具有导向性的模糊测试 Fuzzing技术被证明是当前鉴别软件安全问题方面最强大测试技术.当前大多数远程代码执行和特权提升等比较严重的漏洞都是使用Fuzzing技术挖掘的.然而Fuzzing技术仍然存在着覆盖率低的缺陷.而许多的代码漏洞需要更大的路径覆盖率才能触发,而不是通过纯粹的随机尝试. 为了解决这一问题,已经提出了不少通过提供被测试代码

资源:开源Fuzzers工具列表 (以及其它fuzzing工具)

开源fuzzers? / 开源fuzzing工具的最新列表(Fuzzers,没有标准中文翻译,可以理解为模糊测试工具或者模糊器) 如果你知道有需要添加的部分,那么请在这里或在推特上@Peerlyst来联系我 资源:开源 Fuzzers结构的Peerpower列表: 1.开源Fuzzers工具 2.Fuzzing的线束或框架 3.其它 Fuzzers 工具是免费的,但是和开源比不值得一提 4.Fuzzing的有效超载 5.博客将帮助你更好的了解Fuzz 6.其它关于Fuzzing博客或资源 7.商

afl-fuzz技术初探

afl-fuzz技术初探 转载请注明出处:http://www.cnblogs.com/WangAoBo/p/8280352.html 参考了: http://pwn4.fun/2017/09/21/AFL%E6%8A%80%E6%9C%AF%E4%BB%8B%E7%BB%8D/ http://blog.csdn.net/youkawa/article/details/45696317 https://stfpeak.github.io/2017/06/12/AFL-Cautions/ http

Wings-让单元测试智能全自动生成

Wings-让单元测试智能全自动生成 前言 单元测试是保证软件质量非常有效的手段,无论是从测试理论早期介入测试的理念来看或是从单元测试不受UI影响可以高速批量验证的特性,所以业界所倡导的测试驱动开发,这个里面提到的测试驱动更多的就是指单元测试驱动.但一般开发团队还是很少的系统化的执行单元测试,针对应用软件的测试更多是由专业测试团队来执行黑盒测试.单元测试的最大的难点不在于无法确定输入输出,这毕竟是模块开发阶段就已经定好的,而在于单元测试用例的编写会耗费开发人员大量的工时,按照相关统计单元测试用例

各类Fuzz软件

众所周知,模糊测试技术已经成为了测试软件质量的重要手段.基于模糊测试技术开发的测试工具有很多,其中最长被使用而且改进也是最多的一个工具就是AFL(American Fuzz Lop). 本篇文章不会赘述如何安装afl,以及如何使用afl进行简单的fuzz.由于很多被测程序都有自己的一个入口,而这些入口有的十分清晰,有的则很难挖掘到.为了解决这个问题,有许多软件项目在自己的代码中会给出一个用于测试的程序,一般叫做test-driver,这个程序里面实现了该软件项目的一些主要函数和方法,可以用来对整

awesome-modern-cpp

Awesome Modern C++ A collection of resources on modern C++. The goal is to collect a list of resouces to help people learn about and leverage modern C++11 and beyond. Contributing To add, remove or change things on the list: please submit a pull requ

元启发式算法相关文献

Bibliography [recommendation] a literature survey of various extensions of the VRP occurring in practice : O. Bräysy, M. Gendreau, G. Hasle and A. Løkketangen. “A Survey of Heuristics for the Vehicle Routing Problem, Part I: Basic Problems and Supply

计算机会议排名等级

http://blog.sina.com.cn/s/blog_9c411c310102vs2g.html 附件是计算机领域的学术会议等级排名情况,分为A+, A, B, C, L 共5个档次.其中A+属于顶级会议,基本是这个领域全世界大牛们参与和关注最多的会议.国内的研究者能在其中发表论文的话,是很值得骄傲的成就.A类也是非常好的会议了,尤其是一些热门的研究方向,A类的会议投稿多录用率低,部分A类会议影响力逐步逼近A+类会议.B类的会议分两种,一种称为盛会级,参与的人多,发表的论文也多,论文录用

SCI&EI 英文PAPER投稿经验【转】

英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时间;另外,每个杂志都有他们的具体格式要求,一定要按照他们的要求把论文写好,免得浪费时间,前些时候,我的一个同事向一个著名的英文杂志投稿,由于格式问题,人家过两个星期就退回来了,而且说了很多难听的话,说投稿前首先就应该看清楚他们的格式要求:2. 论文写作一定要言简意赅,特别是摘要,引言和结论部分,特别