From d06e090ec8ac07dd1297983bd1f9fd60ad00ac9f Mon Sep 17 00:00:00 2001 From: gogo Date: Sat, 16 Nov 2024 22:09:20 +0100 Subject: [PATCH] remove ssl --- README.md | 17 ++++++----------- bins/measure.py | 2 +- pyproject.toml | 2 +- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 8692e41..9ef8d61 100644 --- a/README.md +++ b/README.md @@ -28,18 +28,16 @@ Run simply: pip install modular-time-fuzzer ``` - # I.3/ Usage `measure` command line permits to choose inputs that will be recorded to the database. `analyze` command line permits to represent the data collected to a picture graph. ```bash -measure -r 10 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z "out.sqlite" -analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z "out.sqlite" +measure -r 10 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login "out.sqlite" +analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login "out.sqlite" ``` - At any moment, you could run sql query on the database in order to determine for example wich request is noised: `sqlite3 "out.sqlite"`. then, you could see how much requests you considere as not noised for a single input character with: @@ -82,8 +80,6 @@ sqlite> SELECT AVG(TIME_TAKEN / 1000000.0) FROM REQUEST WHERE REQUEST.INPUT = 'a 403.772096966667 ``` - - ```bash sqlite> SELECT AVG(TIME_TAKEN / 1000000.0) FROM REQUEST WHERE REQUEST.INPUT = 'a' AND (REQUEST.TIME_TAKEN / 1000000.0) < 410 ; 403.772096966667 @@ -197,14 +193,14 @@ tmux attach -t persistent_server If you want to run these two scripts ```bash -measure -r 1000 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z "out.sqlite" -analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z "out.sqlite" +measure -r 1000 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login "out.sqlite" +analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login "out.sqlite" ``` On a cloud backend to ensure it will never exit, install previously mentionned dependencies and run: ```bash -tmux new-session -d -s persistent_session "source ./venv3/bin/activate && rm -Rf mkdir tmpdir/ && mkdir tmpdir/ ; measure -r 1000 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z 'out.sqlite' && analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z 'out.sqlite'" +tmux new-session -d -s persistent_session "source ./venv3/bin/activate && rm -Rf mkdir tmpdir/ && mkdir tmpdir/ ; measure -r 1000 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login 'out.sqlite' && analyze -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z 'out.sqlite'" tmux attach -t persistent_session ``` @@ -213,7 +209,7 @@ tmux attach -t persistent_session Collect request time with: ```bash -measure -r 250 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z "out.sqlite" +measure -r 250 -c a -c b -c c -c d -c e -c f -c g -c h -c i -c j -c k -c l -c m -c n -c o -c p -c q -c r -c s -c t -c u -c v -c w -c x -c y -c z -u https://e9208b1412526f8b89.gradio.live/login "out.sqlite" ``` and remove useless requests time with an sql `SELECT` as: @@ -276,7 +272,6 @@ sqlite The greatest average request set took 404.4 ms that corresponds exactly to the `i` and it is exactly the right good first character! We just found the first character! - # III/ API reference for developpers # IV/ Why using a modular timing attack fuzzer? diff --git a/bins/measure.py b/bins/measure.py index cd2a7bd..77166b6 100644 --- a/bins/measure.py +++ b/bins/measure.py @@ -40,7 +40,7 @@ def main(): print("requesting") time_start = time.monotonic_ns() try: - r = session.post(args.u, data) # "https://44b22a6eeee0f9d7d9.gradio.live/login" + r = session.post(args.u, data, verify=False) # "https://44b22a6eeee0f9d7d9.gradio.live/login" except: print("unreachable network") pass diff --git a/pyproject.toml b/pyproject.toml index 26bbe3a..41cb869 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "modular_time_fuzzer" -version = "0.0.6" +version = "0.0.7" authors = [ { name="gogo246475", email="gogo246475@gmail.com" }, ]