本文记录了AFLGo在docker环境中的安装,记录于2022.1.10。
之前的AFLGo的安装脚本可能与本文的不太一样,所以也多了一些新坑,主要是在安装libxml2上的。
docker pull ubuntu:20.04 docker run -ti --name=aflgo --ulimit core=0 --privileged ubuntu:20.04 /bin/bash
进入到docker环境中后,输入以下命令
apt-get update apt-get install git gawk git clone https://github.com/aflgo/aflgo.git export AFLGO=$PWD/aflgo cd aflgo/scripts/build ./aflgo-build.sh
如果因为网络问题卡在了某个步骤,可以用物理机处理下,然后沿着脚本继续安装。
如果发现git clone下来的aflgo生成了afl-clang-fast,afl-fuzz这些二进制,那就说明安装成功了。
接下来用AFLGo测试下libxml,基本上也是照着这个脚本来。
后续部分可以参考这个链接教程,这里就不再赘述了:https://blog.csdn.net/qq_39209008/article/details/112350453
安装libxml2遇到了两个问题,
- 如果运行libxml2的autogen.sh的时候出现如下错误:
checking for gcc… //aflgo/afl-clang-fast
checking whether the C compiler works… no
configure: error: in `/root/libxml2’:
configure: error: C compiler cannot create executables
解决:因为export变量给弄乱了,所以重启容器,重新export环境变量。
export列表
export AFLGO=$PWD/aflgo export SUBJECT=$PWD/libxml2 export TMP_DIR=$PWD/temp export CC=$AFLGO/afl-clang-fast export CXX=$AFLGO/afl-clang-fast++ export COPY_CFLAGS=$CFLAGS export COPY_CXXFLAGS=$CXXFLAGS export ADDITIonAL="-targets=$TMP_DIR/BBtargets.txt -outdir=$TMP_DIR -flto -fuse-ld=gold -Wl,-plugin-opt=save-temps" export CFLAGS="$CFLAGS $ADDITIONAL" export CXXFLAGS="$CXXFLAGS $ADDITIONAL" export LDFLAGS=-lpthread
- 如果运行libxml2的autogen.sh的时候出现如下错误:
./configure: line 9849: syntax error near unexpected token `LZMA,liblzma,’
安装pkg-config:
apt-get install pkg-config
最后安装成功,并且测试官方给的那个漏洞的话,应该能够在8min中内,跑出来几个crash和几个hang。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)