问题标签 [libfuzzer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

clang - libfuzzer fuzzing 线束崩溃不可重现

我想从stbi 线束中对现有线束进行模糊测试并进行一些小改动。从free(img)if(img) free(img);

用这个命令编译clang -fsanitize=fuzzer,address -ggdb -O0 stbi_read_fuzzer.c -o fuzzer,然后运行./fuzzer corpus -fork=1 -ignore_crashes=1 -dict=jpeg.dict -seed=123

几个小时后,它会产生一些崩溃(全局缓冲区溢出,空闲后堆使用,缓冲区溢出)。但是当我运行所有崩溃文件时它并没有崩溃

为什么没有崩溃?我正在使用来自 apt.llvm.org 的 ubuntu 20.04 和 llvm12

0 投票
1 回答
143 浏览

c - 如何解决 C 代码中的堆缓冲区溢出问题?

我对 C 编码相当陌生,我有一个任务是在基本的 C 程序上运行 libFuzzer 以利用问题并修复它们。这是我的 C 程序(它需要一个字符串输入并将“&”更改为“&”,将“>”更改为“>”,将“<”更改为“<”):

这是来自 libFuzzer 的错误消息:

谁知道如何解决这个堆缓冲区溢出问题?谢谢!

0 投票
0 回答
17 浏览

clang - 如何使用 LibFuzzer 创建插入或删除突变?

LibFuzzer具有可以由最终用户实现的功能,如下所示:

我是否可以自由地有时插入一些字节data从而使其变大?我假设max_size可能不会超过?如果我需要比max_bytes执行必要的插入更多的字节,我会怎么做?我要退回新尺码吗?

0 投票
0 回答
17 浏览

c - 为 Autotools 库创建一个 libfuzzer

我有一个使用Autotools Mythbuster作为构建系统的 Linux 库。这是Makefile.am图书馆的:

我想为这个库创建一个 libfuzzer,因此我继续在一个名为的文件上为我的 fuzzer 创建了一个简单的入口点sampletest.c

并编写以下内容Makefile.am来构建我的 libfuzzer

但是如果我继续输入make,我会收到以下错误:

gcc: error: unrecognized argument to '-fsanitize=' option: 'fuzzer'

如果我不包括我的“模糊器”部分Makefile.am,那么它会说:

(.text+0x24): undefined reference to 主要'`

我应该怎么办 ?