问题标签 [american-fuzzy-lop]
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.
macos - 找不到'/opt/local/bin/clang'
背景资料
我正在尝试在 MacOS X 上安装 AFL,并且一直按照https://reverse.put.as/2017/07/10/compiling-afl-osx-llvm-mode/上的说明进行操作。当我输入$make
终端时,出现以下错误。
[*] Checking for working 'llvm-config'...
[*] Checking for working '/opt/local/bin/clang'...
[-] Oops, can't find '/opt/local/bin/clang'. Make sure that it's in your $PATH (or set $CC and $CXX).
make: *** [test_deps] Error 1
我注意到 clang 位于 /Library/Developer/CommandLineTools/usr/bin 中。这是我clang -v
在终端输入时的详细信息:
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
问题
如何将 clang 移动到以下目录“/opt/local/bin/clang”?或者我还能做些什么来解决这个问题?
reverse-engineering - 模糊命令行参数 [argv]
我有一个二进制文件,我一直在尝试用 AFL 进行模糊测试,唯一的事情是 AFL 只模糊 STDIN 和文件输入,这个二进制文件通过它的 arguments 接受输入pass_read [input1] [input2]
。我想知道是否有任何方法/模糊器允许以这种方式进行模糊测试?
我没有源代码,所以制作线束并不适用。
llvm - 无法使用 afl-clang-fast++ 交叉编译和链接源代码
我正在尝试使用 afl plus plus clang 编译器(llvm_mode)来模糊一个简单的 C++ 代码。我能够模糊代码并生成 ARM 目标文件,但链接时失败。我想我错过了一些链接器选项。任何帮助,将不胜感激
以下是我的命令:
root 和 sysroot 值如下
从输出中,我可以得出结论,在 Linaro 工具链的帮助下,编译正在进行但链接失败
输出:
python - Pytest6 and Python2? How to get them together?
I have a couple questions about QSYM and master-slave in AFL.
export AFL_ROOT="/workdir/afl-2.52b"
export INPUT="/workdir/example/input"
export OUTPUT="/workdir/example/output"
export AFL_CMDLINE="/workdir/example/test.bin @@"
$AFL_ROOT/afl-fuzz -S afl-slave -i $INPUT -o $OUTPUT -- $AFL_CMDLINE
When I put in $AFL_ROOT/afl-fuzz -S afl-slave -i $INPUT -o $OUTPUT -- $AFL_CMDLINE
, an error "-S is undefined" appeared.
How do I fix this? According to the ReadMe file in AFL, I am certain that "-S" is a legit command.
- QSYM uses an old version of Python (Python2), while to compile the Python files for QSYM I am asked to use the latest version of Pytest (Pytest6), which requires Python3.
Even I tried to upgrade my pytest by using Python3 on my PC doesn't work, as long as it detects Python2, it doesn't let me upgrade pytest to version 6.
An Error:
Python 2.7 reached the end of its life on January,2020 please upgrade pytest to its latest version has appeared.
What should I do?
To know more about QSYM, please goto this GitHub link: https://github.com/sslab-gatech/qsym
Thank you.
fuzzing - 如何让 Libfuzzer 像 AFL 一样不停地运行?
我一直在尝试使用 AFL 和 Libfuzzer 进行模糊测试。我遇到的显着差异之一是,当 AFL 执行时,它会连续运行,除非开发人员手动停止它。
另一方面,Libfuzzer 在识别出错误时停止模糊测试过程。我知道它允许通过jobs=N
命令添加并行模糊测试,但是当识别出错误时这些进程仍然停止。
这种行为背后有什么原因吗?
此外,除非开发人员停止模糊测试过程,否则是否有任何命令允许 Libfuzzer 连续运行?
fuzzing - 使用 afl++ 时的错误
我正在尝试熟悉 afl++ 的用法。我写了一个简单的程序,如果 argv[1] 太长,它会因为缓冲区溢出而崩溃。
我希望 afl++ 很快就会发现崩溃,但在运行了相当长的一段时间后,可能大约 2 小时,我还没有看到任何崩溃记录。
我使用的命令行是
该程序是用
有趣的是,当我解决这个问题时,我在输入文件中放入了一些 ASCII 字符,例如字符“Z”并修改了命令行afl-fuzz -i afl_inputs -o afl_outputs -- ./target_application @@
,afl++ 将立即终止,说明其中一个测试用例导致了崩溃。
此外,我尝试使用该输入文件运行应用程序本身,./target_application ./afl_inputs/input.txt
但./target_application < ./afl_inputs/z.txt
它在两种情况下都不会崩溃。
问题
- 我究竟做错了什么?
- 由于 afl++ 模糊标准输入,如果我没有指定“@@”,我可以假设 argv[1] 应该填充随机值吗?虽然看起来我的假设是错误的。
- “@@”是否意味着它将从我的输入文件中读取并将读取的内容放入命令行(从我从文档中读取的内容,似乎是这种情况)?
web - 使用 AFL++ Fuzz Web 应用程序并记录错误消息
我在 Linux 上工作。我想要做的是通过 afl++ 对 Web 应用程序进行模糊测试。我的目标不是找到 XSS/CSRF 的风险……(我想我可以使用 ZAP 或 Burp 来处理它。)我专注于什么样的输入会发生“崩溃”。同时,可以记录崩溃的错误信息,以供进一步分析。
我已经阅读了一些关于此的文章,似乎 afl fuzzer 需要通过套接字工作并且必须修改 Web 应用程序的源代码。但是就我而言,我不想修改源代码。我想要一个更通用的解决方案。
Fuzz Target:Web 应用程序二进制文件(例如 httpd)
主要目标:崩溃样本和崩溃错误日志
我对这个领域真的很陌生。请给我一些帮助:)
c - 通过将二进制文件反转为源代码来对二进制文件进行模糊测试怎么样?
我正在研究如何使用 AFL 来模糊二进制文件。我知道可以使用qemu模式来实现。但是,使用 qemu 模式确实会影响模糊测试的性能。
因此,我想知道如果我使用 IDA PRO 将目标二进制文件反转为 C 代码,然后使用 afl-gcc 编译 C 代码会怎样?这个想法会成功吗?否则会导致失真。