首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用二进制库运行"afl-fuzz -Q“

使用二进制库运行"afl-fuzz -Q“
EN

Stack Overflow用户
提问于 2018-11-29 02:23:57
回答 1查看 960关注 0票数 0

我试图使用afl-fuzz来查找Android本机库中的安全漏洞(例如。libssl.solibhttp.so等)。

我的理解是,我应该使用QEMU,因为afl本身并不足以在没有源代码的情况下找到bug。

当试图运行以下操作时:

代码语言:javascript
复制
#> afl-fuzz -Q -i input -o output -- ./libssl.so

我遇到了以下问题:

代码语言:javascript
复制
[-] The current memory limit (200 MB) is too restrictive, causing an OOM fault
    in the dynamic linker.

通过将内存限制设置为"none“,我设法解决了这个问题。然后,我遇到了这个错误:

代码语言:javascript
复制
[-] Hmm, looks like the target binary terminated before we could complete
    a handshake with the injected code. Perhaps there is a horrible bug in
    the fuzzer.

我最近才开始使用afl,所以我不太熟悉如何使用它,特别是二进制库。对此的任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-29 20:02:06

首先,它不确定您是否真的需要在-Q模式下运行AFL,以便对开源库进行模糊处理。您最好用afl-gcc重新编译它,以便安装在二进制文件中。然后,就可以更容易(也更快)弄清楚整个应用程序。

实际上,只有当您有一个二进制程序到fuzz (我的意思是,您没有它的源代码)时,您才在-Q模式下运行。

然后,afl基本上是通过为模糊程序创建部分随机输入来工作的。我不完全理解你期望一个库做什么,因为它有,绝对没有输入,(它插件到另一个程序,但仅此而已)。

因此,您可以考虑阅读更多关于模糊和sotfware I/O的内容,这可能是在尝试做更复杂的事情之前最好的方法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53530938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档