Git Product home page Git Product logo

microsvuln / riufuzz-pub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from riusksk/riufuzz-pub

0.0 1.0 0.0 203.62 MB

riufuzz —— honggfuzz modifited version by riusksk, better support for windows (cdb symbols) and macOS, and more colorful UI

License: Apache License 2.0

Makefile 2.28% C 42.09% Shell 0.81% Python 3.86% C++ 0.56% BlitzBasic 49.68% Perl 0.32% Batchfile 0.02% Go 0.29% HTML 0.09%

riufuzz-pub's Introduction

riufuzz

Feedback-Driven Mode on Linux

Dry Run Mode on Windows/Cygwin

External Mode on Windows/Cygwin

Dumb Fuzzing Mode on macOS

2018-02-06 更新说明

  1. 发布v1.1版本
  2. 增加Windows崩溃样本去重功能
  3. 使用cdb自动分析崩溃,包括可利用性、漏洞类型,以及栈回溯等信息
  4. 增加External Fuzzer运行模式
  5. 增加bing_download脚本用于批量下载样本
  6. 修复cygwin下的多处bug

2018-01-01 更新说明

  1. 更新运行时间格式
  2. 使用 cdb 监控 windows 平台下的应用崩溃,并添加相应的设置脚本
  3. 支持 macOS 10.13
  4. 在 Dry Run 模式下增加剩余时间
  5. 使用 "@@" 代替 "___FILE___"
  6. 增加 "--monitor_sigabrt" 选项以支持忽略abort信号
  7. Windows平台 Dry Run 模式下崩溃样本名称包含原始文件名
  8. 更改 coverage 显示信息

2017-09-15 更新说明

  1. 修复无样本后缀名的bug
  2. 修复sprintf栈溢出漏洞
  3. 修复cygwin下程序名提取的显示bug
  4. 增加"Dry Run Mode"模式,用于验证漏洞,并不做文件变异处理
  5. 变更界面高亮风格
  6. 仅在漏洞被验证后才会发送邮件通知
  7. 移植新版honggfuzz中的界面固定显示位置的功能
  8. 更换安装目录,免去root权限安装
  9. 添加Windows平台下基于cdb.exe的崩溃监控脚本

2017-07-02 更新说明

  1. 修复cygwin下样本路径识别错误的问题
  2. 支持中断后各线程退出
  3. 显示输入的样本数
  4. 去掉变异文件的隐藏性
  5. 增加发现漏洞时的邮件通知(配置方法参见《Mac OS X 下用命令行发送邮件》

2017-04-20 更新说明

  1. 增加字体格式分析脚本;
  2. 增加 google 批量文件下载工具;
  3. 添加 fuzzer 脚本;
  4. 增加针对闭源程序的基于代码覆盖率的样本筛选工具;
  5. 使用样本绝对路径,解决部分软件无法识别样本路径的问题;
  6. 增加百度 pdf 批量下载脚本;
  7. 修复 macOS 10.12.4 系统下的编译问题;
  8. 添加 libarchiver fuzzer
  9. 添加Windows GUI 程序崩溃监控

2016-12-03 更新说明

  1. fix bug:保留后缀名的bug;
  2. 增加显示最后一次新路径发现距离现在的时长;
  3. 移植afl中的各种不同文件格式的字典文件,通过-w可直接传递使用
  4. 添加make install安装命令
  5. 精简CPU使用率的显示
  6. 添加macOS系统下的fuzzing脚本

2016-11-20 更新说明

  1. 修改显示内容,高亮标题,精简内容;
  2. 增加-e any参数选项,以保持原始样本后缀,因为有些GUI程序有检测后缀名(默认为.fuzz),设置后则允许同时fuzzing多种文件格式,比如图片格式;
  3. fix bug: 增加Windows平台下的超时检测,若超时则自己关闭程序;
  4. 修复-C代码覆盖率驱动导致无语料库输入则中断的bug,保证能生成sancov.map等文件;
  5. 增加扩展fuzzer的功能,通过-c参数(原始功能无法使用,只会生成空文件导致程序中断)指定fuzzer文件名,默认传递样本(文件名为honggfuzz.*的格式),它会代替原有的fuzzer策略;
  6. 当硬盘空间不足时,自动提醒并等待用户清理完毕后,输入y命令即可继续fuzzing。
  7. 增加execvp执行结果检测,以匹配最新版macOS,虽无实际功能,但若不增加,有时可能会因此导致无法正常启动目标程序。

Description

  • A general-purpose, easy-to-use fuzzer with interesting analysis options. See USAGE for details
  • Supports several hardware-based (CPU) and software-based feedback-driven fuzzing methods
  • It works (at least) under GNU/Linux, FreeBSD, Mac OS X, Windows/CygWin and Android
  • Supports persistent modes of fuzzing (long-lived process calling a fuzzed API repeatedly) with libhfuzz
  • Can fuzz standalone long-lasting processes (e.g. network servers like Apache's httpd and ISC's bind)

Code

Requirements

  • Linux - The BFD library (libbfd-dev) and libunwind (libunwind-dev/libunwind8-dev)
  • FreeBSD - gmake
  • Android - Android SDK/NDK. Also see this detailed doc on how to build and run it
  • Windows - CygWin
  • if Clang/LLVM is used - the BlocksRuntime Library (libblocksruntime-dev)

Trophies

The tool has been used to find a few interesting security problems in major software packages; Examples:

Other

This is NOT an official Google product.

riufuzz-pub's People

Contributors

aaronc100 avatar anestisb avatar dyjakan avatar manouchehri avatar riusksk avatar robertswiecki avatar rtzoeller avatar tl0gic avatar tunz avatar wifiadmin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.