aboutsummaryrefslogtreecommitdiffstats
path: root/test/fuzzing
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2014-10-26 17:13:25 +1300
committerAldo Cortesi <aldo@nullcube.com>2014-10-26 17:13:25 +1300
commitefd6fdb0e24532de757fc90a8d3ae984b7170c51 (patch)
treea82205c5b22dfbaf3c6fbd50621513b1a8642b1c /test/fuzzing
parent35075a31a802dba1b07c65d8be72be2762ff99ee (diff)
downloadmitmproxy-efd6fdb0e24532de757fc90a8d3ae984b7170c51.tar.gz
mitmproxy-efd6fdb0e24532de757fc90a8d3ae984b7170c51.tar.bz2
mitmproxy-efd6fdb0e24532de757fc90a8d3ae984b7170c51.zip
Start a fuzzing architecture for mitmproxy
Diffstat (limited to 'test/fuzzing')
-rw-r--r--test/fuzzing/.env6
-rw-r--r--test/fuzzing/README14
-rw-r--r--test/fuzzing/client_patterns4
-rwxr-xr-xtest/fuzzing/go_proxy15
-rw-r--r--test/fuzzing/reverse_patterns9
-rw-r--r--test/fuzzing/straight_stream4
-rw-r--r--test/fuzzing/straight_stream_patterns5
7 files changed, 53 insertions, 4 deletions
diff --git a/test/fuzzing/.env b/test/fuzzing/.env
new file mode 100644
index 00000000..e2cf7829
--- /dev/null
+++ b/test/fuzzing/.env
@@ -0,0 +1,6 @@
+
+MITMDUMP=../../mitmdump
+PATHOD=../../../pathod/pathod
+PATHOC=../../../pathod/pathoc
+FUZZ_SETTINGS=-remTt 1 -n 0 -I 200,400,405,502
+
diff --git a/test/fuzzing/README b/test/fuzzing/README
new file mode 100644
index 00000000..2760506f
--- /dev/null
+++ b/test/fuzzing/README
@@ -0,0 +1,14 @@
+
+A fuzzing architecture for mitmproxy
+====================================
+
+Quick start:
+
+ honcho -f ./straight_stream start
+
+
+Notes:
+
+ - Processes are managed using honcho (pip install honcho)
+ - Paths and common settings live in .env
+
diff --git a/test/fuzzing/client_patterns b/test/fuzzing/client_patterns
new file mode 100644
index 00000000..83457b6f
--- /dev/null
+++ b/test/fuzzing/client_patterns
@@ -0,0 +1,4 @@
+get:'http://localhost:9999/p/200':ir,"\n"
+get:'http://localhost:9999/p/200':ir,"\0"
+get:'http://localhost:9999/p/200':ir,@5
+get:'http://localhost:9999/p/200':dr
diff --git a/test/fuzzing/go_proxy b/test/fuzzing/go_proxy
index c9b6aef6..ea29400f 100755
--- a/test/fuzzing/go_proxy
+++ b/test/fuzzing/go_proxy
@@ -3,20 +3,27 @@
# mitmproxy/mitmdump is running on port 8080 in straight proxy mode.
# pathod is running on port 9999
-BASE_HTTP="/Users/aldo/git/public/pathod/pathoc -Tt 1 -eo -I 200,400,405,502 -p 8080 localhost "
+BASE="../../../"
+BASE_HTTP=$BASE"/pathod/pathoc -Tt 1 -e -I 200,400,405,502 -p 8080 localhost "
+BASE_HTTPS=$BASE"/pathod/pathoc -sc localhost:9999 -Tt 1 -eo -I 200,400,404,405,502,800 -p 8080 localhost "
+
#$BASE_HTTP -n 10000 "get:'http://localhost:9999':ir,@1"
#$BASE_HTTP -n 100 "get:'http://localhost:9999':dr"
-#$BASE_HTTP -n 10000 "get:'http://localhost:9999/p/200:ir,@300.0
+#$BASE_HTTP -n 10000 "get:'http://localhost:9999/p/200':ir,@300"
+
+#$BASE_HTTP -n 10000 "get:'http://localhost:9999/p/200:ir,@1'"
+#$BASE_HTTP -n 100 "get:'http://localhost:9999/p/200:dr'"
+#$BASE_HTTP -n 10000 "get:'http://localhost:9999/p/200:ir,@100'"
# Assuming:
# mitmproxy/mitmdump is running on port 8080 in straight proxy mode.
# pathod with SSL enabled is running on port 9999
-BASE_HTTPS="/Users/aldo/git/public/pathod/pathoc -sc localhost:9999 -Tt 1 -eo -I 200,400,404,405,502,800 -p 8080 localhost "
-$BASE_HTTPS -en 10000 "get:'/p/200:b@10:ir,@1'"
+#$BASE_HTTPS -en 10000 "get:'/p/200:b@100:ir,@1'"
#$BASE_HTTPS -en 10000 "get:'/p/200:ir,@1'"
#$BASE_HTTPS -n 100 "get:'/p/200:dr'"
#$BASE_HTTPS -n 10000 "get:'/p/200:ir,@3000'"
#$BASE_HTTPS -n 10000 "get:'/p/200:ir,\"\\n\"'"
+
diff --git a/test/fuzzing/reverse_patterns b/test/fuzzing/reverse_patterns
new file mode 100644
index 00000000..8d1d76a2
--- /dev/null
+++ b/test/fuzzing/reverse_patterns
@@ -0,0 +1,9 @@
+get:'/p/200':b@10:ir,"\n"
+get:'/p/200':b@10:ir,"\r\n"
+get:'/p/200':b@10:ir,"\0"
+get:'/p/200':b@10:ir,@5
+get:'/p/200':b@10:dr
+
+get:'/p/200:b@10:ir,@1'
+get:'/p/200:b@10:dr'
+get:'/p/200:b@10:ir,@100'
diff --git a/test/fuzzing/straight_stream b/test/fuzzing/straight_stream
new file mode 100644
index 00000000..64feae45
--- /dev/null
+++ b/test/fuzzing/straight_stream
@@ -0,0 +1,4 @@
+
+mitmdump: $MITMDUMP -q --stream 1
+pathod: $PATHOD -q
+pathoc: sleep 2 && $PATHOC $FUZZ_SETTINGS localhost:8080 ./straight_stream_patterns \ No newline at end of file
diff --git a/test/fuzzing/straight_stream_patterns b/test/fuzzing/straight_stream_patterns
new file mode 100644
index 00000000..f5ae06f2
--- /dev/null
+++ b/test/fuzzing/straight_stream_patterns
@@ -0,0 +1,5 @@
+get:'http://localhost:9999/p/':s'200:b"foo"':ir,'\n'
+get:'http://localhost:9999/p/':s'200:b"foo"':ir,'a'
+get:'http://localhost:9999/p/':s'200:b"foo"':ir,'9'
+get:'http://localhost:9999/p/':s'200:b"foo"':ir,':'
+get:'http://localhost:9999/p/':s'200:b"foo"':ir,'"'