diff --git a/README.md b/README.md index 38a1700..49ed94f 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ bash scripts/run.sh Далее (для учебных целей фаззинг ограничен по времени - 5 минут): -1. Запуск нативного фаззера (проверка функции аутентификации, ограничение в 1 поток для нормальной работы SQLite, время фаззинга можно увеличить в скрипте запуска) +1. Запуск нативного фаззера (проверка функции аутентификации, ограничение в 1 поток для нормальной работы БД SQLite) 1.1. cd myfuzz @@ -164,3 +164,15 @@ bash scripts/run.sh 2.2. ./install.sh 2.3. ./run_fuzz.sh + +### Попытка скрестить gccgo и afl провалилась, оставлю для истории + +3. Запуск AFL++ при компиляции через gccgo (установите AFL++ как в пункте 2.2. если ещё не сделали этого) + +3.1. cd aflfuzz + +3.2. ./install_gccgo_for_afl.sh + +3.3. ./build_for_afl.sh + +3.4. ./run_afl.sh diff --git a/aflfuzz/build_for_afl.sh b/aflfuzz/build_for_afl.sh new file mode 100755 index 0000000..e4b3af1 --- /dev/null +++ b/aflfuzz/build_for_afl.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +export AFL_CC=gccgo +export GCCGO=afl-gcc-fast + +#unset GOROOT +go build -v -x -compiler=gccgo -o authapp_for_afl ../cmd/authapp/main.go + +exit 0 + +go build -a -toolexec="afl-gcc-fast" -o authapp_for_afl ../cmd/authapp/main.go + +exit 0 + +export AFL_CC=gccgo + +afl-gcc-fast -o authapp_for_afl ../cmd/authapp/main.go + +exit 0 diff --git a/aflfuzz/install_gccgo_for_afl.sh b/aflfuzz/install_gccgo_for_afl.sh new file mode 100755 index 0000000..e1cc32b --- /dev/null +++ b/aflfuzz/install_gccgo_for_afl.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo apt-get update +sudo apt-get install -y gccgo diff --git a/aflfuzz/run_afl.sh b/aflfuzz/run_afl.sh new file mode 100755 index 0000000..2317ac0 --- /dev/null +++ b/aflfuzz/run_afl.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +mkdir -p data +cp ../data/users.db ./data/users.db +mkdir -p configs +cp ../configs/config.toml ./configs/config.toml + +mkdir -p fuzz_out + +afl-fuzz -V $(( 60 * 5 )) -i fuzz_in -o fuzz_out -- ./authapp_for_afl