AFL++ qemu

AFL++ qemu-mipsel

环境配置

适用与docker拉取的AFL++与qcow2驱动的qemu-mipsel
加载nbd模块并连接qcow2

sudo modprobe nbd max_part=8
sudo qemu-nbd -c /dev/nbd0 debian_wheezy_mipsel_standard.qcow2

找出分区 一般是/dev/nbd0p1,也可能是/dev/nbd0p2等,挂载到一个目录例如/mnt/mipsroot

# 查看分区
lsblk /dev/nbd0
# 假设根分区是 /dev/nbd0p1
sudo mkdir -p /mnt/mipsroot
sudo mount /dev/nbd0p1 /mnt/mipsroot

把项目目录和mipsel-rootfs都挂到容器内,把-v后面的路径都替换成你自己的路径.

docker run --rm -it \
  -v /mnt/soft/Docker:/src \
  -v /home/you/mipsel-rootfs:/mipsel-rootfs \
  -w /src \
  aflplusplus/aflplusplus:latest /bin/bash

进入或挂载到 AFL++ Docker,并将 QEMU_LD_PREFIX 指向该挂载点:

容器内:
export QEMU_LD_PREFIX=/mipsroot

afl-fuzz -i in/ -o out/ -Q -- qemu-mipsel-static -L /mipsroot ./infostat.cgi @@

就能成功fuzz qemu-mipsel架构的程序
图片

posted @ 2025-10-27 10:35  awigwu76  阅读(24)  评论(0)    收藏  举报