diff options
author | Robert Swiecki <robert@swiecki.net> | 2018-01-12 00:00:24 +0100 |
---|---|---|
committer | Robert Swiecki <robert@swiecki.net> | 2018-01-12 00:00:24 +0100 |
commit | e3bc89ea96668a873a7cf90d2adda55a3bdd768f (patch) | |
tree | b476087690831fe168d264b0b547fb8abfe693e7 /examples | |
parent | 89d444ab9038fe79a1a1f757a9e701c2fd887e8f (diff) | |
download | honggfuzz-e3bc89ea96668a873a7cf90d2adda55a3bdd768f.tar.gz |
examples/apache-httpd: readme
Diffstat (limited to 'examples')
-rw-r--r-- | examples/apache-httpd/README.md | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/examples/apache-httpd/README.md b/examples/apache-httpd/README.md index a6901609..2710736e 100644 --- a/examples/apache-httpd/README.md +++ b/examples/apache-httpd/README.md @@ -2,44 +2,49 @@ **Requirements** - * honggfuzz (1.0 or from the master branch) + * honggfuzz * clang-4.0, or newer (5.0 works as well) - * apache (e.g.: 2.4.25 or the master branch from git) + * apache (e.g. 2.4.29 or from githubs' master branch) + * apr, apr-utils, nghttp2 **Preparation** -Note: The examples provided below use hardcoded paths (here to _/home/swiecki/_) and +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. 1. Compile honggfuzz 2. Download and unpack the following packages: apr, apr-util, ngttp2, and Apache's httpd 3. Patch Apache's httpd - ``` + +```shell $ cd httpd-master $ patch -p1 < httpd-master.honggfuzz.patch - ``` +``` 4. Configure, compile and install Apache - * edit compile_and_install.sh to contain valid versions/paths - ``` -$ ./compile_and_install.sh - ``` + * edit ```compile_and_install.asan.sh``` so it contains valid versions/paths + +```shell +$ ./compile_and_install.asan.sh +``` -5. Copy the custom configuration files to ```/home/swiecki/fuzz/apache/apache2/conf/``` (i.e. to your apache dist directory) +5. Copy custom configuration files (```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/swiecki/fuzz/apache/apache2/conf/ +$ cp httpd.conf.h1 httpd.conf.h2 /home/$USER/fuzz/apache/apache2/conf/ ``` +6. Edit ```httpd.conf.h1``` and ```httpd.conf.h2```, so they contain valid configuration paths + **Fuzzing** * HTTP/1 ``` -$ honggfuzz/honggfuzz -P -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h1 +$ honggfuzz/honggfuzz -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h1 ``` * HTTP/2 ``` -$ honggfuzz/honggfuzz -P -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h2 +$ honggfuzz/honggfuzz -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h2 ``` |