
Fuzz 401/403/404 pages for bypasses
L'original 403fuzzer.py :)
==Note : Cet outil a été déprécié au profit de ma nouvelle et brillante extension Burp, 1000000% meilleure. Merci d'utiliser mes outils !==
Vous pouvez trouver l'extension ici : https://github.com/intrudir/BypassFuzzer-Burp
Fuzzer les endpoints 401/403 pour trouver des contournements
Effectue diverses vérifications via des en-têtes, normalisation de chemin, verbes, etc. pour tenter de contourner les ACL ou la validation d'URL.
Si cet outil vous a aidé à obtenir une prime ou si vous souhaitez simplement m'offrir une bière :
Suivez-moi sur Twitter ! @intrudir
# clonez le dépôt (ou téléchargez-le en zip !) puis naviguez vers le répertoire
git clone https://github.com/NetSPI/BypassFuzzer.git
cd BypassFuzzer
# il est recommandé de créer un nouvel environnement virtuel.
python3 -m venv .venv
# activez le venv
source .venv/bin/activate
# installez les dépendances
python3 -m pip install -r requirements.txt
# clonez le dépôt (ou téléchargez-le en zip !) puis naviguez vers le répertoire
# si vous téléchargez le .zip, n'oubliez pas de l'extraire d'abord
cd BypassFuzzer-main\
# il est recommandé de créer un nouvel environnement virtuel.
py -m venv .venv
# activez le venv
.venv\Scripts\activate
# installez les dépendances
# vous devez utiliser la commande 'python' pour utiliser l'interpréteur de cet environnement.
python -m pip install -r .\requirements.txt
Sous Windows, pour utiliser le script, assurez-vous d'utiliser la commande python. Cela garantit que vous utilisez l'environnement virtuel.
Consultez le menu d'aide
bypassfuzzer.py -h
Il suffit de coller la requête dans un fichier et d'exécuter le script !
cookies et en-têtes de la requête.python3 bypassfuzzer.py -r request.txt

Spécifier une URL
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
Spécifier les cookies à utiliser dans les requêtes :
quelques exemples :
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
Spécifier une méthode/verbe et des données à envoyer
bypassfuzzer.py -u https://example.com/forbidden -m POST -d "param1=blah¶m2=blah2"
bypassfuzzer.py -u https://example.com/forbidden -m PUT -d "param1=blah¶m2=blah2"
Spécifier des en-têtes personnalisés à utiliser avec chaque requête
Peut-être avez-vous besoin d'ajouter un en-tête d'authentification comme Authorization: bearer <token>
Spécifiez -H "header: value" pour chaque en-tête supplémentaire que vous souhaitez ajouter :
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
Basé sur le code de réponse et la longueur. S'il détecte une réponse 8 fois ou plus, il la masquera automatiquement.
Les répétitions sont modifiables dans le code en attendant que j'ajoute une option pour les spécifier en ligne de commande.
REMARQUE : Ne peut pas être utilisé simultanément avec -hc ou -hl (pour l'instant)
# activer le filtre intelligent
bypassfuzzer.py -u https://example.com/forbidden --smart
Utile si vous souhaitez passer par Burp
bypassfuzzer.py -u https://example.com/forbidden --proxy http://127.0.0.1:8080
# ignorer l'envoi des charges utiles d'en-têtes
bypassfuzzer.py -u https://example.com/forbidden -sh
# ou --skip-headers
# ignorer l'envoi des charges utiles de normalisation de chemin
bypassfuzzer.py -u https://example.com/forbidden -su
# ou --skip-urls
Fournissez des listes séparées par des virgules sans espaces. Exemples :
# Masquer les codes de réponse
bypassfuzzer.py -u https://example.com/forbidden -hc 403,404,400
# Masquer les longueurs de réponse de 638
bypassfuzzer.py -u https://example.com/forbidden -hl 638
Chaque paire requête/réponse réussie (200 OK) est sauvegardée dans une base de données sqlite.
Chaque charge utile inclut un numéro d'index pour une interrogation facile.

Une fois l'attaque terminée, inspectez vos résultats et déterminez l'index ou la charge utile des données que vous souhaitez voir.
Vous devez utiliser LES DEUX options suivantes :
--display-by index ou payload--display-interactions numéro d'index ou chaîne de charge utile entre guillemets# afficher par numéro d'index
bypassfuzzer.py --display-by index --display-interactions 49
# afficher par charge utile
bypassfuzzer.py --display-by payload --display-interactions "/%2e%2fAJAX/index.php"
Résultat :

Pour simplifier, chaque fois que vous exécutez l'outil, une nouvelle base de données est créée.
Vous pouvez interroger une base de données spécifique via l'option --idb.
REMARQUE :
interactions pour être utilisable.--idb, la plus récente sera utilisée par défaut.bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

Fournissez l'option --oob avec votre domaine collaborateur ou ISH
Vous devez vérifier les retours vous-même car je n'ai actuellement aucun moyen de le faire pour vous.
--oob abc123.oastify.com