hollk
FUZZ && PWN
展开
-
【黑盒模糊测试】路由器固件漏洞挖掘实战--AFL++ qemu_mode
在实际工作中,例如物联网、车联网固件文件系统中已经编译好的应用二进制程序来讲,我们关注的重点往往是厂商自己开发的应用程序是否会存在漏洞,这个时候就出现了无源码的binary-only(黑盒测试)情况原创 2023-02-22 18:14:47 · 3658 阅读 · 2 评论 -
【Custom Mutator Fuzz】Libprotobuf + AFLapp Custom Mutator Input
本篇文章主要讲述数据如何在传递给AFL++之前,通过后处理的方式进行自定义突变。本篇也是【custom mutator】系列的最后一篇文章,祝愿正在看这篇文章的你能够早日得到自己的原创漏洞~原创 2022-06-07 10:30:00 · 1054 阅读 · 2 评论 -
【Custom Mutator Fuzz】Libprotobuf + AFLapp Custom Mutator
这篇文章主要是在libprotobuf-mutator_fuzzing_learning开源模糊测试练习项目第4个练习的基础上进行详细讲解,主要内容为通过libprotobuf-mutator为AFL++提供自定义protobuf结构突变。练习和写作的过程中也是踩了不少的坑,文章末尾会有我遇到的全部问题及解决办法原创 2022-05-22 14:26:30 · 857 阅读 · 0 评论 -
【Custom Mutator Fuzz】AFL++自定义突变API
前言其实这篇是临时加进来的,因为下一篇文章是libprotobuf + AFL++的内容,所以写的时候需要使用AFL++自定义突变的API,觉得还是需要单独写一篇API的介绍,一共十一个方法,也不是很多,下一篇文章就不再用大篇幅描述API了~编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノPS:文章末尾有联系方式,交个朋友吧~本文链接:模糊测试系列往期回顾:【Custom Mutator Fuzz】Libprotobuf + LibFuzzer Custom M.原创 2022-05-19 18:36:16 · 1072 阅读 · 5 评论 -
【Custom Mutator Fuzz】Libprotobuf + LibFuzzer Custom Mutator
这篇文章主要讲的是在Libprotobuf-mutator与LibFuzzer联合使用的基础上,加上custom mutator功能。首先需要明确的是为什么要这么做,那么假设b字段只有为"FUZZ"或"PWN"两个字符的时候才能进入下一个程序分支的情况,当然LibFuzzer也可以在代码覆盖率的加持下进入下一个程序分支,但如果你通过逆向的方式已经知道了这个关键点,难道还需要等LibFuzzer跑出这两个字符串吗?原创 2022-05-16 13:22:29 · 965 阅读 · 3 评论 -
【Custom Mutator Fuzz】Libprotobuf + LibFuzzer联合使用
终于到了与fuzzer结合使用的章节了,本篇文章为Libprotobuf mutator fuzzing learning项目的第二个练习,其中有一些坑点,在本文中也进行了标注编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノPS:文章末尾有联系方式,交个朋友吧~本文链接:模糊测试系列往期回顾:【Custom Mutator Fuzz】简单Protobuf使用练习【Custom Mutator Fuzz】Protocol Buffer基础(下):C++生成代.原创 2022-05-12 00:06:07 · 890 阅读 · 3 评论 -
【Custom Mutator Fuzz】简单Protobuf使用练习
前面两篇文章中已经讲解了protobuf的结构以及生成代码的分析,这篇文章简单的介绍一下protobuf的使用。这里主要跟着libprotobuf-mutator_fuzzing_learning项目进行结构感知模糊测试练习原创 2022-05-10 16:14:52 · 849 阅读 · 0 评论 -
【Custom Mutator Fuzz】Protocol Buffer基础(下):C++生成代码介绍 + 配套代码
这篇文章主讲的是生成的C++文件如何进行调用。因为毕竟最后和fuzzer一起使用的还是生成的C++调用接口。因为上一篇文章讲解的是proto2的语法,所以本篇依然还是proto2生成代码讲解原创 2022-05-09 20:23:57 · 821 阅读 · 0 评论 -
【Custom Mutator Fuzz】Protocol Buffer基础(上):proto2编写格式
Protocol Buffer简称PB,是Google的一种独立的数据交换格式,独立于语言,独立于平台,所以PB的适配性非常好。在模糊测试专栏中PB可以算得上是一个前置的知识,通过它来配合fuzzer进行结构感知模糊测试。这篇主要理解proto2版本编写格式~原创 2022-05-08 16:13:00 · 883 阅读 · 0 评论 -
【Custom Mutator Fuzz】libprotobuf-mutator安装
在之前的文章中,主要使用AFL、AFL++和libfuzzer此类fuzzer进行模糊测试实验,结构化输入的时候依靠字节的变异可能会破坏输入数据整体的结构,那么就需要使用protobuf协助构建结构化输入原创 2022-04-12 08:58:45 · 2131 阅读 · 0 评论 -
LibFuzzer学习(三):使用小trick
LibFuzzer使用最后一篇,主讲交叉检查、解决竞争问题、最小化语料库、最小化reproducer。文章结尾有联系方式,交个朋友吧~原创 2022-03-26 16:43:55 · 1054 阅读 · 2 评论 -
LibFuzzer学习(二):提高代码覆盖率和速度
前一篇文章中展示了libfuzzer的基本用法,在实际的模糊测试过程中,仅仅使用基础的用法会消耗非常多的时间,也会因为代码覆盖率不足的原因导致找不到想要的漏洞。这就需要通过一些技巧来提升代码覆盖率和速度原创 2022-03-22 17:32:46 · 2107 阅读 · 0 评论 -
LibFuzzer学习(一):轻松找到心脏出血漏洞
第一次尝试使用LibFuzzer进行模糊测试,感觉上手没有那么困难。文章在demo部分展示基本使用方法,后半部分实践复现心脏出血漏洞~原创 2022-03-16 16:48:04 · 2084 阅读 · 1 评论 -
Fuzz出结果不会看?Address Sanitizer(ASan)各类溢出demo分析
fuzz出结果不会看?漫长的等待迎来了crash但是不知道该如何分析?看看这篇ASan溢出demo分析,fuzz后研究思路更加清楚~原创 2022-02-23 17:39:26 · 2123 阅读 · 0 评论 -
Fuzzing101 Exercise 5 - LibXML2 学习笔记
本篇文章主要记录Fuzzing 101 Exercise 5 - LibXML2的学习过程,本次练习展示如下知识点:使用字典进行目无测试、多核并行化模糊测试工作编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ原创 2022-01-12 12:23:39 · 1244 阅读 · 7 评论 -
Fuzzing101 Exercise 4 - LibTIFF 学习笔记
本篇文章主要记录Fuzzing101 Exercise 4 - LibTIFF的学习过程,本次练习展示如下知识点:什么事代码覆盖率,如何使用LCOV测量fuzz结果代码覆盖率,编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ原创 2022-01-10 11:46:35 · 1050 阅读 · 0 评论 -
Fuzzing101 Exercise 3 - TCPdump 学习笔记
本篇文章主要记录Fuzzing101 Exercise 3 - TCPdump的学习过程,本次练习展示如下知识点:什么是ASAN(Address Sanitizer)、如何使用ASAN对目标进行模糊测试、ASAN对崩溃分类展示情况(~~后续可能单独出一章~~) 编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ原创 2022-01-06 14:24:11 · 1465 阅读 · 0 评论 -
Fuzzing101 Exercise 2 - Libexif 学习笔记
本篇文章主要记录Fuzzing101 Exercise2 - Libexif的学习过程,本次练习会展示如下知识点:AFLplusplus的安装与使用、漏洞存在于外部库时如何进行模糊测试、使用eclipse进行调试验证编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ原创 2021-12-31 14:46:56 · 1667 阅读 · 1 评论 -
Fuzzing101 Exercise 1 - Xpdf学习笔记
本篇文章中主要记录Fuzzing101中Exercise 1的学习过程,关于文章中所用到的测试工具与测试目标,将会在后面的内容中展现。通过本文,将会将会学习到对目标应用程序进行插桩、AFL-FUZZ的使用、GDB验证fuzz结果。编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ原创 2021-12-23 16:41:56 · 2516 阅读 · 7 评论 -
AFL源码分析之afl-fuzz.c详细注释(二):FUZZ执行流程(五万字警告,慎入)
fuzz主流程一路跟下来见识到变异的巧妙,不禁感叹变异规则的强大,AFL源码注释章节系列到本文为止就结束了,内容一如既往地多,差不多有五万字左右。后续在第二阶段中会对fuzzing 101进行练习记录,如果感兴趣可以订阅模糊测试专栏~原创 2021-12-17 16:37:18 · 2381 阅读 · 4 评论 -
AFL源码分析之afl-fuzz.c详细注释(一):初始配置(6万字警告,慎入)
到了AFL中主要的执行部分afl-fuzz.c,8700行的代码注释起来属实有点长,所以会分几篇文章分段写。这篇文章主要注释的时初始化配置函数,其中对绝大部分代码做了注释。如果下定决心想要走一遍,建议一边调试一边阅读本文,如果只是对单个函数不是很清楚原理,可以点击函数列表中的锚点跳转至对应的函数代码~原创 2021-12-07 11:42:51 · 3618 阅读 · 8 评论 -
AFL源码分析之afl-as.c详细注释
前言afl-as注释好了,明白了是如何进行插桩的,以及插在哪里本文主要参考Sakura大佬文章:https://eternalsakura13.com/2020/08/23/afl/编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ/* Copyright 2013 Google LLC All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); y原创 2021-11-15 12:27:49 · 1706 阅读 · 4 评论 -
AFL源码分析之afl-gcc.c详细注释
前言很久之前就想拿出一块时间好好看看AFL,不过因为一些事情耽误了。最近学习了一下boofuzz在协议方面的模糊测试,通过sakura大佬的点拨觉得还是应该静下心好好看看AFL的源码,写出来就当是笔记了。本文主要参考初号机大佬博客,大佬连接及AFL源码下载地址如下:初号机大佬链接:https://bbs.pediy.com/thread-265936.htmAFL项目链接:https://github.com/google/AFL编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪原创 2021-11-11 15:52:07 · 3136 阅读 · 4 评论