Requirements
Preparation
Note: The examples provided below use hardcoded paths (here to /home/$USER/) and version strings of the libraries (e.g. apr-1.5.2). These will have to be modified, so they reflect your actual build environment.
$ cd httpd-master $ patch -p1 < httpd-master.honggfuzz.patch
compile_and_install.asan.sh
so it contains valid versions/paths$ ./compile_and_install.asan.sh
httpd.conf.h1
and httpd.conf.h2
) to /home/$USER/fuzz/apache/apache2/conf/
(i.e. to your apache dist directory)$ cp httpd.conf.h1 httpd.conf.h2 /home/$USER/fuzz/apache/apache2/conf/
httpd.conf.h1
and httpd.conf.h2
, so they contain valid configuration pathsFuzzing
$ honggfuzz/honggfuzz -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h1
$ honggfuzz/honggfuzz -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h2