diff options
author | 2017-05-22 23:24:44 +0800 | |
---|---|---|
committer | 2017-05-22 08:24:44 -0700 | |
commit | e91a509873c6d2af3c90ecf139339c25573a67e1 (patch) | |
tree | 6de34d114200b4724d0f55bb54495268ac0deb8f /projects | |
parent | 10783accafd7c2cd62e1f068bced3536498b7b64 (diff) |
Dropbear SSH fuzzer working (#618)
Diffstat (limited to 'projects')
-rw-r--r-- | projects/dropbear/Dockerfile | 24 | ||||
-rw-r--r-- | projects/dropbear/build.sh | 36 | ||||
-rw-r--r-- | projects/dropbear/fuzzer-preauth.options | 2 |
3 files changed, 62 insertions, 0 deletions
diff --git a/projects/dropbear/Dockerfile b/projects/dropbear/Dockerfile new file mode 100644 index 00000000..d70cec09 --- /dev/null +++ b/projects/dropbear/Dockerfile @@ -0,0 +1,24 @@ +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +MAINTAINER matt@ucc.asn.au +RUN apt-get update && apt-get install -y libz-dev autoconf mercurial +RUN hg clone -b fuzz https://secure.ucc.asn.au/hg/dropbear dropbear +RUN hg clone https://secure.ucc.asn.au/hg/dropbear-fuzzcorpus dropbear/corpus +WORKDIR dropbear +COPY build.sh *.options $SRC/ + diff --git a/projects/dropbear/build.sh b/projects/dropbear/build.sh new file mode 100644 index 00000000..ab6326bb --- /dev/null +++ b/projects/dropbear/build.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + + +pushd $SRC/dropbear +autoconf +autoheader +popd + +$SRC/dropbear/configure --enable-fuzz +# force static zlib +sed -i 's@-lz@/usr/lib/x86_64-linux-gnu/libz.a@' Makefile + +make -j$(nproc) fuzz-targets FUZZLIB=$LIB_FUZZING_ENGINE + +TARGETS="$(make list-fuzz-targets)" + +make -C $SRC/dropbear/corpus + +cp -v $TARGETS $OUT/ +cp -v $SRC/*.options $OUT/ +cp -v $SRC/dropbear/corpus/*.zip $OUT/ diff --git a/projects/dropbear/fuzzer-preauth.options b/projects/dropbear/fuzzer-preauth.options new file mode 100644 index 00000000..6659fa94 --- /dev/null +++ b/projects/dropbear/fuzzer-preauth.options @@ -0,0 +1,2 @@ +[libfuzzer] +max_len = 50000 |