aflplusplus:开源的模糊测试工具!全参数详细教程!Kali Linux教程!(四)

使用

afl-lto

clang LLVM 编译器

1. -help

显示可用选项

afl-lto --help

其他选项同上,这里不再展开叙述。

afl-lto++

1. -help

显示可用选项

afl-lto++ --help

其他选项同上,这里不再展开叙述。

afl-network-client

1. 帮助文档

afl-network-client

 2. 常规使用

afl-network-client 127.0.0.1 8888 4096

afl-network-server

1. 帮助文档

afl-network-server

所需参数

2. -i port

客户端连接的监听端口

afl-network-server -i 8000 -- ./target

 

执行控制设置

3. -f file

被测程序读取的输入文件(stdin)

afl-network-server -i 8000 -f input/sample.txt -- ./target

 

4. -t msec

每次运行的超时时间(1000 毫秒)

afl-network-server -i 8000 -t 1000 -- ./target

5. -m megs

子进程的内存限制(0 MB)

afl-network-server -i 8000 -m 50 -- ./target

6. -Q

使用仅二进制的插桩(QEMU 模式)

afl-network-server -i 8000 -Q -- ./target

7. -U

使用基于 Unicorn 的插桩(Unicorn 模式)

afl-network-server -i 8000 -U -- ./target

8. -W

使用基于 qemu 的 Wine 插桩(Wine 模式)

afl-network-server -i 8000 -W -- ./target

afl-persistent-config

注意:需要使用 root 权限去运行。

sudo afl-persistent-config

afl-plot

1. 帮助文档

afl-plot

2. afl_state_dir

应指向任何 afl-fuzz 活动或停止实例的现有状态目录

3. graph_output_dir

应指向一个空目录,此工具可将生成的图表写入该目录

4. -g, --graphical

(可选)在图形窗口中显示图表(您需要已构建 afl-plot-ui 才能使用此选项)

afl-plot -g findings/default output-graphs

afl-showmap

1. 帮助文档

afl-showmap

必需参数

2. -o file

写入跟踪数据的文件

afl-showmap -o output/map.txt -- ./target input/sample.txt

 

执行控制设置

3. -t msec

每次运行的超时时间(默认值:1000ms)

afl-showmap -o output/map.txt -t 1000 -- ./target input/sample.txt

4. -m megs

子进程的内存限制(默认值:无)

afl-showmap -o output/map.txt -m 20 -- ./target input/sample.txt

5. -O

使用纯二进制插桩(FRIDA 模式)

afl-showmap -o output/map.txt -O -- ./target input/sample.txt 

6. -Q

使用纯二进制插桩(QEMU 模式)

afl-showmap -o output/map.txt -Q -- ./target input/sample.txt 

7. -U

使用基于 Unicorn 的插桩(Unicorn 模式)

afl-showmap -o output/map.txt -U -- ./target input/sample.txt

8. -W

使用基于 qemu 的 Wine 插桩(Wine 模式)(非必需,此处为了与其他 afl-* 工具保持一致)

afl-showmap -o output/map.txt -W -- ./target input/sample.txt

9. -X

使用 Nyx 模式

afl-showmap -o output/map.txt -X -- ./target input/sample.txt

其他设置

10. -i dir

处理此目录下的所有文件,必须与 -o 选项结合使用。使用 -C 时,-o 表示文件;不使用 -C 时,-o 表示目录。每个位图将单独写入文件。

afl-showmap -o output/map.txt -i input  -- ./target input/sample.txt

11. -I filelist

与 -i 选项类似,-I 表示文件列表。

afl-showmap -o output/map.txt -I files.txt -- ./target input/sample.txt

12. -C

收集覆盖率,将所有边写入 -o 并给出摘要。必须与 -i 选项结合使用。

afl-showmap -o output/map.txt -i input -C -- ./target input/sample.txt

13. -q

接收程序的输出,不显示消息。

afl-showmap -o output/map.txt -q -- ./target input/sample.txt

14. -e

仅显示边覆盖率,忽略命中计数。

afl-showmap -o output/map.txt -e -- ./target input/sample.txt 

15. -r

显示实际元组值,而不是 AFL 过滤器值。

afl-showmap -o output/map.txt -r -- ./target input/sample.txt 

16. -s

不对映射进行分类。

afl-showmap -o output/map.txt -s -- ./target input/sample.txt

17. -c

允许核心转储。

afl-showmap -o output/map.txt -c -- ./target input/sample.txt

afl-system-config

afl-system-config 将系统重新配置为高性能模糊测试状态。警告:这会降低系统的安全性!请注意,还有一个 afl-persistent-config,用于设置额外的永久配置选项。

注意:需要使用 root 权限去运行。

sudo afl-system-config 

afl-tmin

1. 帮助文档

afl-tmin

 

必需参数

2. -i file

工具需要压缩的输入测试用例

3. -o file

最小化数据的最终输出位置

afl-tmin -i input/sample.txt  -o output/map.txt -- ./target

 

执行控制设置

4. -f file

测试程序读取的输入文件(标准输入)

afl-tmin -i input/sample.txt  -o output/map.txt -f test -- ./target 

5. -t msec

每次运行的超时时间(1000 毫秒)

afl-tmin -i input/sample.txt -o output/map.txt -t 1000 -- ./target

6. -m megs

子进程的内存限制(0 MB)

afl-tmin -i input/sample.txt -o output/map.txt -m 20 -- ./target

7. -O

使用纯二进制插桩(FRIDA 模式)

afl-tmin -i input/sample.txt -o output/map.txt -O -- ./target

8. -Q

使用纯二进制插桩(QEMU 模式)

afl-tmin -i input/sample.txt -o output/map.txt -Q -- ./target

9. -U

使用基于 Unicorn 的插桩(Unicorn 模式)

afl-tmin -i input/sample.txt -o output/map.txt -U -- ./target

10. -W

使用基于 QEMU 的 Wine 插桩(Wine 模式)(此处并非必需,为了与其他 afl-* 工具保持一致)

afl-tmin -i input/sample.txt -o output/map.txt -W -- ./target

11. -X

使用 Nyx 模式

afl-tmin -i input/sample.txt -o output/map.txt -X -- ./target

最小化设置

12. -e

求解边仅覆盖,忽略命中计数

afl-tmin -i input/sample.txt -o output/map.txt -e -- ./target

13. -l bytes

设置最小块删除长度以加快最小化速度

afl-tmin -i input/sample.txt -o output/map.txt -l 24 -- ./target

14. -x

将非零退出代码视为崩溃

afl-tmin -i input/sample.txt -o output/map.txt -x -- ./target

15. -H

最小化挂起(挂起模式)

afl-tmin -i input/sample.txt -o output/map.txt -H -- ./target

afl-whatsup

afl-fuzz 状态检查工具

1. 帮助文档

afl-whatsup

2. -d

包含失效模糊器的状态

afl-whatsup -d output

 

3. -m

仅显示最少量的状态

afl-whatsup -m output

 

4. -n

无彩色输出

afl-whatsup -n output

 

5. -s

跳过详细信息,仅输出摘要结果

afl-whatsup -s output

总结

AFL++ 作为经典模糊测试工具 AFL 的增强版,不仅继承了高效的变异引擎和语义感知能力,还引入了多种现代化特性,如持久化模式、QEMU 模拟、协作模糊和自定义调度器等,极大地扩展了其在不同测试场景中的适用性。实际应用表明,AFL++ 在发现内存安全漏洞、未处理的异常逻辑及边界条件问题方面表现出色,尤其适合构建自动化、安全性强的漏洞挖掘体系。掌握并灵活运用 AFL++,将大大提升安全研究人员在协议测试、二进制分析与软件审计中的效率和深度。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区间合并:牛奶

区间合并:牛奶 牛奶 www.acwing.com/problem/content/description/1345/ 本质就是区间合并问题从第一次挤奶才开始计算两个最长时间 import java.util.*;public class Main {static final int N 5010;static Pair[] pairs new Pair[N];static class Pair imple…

Hive实现值列表横向展示(非列转行)

一、场景说明: 当前有各个流程的节点名称和节点时间。数仓中的表存在的格式为纵向存储,分别为节点名称、接收时间 现数据分析过程中需要将每个流程的节点时间横向展示,如果没有该节点则置空 这种区别于行转列和列转行的操作。(具体可参考博主**

蓝桥杯20151 跳石头

问题描述 小明正在和朋友们玩跳石头的小游戏,一共有 n 块石头按 1 到 n 顺序排成一排,第 i 块石头上写有正整数权值 ci​ 。 如果某一时刻小明在第 j 块石头,那么他可以选择跳向第 jcj​ 块石头 (前提 jcj≤n )或者跳…

深度学习——基于卷积神经网络的MNIST手写数字识别详解

文章目录 引言1. 环境准备和数据加载1.1 下载MNIST数据集1.2 数据可视化 2. 数据预处理3. 设备配置4. 构建卷积神经网络模型5. 训练和测试函数5.1 训练函数5.2 测试函数 6. 模型训练和评估6.1 初始化损失函数和优化器6.2 训练过程 7. 关键点解析8. 完整代码9. 总结 引言 手写数…

Activiti初识

文章目录 1 工作流介绍1_工作流概念介绍2 工作流系统3 适用行业4 具体应用5 实现方式 2 Activiti介绍1_BPM2 BPM 软件3 BPMN 3 使用步骤1_部署 activiti2 流程定义3 流程定义部署4 启动一个流程实例5 用户查询待办任务(Task)6 用户办理任务7 流程结束 4 Activiti应用1_Activiti…

CyclicBarrier入门代码解析

文章目录 核心思想:组队出游,人到齐了才出发 🚌最简单易懂的代码示例代码解析运行效果分析CyclicBarrier vs CountDownLatch 的关键区别CyclicBarrier在业务系统里面通常有什么常用的应用场景核心应用模式1. 数据并行处理与ETL(最…

Maven 配置中绕过 HTTP 阻断机制的完整解决方案

Maven 配置中绕过 HTTP 阻断机制的完整解决方案 一、背景与问题分析 自 Maven 3.8.1 版本起&#xff0c;出于安全考虑&#xff0c;默认禁止了对 HTTP 仓库的访问。这一机制通过 <mirror> 配置中的 maven-default-http-blocker 实现&#xff0c;其作用是拦截所有使用 HT…

【大厂机试题解法笔记】恢复数字序列

题目 对于一个连续正整数组成的序列&#xff0c;可以将其拼接成一个字符串&#xff0c;再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211,原来的正整数10就被拆成了0和1。 现给定一个按如上规则得到的打乱字符的字…

MongoDB 事务有哪些限制和注意事项?

MongoDB 的多文档 ACID 事务虽然强大&#xff0c;但在使用时确实有一些限制和需要特别注意的事项。 以下是主要的限制和注意事项&#xff1a; 1. 性能开销 (Performance Overhead) 额外协调: 事务需要额外的协调工作&#xff0c;包括跟踪事务状态、管理锁&#xff08;即使是乐…

CTF实战技巧:获取初始权限后如何高效查找Flag

CTF实战技巧&#xff1a;获取初始权限后如何高效查找Flag 在CTF比赛中&#xff0c;获得初始访问权限只是开始&#xff0c;真正的挑战在于如何在系统中高效定位Flag。本文将分享我在渗透测试中总结的系统化Flag搜索方法&#xff0c;涵盖Linux和Windows双平台。 引言&#xff1a;…

kafka Tool (Offset Explorer)使用SASL Plaintext进行身份验证

一、前面和不需要认证的情况相同&#xff1a; 1、填写Properties中的cluster name和版本&#xff0c;以及zk的ip和port 2、Advanced中填写bootstrap servers 二、和不需要认证时不同的点&#xff1a; 1、Security的Type&#xff0c;不需要认证时选plaintext&#xff0c;需要认…

最小费用最大流算法

最小费用最大流算法 原理 问题:网络中有源点(起点)和汇点(终点),每条边有流量上限和单位流量费用。求: 从源点到汇点的最大流量在流量最大的前提下,总费用最小核心思想:在找增广路时,选择单位费用之和最小的路径(使用SPFA找最短路) 实现步骤 建图:使用链式前向…

从汇编的角度揭开C++ this指针的神秘面纱(上)

C中的this指针一直比较神秘。任何类的对象&#xff0c;都有一个this指针&#xff0c;无处不在。那么this指针的本质究竟是什么&#xff1f;this指针什么时候会被用到&#xff1f;今天通过几段简单的代码&#xff0c;来揭秘一下。 要先揭秘this指针&#xff0c;先来说一下函数调…

18 - GCNet

论文《GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond》 1、作用 GCNet通过聚合每个查询位置的全局上下文信息来捕获长距离依赖关系&#xff0c;从而改善了图像/视频分类、对象检测和分割等一系列识别任务的性能。非局部网络&#xff08;NLNet&…

人工智能学习17-Pandas-查看数据

人工智能学习概述—快手视频 人工智能学习17-Pandas-查看数据—快手视频

RV1126+OPENCV在视频中添加LOGO图像

一.RV1126OPENCV在视频中添加LOGO图像大体流程图 主要是利用RV1126的视频流结合OPENCV的API在视频流里面添加LOGO图像&#xff0c;换言之就是在RV1126的视频流里面叠加图片。大体流程我们来看上图&#xff0c;要完成这个功能我们需要创建两个线程(实际上还有初始化过程&#xf…

汽车制造通信革新:网关模块让EtherCAT成功对接CCLINK

‌在现代工业自动化生产领域&#xff0c;不同品牌和类型的设备往往采用不同的通信协议&#xff0c;这给设备之间的互联互通带来了挑战。某汽车制造企业的生产线上&#xff0c;采用了三菱FX5U PLC作为主站进行整体生产流程的控制和调度&#xff0c;同时配备了库卡机器人作为从站…

vue父类跳转到子类带参数,跳转完成后去掉参数

当通过路由导航的时候&#xff0c;由于父类页面带参数到子类&#xff0c;导致路径上面有参数 这样不仅不美观&#xff0c;而且在点击导航菜单按钮时还会有各种问题&#xff0c;这时我们只需要将路由后面的参数去掉就好了&#xff0c;在子页面mounted()函数里面获取到父类的参数…

纯 CSS 实现的的3种扫光效果

介绍一个比较常见的动画效果。 在日常开发中&#xff0c;为了强调凸显某些文本或者元素&#xff0c;会加一些扫光动效&#xff0c;起到吸引眼球的效果&#xff0c;比如文本的 或者是一个卡片容器&#xff0c;里面可能是图片或者文本或者任意元素 除此之外&#xff0c;还有那…

如何在FastAPI中构建一个既安全又灵活的多层级权限系统?

title: 如何在FastAPI中构建一个既安全又灵活的多层级权限系统? date: 2025/06/14 12:43:05 updated: 2025/06/14 12:43:05 author: cmdragon excerpt: FastAPI通过依赖注入系统和OAuth2、JWT等安全方案,支持构建多层级权限系统。系统设计包括基于角色的访问控制、细粒度权…