https://github.com/wh1t3h47/afl_pidgin
Fuzz pidgin dbus by using AFL++ and clang's ASAN
https://github.com/wh1t3h47/afl_pidgin
afl aflplusplus buffer-overflow c cybersecurity dbus fuzzer fuzzing hacking linux liveoverflow memory-disclosure off-by-one pidgin security zerodium
Last synced: 15 days ago
JSON representation
Fuzz pidgin dbus by using AFL++ and clang's ASAN
- Host: GitHub
- URL: https://github.com/wh1t3h47/afl_pidgin
- Owner: wh1t3h47
- Created: 2021-06-06T05:03:58.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-19T18:53:10.000Z (almost 5 years ago)
- Last Synced: 2025-07-24T00:46:20.739Z (10 months ago)
- Topics: afl, aflplusplus, buffer-overflow, c, cybersecurity, dbus, fuzzer, fuzzing, hacking, linux, liveoverflow, memory-disclosure, off-by-one, pidgin, security, zerodium
- Language: C
- Homepage:
- Size: 29.7 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# afl_pidgin: Hacking pidgin
> By wh1t3h47 (Antonio Martos Harres) - github.com/wh1t3h47
Fuzz pidgin via dbus by using AFL++ instrumentation (clang)
This project was just a test to see if I could handle AFL++ and had enough knowledge to fuzz the Pidgin messenger, it's by no means a complete approach, but still a successful one.
I coded this in about a day and got AFL++ running with 8 threads, it fuzzed for about 8 hours (my computer couldn't handle anymore and was forcefully shut down, not even sysrq would work)
It took me about 180 lines of C code and 100 more of shell, I used argv fuzzer to mutate dbus data and wrote a small wrapper to forward dbus messages from argv.
## Warning
> The fuzzing proccess is very resource intensive, ASAN is very memory hungry (afl even recommends limiting it), so this can halt your machine, please save all your work and **be aware** that your machine may lag
## Building
```bash
./build_pidgin.sh
```
## Fuzzing
```bash
sleep 3 && ./afl_start.sh
```