Fork me on github

【AFL(十五)】LAVA-M服务器篇

最近写论文要用LAVA-M做测试集,但是遇到一个问题,在虚拟机成功的步骤在服务器却不行了,也就是之前的那两篇LAVA-M文章,最后得到原因是root模式下LAVA-M的自动化脚本不可用。

1. 进入 coreutils-8.24-lava-safe 文件夹:

然后配置环境,这里需要注意,一定要按照下面的命令(特别是加粗的部分):

CC=afl-gcc CXX=afl-g++ ./configure --prefix=`pwd`/lava-install LIBS="-lacl" FORCE_UNSAFE_CONFIGURE=1

否则有可能配置报错,如果这一步是ok的,后面就没什么问题了。

2. 编译

make (-j 12)

括号内的如果有多线程就加上,没有就去掉括号内的东西

3. 安装

make install

到这里基本就完成了,再用原来安装脚本的后半段进行测试

4. 测试

#!/bin/bash

PROG="base64"
PROGOPT="-d"
INPUT_PATTERN="inputs/utmp-fuzzed-%s.b64"
INPUT_CLEAN="inputs/utmp.b64"

echo "Validating bugs..."
cat validated_bugs | while read line ; do
    INPUT_FUZZ=$(printf "$INPUT_PATTERN" $line)
    { ./coreutils-8.24-lava-safe/lava-install/bin/${PROG} ${PROGOPT} ${INPUT_FUZZ} ; } &> /dev/null
    echo $line $?
done > validated.txt

awk 'BEGIN {valid = 0} $2 > 128 { valid += 1 } END { print "Validated", valid, "/", NR, "bugs" }' validated.txt

echo "You can see validated.txt for the exit code of each buggy version."

放到一个单独的sh文件,并运行,(跟coreutils-8.24-lava-safe文件夹同级)

显示44/44就代表安装成功,0/44就是失败

 

 

 

 


 

20260402

用Ubuntu20的话,会遇到莫名其妙的问题,主要是make不成功。

 

第一步

sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c

echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h

第二步,可能还会又makedev的报错,在对应c文件或者h文件加上引用 #include <sys/sysmacros.h>头文件

 

 

==========================================================

如果本文对您有帮助,欢迎打赏~~~

 

posted @ 2020-10-14 13:22  未配妥剑,已入江湖  阅读(628)  评论(1)    收藏  举报