
Fuzze 401/403/404-Seiten nach Bypasses.
Der ursprüngliche 403fuzzer.py :)
==Hinweis: Dies wurde zugunsten meiner neuen, glänzenden Burp-Erweiterung, die 1000000% besser ist, eingestellt. Vielen Dank, dass Sie meine Tools verwenden!==
Die Erweiterung finden Sie hier: https://github.com/intrudir/BypassFuzzer-Burp
Fuzzen von 401/403-Endpunkten auf Umgehungen
Führt verschiedene Prüfungen über Header, Pfadnormalisierung, Verben usw. durch, um ACLs oder URL-Validierung zu umgehen.
Wenn dieses Tool Ihnen zu einer Prämie verholfen hat oder Sie mir einfach ein Bier ausgeben möchten:
Folge mir auf Twitter! @intrudir
# clone the repo (or download it as a zip!) then navigate to the directory
git clone https://github.com/NetSPI/BypassFuzzer.git
cd BypassFuzzer
# it is best practice to create a new virtual env.
python3 -m venv .venv
# activate the venv
source .venv/bin/activate
# install dependencies
python3 -m pip install -r requirements.txt
# clone the repo (or download it as a zip!) then navigate to the directory
# if you download the .zip, remember to extract it first
cd BypassFuzzer-main\
# it is best practice to create a new virtual env.
py -m venv .venv
# activate the venv
.venv\Scripts\activate
# install dependencies
# you need to use 'python' cmd in order to use the interpreter from this environment.
python -m pip install -r .\requirements.txt
Für Windows: Stellen Sie sicher, dass Sie den Befehl python verwenden, um das Skript auszuführen. Dadurch wird sichergestellt, dass Sie die virtuelle Umgebung verwenden.
Siehe Hilfemenü
bypassfuzzer.py -h
Einfach die Anfrage in eine Datei einfügen und das Skript ausführen!
cookies und headers aus der Anfrage parsen und verwenden.python3 bypassfuzzer.py -r request.txt

Eine URL angeben
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
Cookies für Anfragen angeben:
some examples:
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
Eine Methode/ein Verb und Body-Daten zum Senden angeben
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"
Benutzerdefinierte Header für jede Anfrage angeben
Vielleicht müssen Sie einen Authentifizierungsheader wie Authorization: bearer <token> hinzufügen
Geben Sie -H "header: value" für jeden zusätzlichen Header an, den Sie hinzufügen möchten:
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
Basiert auf Antwortcode und -länge. Wenn es eine Antwort 8 Mal oder öfter sieht, wird es diese automatisch stummschalten.
Wiederholungen sind im Code änderbar, bis ich eine Option hinzufüge, sie per Flag anzugeben.
HINWEIS: Kann (noch) nicht gleichzeitig mit -hc oder -hl verwendet werden
# toggle smart filter on
bypassfuzzer.py -u https://example.com/forbidden --smart
Nützlich, wenn Sie über Burp proxen möchten
bypassfuzzer.py -u https://example.com/forbidden --proxy http://127.0.0.1:8080
# skip sending header payloads
bypassfuzzer.py -u https://example.com/forbidden -sh
# or --skip-headers
# Skip sending path normailization payloads
bypassfuzzer.py -u https://example.com/forbidden -su
# or --skip-urls
Geben Sie kommagetrennte Listen ohne Leerzeichen an. Beispiele:
# Hide response codes
bypassfuzzer.py -u https://example.com/forbidden -hc 403,404,400
# Hide response lengths of 638
bypassfuzzer.py -u https://example.com/forbidden -hl 638
Jedes erfolgreiche (200 OK) Anforderungs- und Antwortpaar wird in einer SQLite-Datenbank gespeichert.
Jeder Payload enthält eine Indexnummer für einfaches Abfragen.

Sobald der Angriff vorbei ist, überprüfen Sie Ihre Ergebnisse und bestimmen Sie den Index oder Payload der Daten, die Sie sehen möchten.
Sie müssen BEIDE der folgenden Flags verwenden:
--display-by Index oder Payload--display-interactions Indexnummer oder Payload-String in Anführungszeichen# display by index number
bypassfuzzer.py --display-by index --display-interactions 49
# display by payload
bypassfuzzer.py --display-by payload --display-interactions "/%2e%2fAJAX/index.php"
Ergebnis:

Der Einfachheit halber wird jedes Mal, wenn Sie das Tool ausführen, eine neue Datenbank erstellt.
Sie können eine bestimmte Datenbank über das Flag --idb abfragen.
HINWEIS:
interactions befinden, um verwendbar zu sein.--idb angegeben wird, wird standardmäßig die neueste verwendet.bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

Geben Sie das Flag --oob mit Ihrer Collaborator- oder ISH-Domain an
Sie müssen selbst auf Pingbacks prüfen, da ich derzeit keine Möglichkeit habe, das für Sie zu erledigen.
--oob abc123.oastify.com