专业联系方式:honggfuzz缝隙发掘技能原理剖析

访客4年前黑客工具368

专业联系方式:honggfuzz缝隙发掘技能原理剖析

Google开发的AFL(WinAFL)、libfuzzer和honggfuzz是最著名的三大根据代码覆盖率的fuzzer。网上关于AFL(WinAFL)的剖析文章较多,而关于后两者的剖析文章较少。之前泉哥现已写过关于honggfuzz的文章:honggfuzz缝隙发掘技能深究系列。本文是自己学习期间的一个笔记,读者也可当成对泉哥文章的一点弥补。主张读者先阅览泉哥的文章,本文不会再触及重复的内容。
比较其它的fuzzer,honggfuzz有以下特色:
1.含有多个fuzz实在程序(Apache/OpenSSL等等)的示例
2.支撑耐久型fuzzing(Persistent Fuzzing)方式,即长生命周期进程重复调用被fuzz的API
3.支撑Linux/FreeBSD/NetBSD/MacOS/Windows(CygWin)/Android等简直全部干流操作系统
4.支撑根据软件和根据硬件(分支计数(branch counting),指令计数(instruction counting),Intel *** S(Branch Trace Store),Intel PT(Processor Tracing))的反应驱动(Feedback-Driven)
[1]、https://www.microsoft.com/download/details.aspx?id=36982
5.运用底层接口监督进程(linux和NetBSD下运用ptrace),与其它fuzzer比较更| Set-Cookie: _gorilla_csrf=MTU2MzE5MDkwMHxJalZOT0c4MU0zbEJPVmhsVDI1MlRrSTVWM3BJTlhoQlRHdzNSa2hUZEcxc2FFMUtMMDVpVVVocWMxRTlJZ289fCCWbHBsW-9n90ew27ro5Jb1zXiF11Mr1BFa192sGwFS; HttpOnly; Secure有或许从crash中发现并陈述被劫持/疏忽的信号(被fuzz的程序或许截获并躲藏)
 
全体结构
我们首要仍是来看一下代码的全体目录。
android&mac&linux&netbsd&posix&arch.h:对不同操作系统的支撑,头文件统一在arch.h,接下来剖析的代码以linux为例。该目录下有这些文件:
arch.c:arch.h中函数的完结
bfd.c:根据bfd(Binary File Descriptor)完结解析符号/反汇编等功能
perf.c/pt.c:经过perf来运用PT,跟根据硬件的反应驱动有关
trace.c:子进程暂停/停止时剖析记载
unwind.c:根据libunwind完结栈回溯
docs:文档
examples:运用honggfuzz进行fuzz的一些比如
hfuzz_cc&libhfuzz:hfuzz_cc编译被fuzz程序的源代码,添加libhfuzz.a库。libhfuzz目录下有这些文件:
instrument.c:完结各种SanitizerCoverage需求的回调函数
linux.c:封装了libhfcommon/ns.c中的nsEnter/nsIfaceUp/nsMountTmpfs等函数
memorycmp.c:对libc/Apache/SSL/libXML/Samba等程序中触及比较的函数封装,添加instrumentUpdateCmpMap函数,两个参数分别是函数的回来地址和之一次呈现不持平字符的方位。之一次呈现不持平字符的方位越靠后两个值越挨近持平,越有或许走到新的途径

fetch.c/persistent.c:这儿面的代码主要是用于耐久型fuzzing方式的,有两种 *** 运用该方式:
一是把被fuzz的API放在LLVMFuzzerTestOneInput中,然后运用hfuzz_cc/hfuzz_clang test.c -o test指令编译,honggfuzz -P -- ./test工作fuzzer

二是在调用被fuzz的API之前添加HF_ITER获取输入,然后运用hfuzz_cc/hfuzz_clang test.c -o test ~/honggfuzz/libfuzz/libfuzz.a指令编译,honggfuzz -P -- ./

相关文章

牙龈肿痛怎么办(试试这5种方法,减轻痛感)

造成 牙龈肿胀的要素有很多,例如人体容易上火、身患牙周病或是冠周炎和沒有留意口腔健康。牙龈肿胀一直沒有获得减轻得话,会引起多种多样病症,危害大家的进餐。 1、调节好膳食结构 造成牙龈肿胀的要素是容易上...

2021考研国家线正式公布(附历年分数线)

自从考研初试成绩出来后,相信各位准研究生们都在等待国家线的出现,用一个词语来形容,望眼欲穿再合适不过。 就在刚刚,大家在想着晚饭要吃什么的时候,国家线出来了!这一刻,估计全国377万考研党都要疯狂了...

维多利亚的隐秘2015,二十周年大秀,新鲜出炉

我看海内不少都会也开起了维多利亚的隐秘专卖店,现在可不是一样平常的火。 关于维多利亚的隐秘可以查看之前的文章,商品运到海内12刀运费哦: 维多利亚的隐秘专卖店,不说话我就看看 美国的亵服连锁品牌...

锁屏怎么赚钱?哪个锁屏软件赚钱最快

锁屏怎么赚钱?哪个锁屏软件赚钱最快

随着手机应用市场的日益丰富,各种不同类型的手机软件给我们的生活带来越来越多的乐趣和便利,以及更多的手机使用体验,满屏金作为一款锁屏软件,它熟悉且陌生,熟悉的是手机解锁锁屏已是人们的日常习惯,陌生的是它...

校园标语(2021最新校园标语)

  校园标语(2021最新校园标语)   1、励志照亮人生,创业改变命运。【更多文书范文请关注我的头条百思特网号主页】   2、求真尚美,砺志笃行。   3、明确的目标是前进的动力。   4、立志漫长...

盈亏平衡点的计算公式(盈亏平衡点计算例题ppt)

盈亏平衡点的计算公式(盈亏平衡点计算例题ppt)

什么是盈亏平衡点?盈亏平衡分析是通过盈亏平衡点(BEP)分析项目成本与收益的平衡关系的一种方法。各种不确定因素(如投资、成本、销售量、产品价格、项目寿命期等)的变化会影响投资方案的经济效果,当这些因素...