黑盒模糊测试之weizz

install

$ git clone https://github.com/andreafioraldi/weizz-fuzzer
cd weizz-fuzzer
make

use

$ mkdir INPUTS
$ cp /path/to/weizz/testcases/5.7kb.avi INPUTS/
$ WEIZZ_CTX_SENSITIVE=1 /path/to/weizz/weizz -i INPUTS -o OUTPUT \
  -d -w -h -Q -L 8k -- ./ffmpeg -y -i @@ -c:v mpeg4 -c:a out.mp4

WEIZZ_CTX_SENSITIVE=1 /home/yan/fuzz/weizz-fuzzer/weizz -i in -o wout -d -w -h -Q -L 8k -- ./pdfdetach @@

论文:WEIZZ: Automatic Grey-Box Fuzzing for Structured Binary Formats

### 黑盒模糊测试概述 黑盒模糊测试是一种通过向目标系统提供大量随机或半随机的数据来检测潜在漏洞的技术。它不需要深入了解被测系统的内部结构,仅依赖于外部接口进行操作[^3]。 #### 黑盒模糊测试的核心概念 黑盒模糊测试的主要目的是发现软件在异常输入下的行为问题,例如崩溃、内存泄漏或其他未预期的行为。这种方法通常用于评估程序的安全性和稳定性。其核心在于生成多样化的输入并观察系统的响应情况[^1]。 --- ### 黑盒模糊测试的方法 #### 输入生成策略 黑盒模糊测试的关键之一是如何有效生成测试用例。常见的方法包括: - **完全随机化**:直接生成无规律的随机数据作为输入。 - **基于变异**:从合法样本出发,通过对已有数据进行修改(如位翻转、字节替换等)创建新的测试用例。 #### 测试执行流程 fuzzing 过程一般遵循以下模式: 1. 准备初始种子集合; 2. 使用上述提到的一种或者多种技术生产新实例; 3. 将产生的实例送入待检对象运行; 4. 记录任何发生的错误状态,比如程序终止信号(SIGSEGV),非法指令等等;如果发现问题,则保存触发该缺陷的具体案例以便后续分析处理[^4]。 --- ### 常见的黑盒模糊测试工具 以下是几种广泛使用的黑盒模糊测试工具: #### AFL (American Fuzzy Lop) AFL 是一种高效的开源 fuzzer ,能够自动探索应用程序路径,并优先选择那些最有可能揭示 bug 的分支覆盖区域。尽管 AFL 主要是一个白盒fuzzer, 它也可以配置成纯黑箱方式工作[^2]。 ```bash afl-fuzz -i input_samples -o findings -- ./target_app @@ ``` #### Pulsar Pulsar 提供了一种机制来自动生成针对网络协议的消息序列。利用先前收集到的知识库——即所谓的“模板”,它可以构造出符合特定上下文约束条件但又故意偏离正常范围之外的有效载荷组合。 #### AutoRunner 虽然主要定位为通用型 GUI 自动化框架,但是由于具备强大的脚本扩展能力以及灵活的任务调度特性,因此同样适用于某些场景下开展大规模并发压力试验或者是边界值试探作业。 --- ### 黑盒模糊测试的实际应用示例 以 CAN 总线为例,在汽车电子控制单元(ECU)之间传递信息的过程中实施高负载环境仿真时,可以采用如下步骤来进行吞吐量层面的压力验证: 1. 设定基础帧格式参数; 2. 动态调整时间间隔分布特征曲线; 3. 施加超出常规规格限定的最大速率冲击波形直至达到饱和点为止。 ```python import can bus = can.interface.Bus() for i in range(1000): msg = can.Message(arbitration_id=0xabcdef, data=[i % 256]*8) bus.send(msg) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

席八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值