test fuzz-01-模糊测试(Fuzz Testing)入门 Atheris、Jazzer、jqf、kelinci、FLA、libfuzzer 对比

news2024/11/17 4:36:07

拓展阅读

开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息)

开源 Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)

test fuzz-01-模糊测试(Fuzz Testing)

test fuzz-02-模糊测试 JQF + Zest Semantic Fuzzing for Java

test fuzz-03-模糊测试 Atheris A Coverage-Guided, Native Python Fuzzer

test fuzz-04-模糊测试 jazzer Coverage-guided, in-process fuzzing for the JVM

test fuzz-05-模糊测试 kelinci AFL-based fuzzing for Java

test fuzz-06-模糊测试 AFL american fuzzy lop - a security-oriented fuzzer

test fuzz-07-模糊测试 libfuzzer

模糊测试(Fuzz Testing)是什么?

模糊测试(Fuzz Testing)是一种自动化的测试方法,通过向程序、应用程序或系统输入注入大量随机或半随机生成的数据(模糊输入),以寻找潜在的安全漏洞、软件缺陷或异常行为。

模糊测试的目标是通过在输入中引入未知、异常或非预期的数据,评估目标系统的鲁棒性和稳定性。

模糊测试流程:

  1. 选择目标:

    • 确定要进行模糊测试的目标,可以是一个应用程序、库、协议等。选择目标通常基于其重要性、复杂性和潜在的攻击面。
  2. 生成模糊输入:

    • 创建模糊测试工具或使用现有工具生成模糊输入。模糊输入通常是通过对有效输入进行随机修改、添加或删除而生成的。
  3. 注入模糊输入:

    • 将生成的模糊输入注入到目标系统中。这可以通过直接发送网络请求、修改文件、通过标准输入等方式进行。
  4. 监测异常行为:

    • 监测目标系统的行为,包括崩溃、错误消息、异常响应等。模糊测试工具通常会监测程序的执行状态,以检测到任何不正常的行为。
  5. 收集反馈:

    • 收集模糊测试过程中观察到的异常行为。这可能包括崩溃日志、错误报告、程序输出等。
  6. 优化模糊输入生成:

    • 根据反馈信息,调整模糊输入生成策略,以生成更有针对性的模糊输入,提高发现漏洞的效率。
  7. 迭代:

    • 重复模糊测试过程,不断优化生成的模糊输入,直到达到预期的测试目标或发现了潜在的问题。

Atheris、Jazzer、jqf、kelinci、FLA、libfuzzer,给出对比表格

下面是对Atheris、Jazzer、jqf、Kelinci、FLA、libFuzzer的对比表格:

功能/特性AtherisJazzerjqfKelinciFLAlibFuzzer
语言PythonJavaJavaJavaCC++
支持的目标程序类型PythonJavaJavaJavaCC/C++
指导性模糊测试✔️✔️✔️✖️✔️✔️
静态分析✖️✖️✖️✖️✔️✖️
动态二进制插桩✖️✔️✖️✔️✔️✔️
支持的反馈机制覆盖率覆盖率覆盖率路径导向覆盖率覆盖率
支持的变异策略多种多种多种多种多种多种
最小化工具自带✔️✔️依赖Kelinci MinimizerFLA Minimizer✔️
支持并行化✖️✔️✖️✔️✔️✖️
支持网络服务✖️✔️✔️✔️✖️✖️
是否开源✔️✔️✔️✔️✔️✔️

在这里插入图片描述

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

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

相关文章

计算机毕业设计选题分享-SSM书籍借阅管理系统04770(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

SSM书籍借阅管理系统 摘 要 随着科学技术的告诉发展,我们已经步入数字化、网络化的时代。图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化的重要基地。图书馆的工作是学校和科学研究工作的重要组成部分&…

ChatGPT付费创作系统V2.5.5独立版+前端

ChatGPT付费创作系统V2.5.5版本优化了很多细节,功能增加增加长篇写作功能。该版本为编译版无开源,本版本特别处理了后台弹窗、暗链网址。特别优化了数据库。升级过程中未发现任何BUG,全新安装或者升级安装均未出现400或者500错误,…

性能分析与调优: Linux 实现 缺页剖析与火焰图

目录 一、实验 1.环境 2.缺页(RSS增长)剖析与火焰图 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter…

密码输入检测 - 华为OD统一考试

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 给定用户密码输入流input,输入流中字符 ‘<’ 表示退格,可以清除前一个输入的字符,请你编写程序,输出最终得到的密码字符,并判断密码是否满足如下的密码安全要求。 密码安全要求如下: 密码长度&…

哈希-力扣202快乐数

题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1&…

gdal获取最小外接矩形

地理信息系统中常用最小外接矩形&#xff08;MBR)表示一个地理要素的大致位置&#xff0c;地理系统中的许多操作&#xff0c;例如空间查询&#xff0c;空间检索&#xff0c;都需要用最小外接矩形建立RTree&#xff0c;以提升运算速度。 gdal中使用OGREnvelope定义最小外接矩阵&…

Linux Debian12系统gnome桌面环境默认提供截屏截图工具gnome-screenshot

一、简介&#xff1a; 在Debian12中系统gnome桌面环境默认提供一个截图捕获工具screenshot,可以自定义区域截图、屏幕截图、窗口截图和录制视频&#xff0c;截图默认保存在“~/图片/截图”路径下。 可以在应用程序中搜索screenshot,如下图&#xff1a; 也可以在桌面右上角找到…

使用JGit拉取代码提示未授权not authorized

原因&#xff1a;2021年8月13日后不支持密码登录&#xff0c;需要使用token验证 调用时候需要先去git仓库创建个人令牌 需要在安全中心创建个人token&#xff0c;使用token名称作为账号&#xff0c;使用token作为密码。 另&#xff1a; Github克隆仓库的三种方式对比&#xff…

数据结构实验2:队列的应用

目录 一、实验目的 二、实验原理 1.1 队列的基本操作 1.1.1 队列的定义 1.1.2 队列的初始化 1.1.3 入队操作 1.1.4 出队操作 1.1.5 检查队列是否为空 1.1.6 返回队列的长度 2.1队列的运用 三、实验内容 问题描述 代码 截图 分析 一、实验目的 1、理解并掌握队列…

基于Python爬虫的B站弹幕可视化

介绍 这是一个基于Python的B站弹幕可视化项目&#xff0c;主要使用了python django、requests、jieba等库。该项目实现了以下功能&#xff1a; 1. 爬取Bilibili视频弹幕数据&#xff1a;通过爬虫获取视频的标题、视频总时长、封面图&#xff0c;视频地址以及所有弹幕数据等。 …

C#.Net学习笔记——CLR核心机制

一、CLR基本介绍 &#xff08;1&#xff09;C(Common) L&#xff08;Language&#xff09; R&#xff08;Runtime&#xff09; IL的运行环境 &#xff08;2&#xff09;从下图可以看到&#xff0c;我们的计算机会先把我们写的语言&#xff0c;编写成IL语言&#xff0c;再给计…

伺服电机:伺服电机的控制模式

一、伺服电机基本的控制模式 在AC伺服系统中&#xff0c;对编码器所发出的脉冲信号或伺服电机的电流进行检测&#xff0c;将检测结果反馈给伺服驱动器&#xff0c;伺服驱动器根据检测结果和相应的控制指令&#xff0c;对伺服电机进行相应的控制&#xff0c;根据指令的不同&…

LeetCode(704)二分查找⭐

给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9 出现…

html+css 文本样式常用属性集合和总结

文本样式 text-transform transform 的意思是使变形 值描述none默认。定义带有小写字母和大写字母的标准的文本capitalize文本中的每个单词以大写字母开头uppercase定义仅有大写字母lowercase定义无大写字母&#xff0c;仅有小写字母inherit规定应该从父元素继承 text-trans…

邮政快递单号查询入口,对快递单号进行提前签收分析

一款优秀的快递单号筛选软件能够给你的工作和生活带来极大的便利。通过合理选择和使用该软件&#xff0c;你将能够轻松管理、高效筛选快递单号&#xff0c;提升工作效率和生活品质。不妨试试我们的【快递批量查询高手】&#xff0c;让你的物流管理更加智能、便捷&#xff01; …

UDP 和 TCP 、HTTP、HTTPS、SOCKS5协议的不同之处及应用场景

UDP 和 TCP、HTTP、HTTPS、SOCKS5 协议的不同之处及应用场景&#xff1a; UDP (User Datagram Protocol)&#xff1a; 不同之处&#xff1a;UDP 是无连接的&#xff0c;不保证数据包的顺序到达或完整性&#xff0c;也没有流量控制和拥塞控制机制。它尽可能快地将数据包从源主机…

Linux--好玩的进度条

前言 先来看看我们想要达到的进度条效果&#xff0c;具体代码会在文章最后面放出。 一、创建文件及Makefile 我们需要实现声明的定义的分离&#xff0c;因此创建如下三个文件。 process.h prcess.c main.c。 touch process.h process.c main.c 同时还需要创建Makefi…

钡铼技术推出注塑机OPC UA网关,助力注塑机行业转型升级

前言 “工欲善其事&#xff0c;必先利其器”&#xff0c;塑料行业也是一样&#xff0c;注塑机就是塑料行业最重要的“器”之一。 “ OPC UA 如果你的注塑应用支持OPC UA无疑会有广泛的适配性。 OPC UA作为工业4.0中一个重要的通信协议&#xff08;IEC 62541&#xff09;&am…

MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 当谈论MySQL高可用性解决方案时&#xff0c;从…

密码学(三)

文章目录 前言一、Software Attestation Overview二、Authenticated Key Agreement三、The Role of Software Measurement 前言 本文来自 Intel SGX Explained 请参考&#xff1a; 密码学&#xff08;一&#xff09; 密码学&#xff08;二&#xff09; 一、Software Attesta…