我试图使用afl-fuzz来查找Android本机库中的安全漏洞(例如。libssl.so、libhttp.so等)。
我的理解是,我应该使用QEMU,因为afl本身并不足以在没有源代码的情况下找到bug。
当试图运行以下操作时:
#> afl-fuzz -Q -i input -o output -- ./libssl.so我遇到了以下问题:
[-] The current memory limit (200 MB) is too restrictive, causing an OOM fault
in the dynamic linker.通过将内存限制设置为"none“,我设法解决了这个问题。然后,我遇到了这个错误:
[-] 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,所以我不太熟悉如何使用它,特别是二进制库。对此的任何帮助都将不胜感激!
发布于 2018-11-29 20:02:06
首先,它不确定您是否真的需要在-Q模式下运行AFL,以便对开源库进行模糊处理。您最好用afl-gcc重新编译它,以便安装在二进制文件中。然后,就可以更容易(也更快)弄清楚整个应用程序。
实际上,只有当您有一个二进制程序到fuzz (我的意思是,您没有它的源代码)时,您才在-Q模式下运行。
然后,afl基本上是通过为模糊程序创建部分随机输入来工作的。我不完全理解你期望一个库做什么,因为它有,绝对没有输入,(它插件到另一个程序,但仅此而已)。
因此,您可以考虑阅读更多关于模糊和sotfware I/O的内容,这可能是在尝试做更复杂的事情之前最好的方法。
https://stackoverflow.com/questions/53530938
复制相似问题