
🚫 Fortschrittliches Tool für Sicherheitsforscher, um 403/40X-Beschränkungen durch intelligente Techniken und adaptive Anfragemanipulation zu umgehen. Schnell. Präzise. Effektiv.
nomore403 ist ein Kommandozeilenwerkzeug zum Testen von HTTP-Zugriffskontrollumgehungen und Parser-Inkonsistenzen im Zusammenhang mit 401, 403 und ähnlichen Antworten.
Das Werkzeug ist für die praktische Web-Sicherheitsarbeit konzipiert: Bug Bounty, Penetrationstests, Sicherheitsüberprüfungen und Regressionstests von Zugriffskontrollregeln. Es automatisiert einen breiten Satz von Request-Mutationen, erfasst eine Basislinie, filtert häufige Fehlalarme und hebt die Antworten hervor, die am ehesten eine sinnvolle Umgehung darstellen.
Bei einer Ziel-URL führt nomore403 Folgendes aus:
curl-Befehlen für interessante Funde.Dieses Werkzeug „bricht die Authentifizierung“ nicht von selbst. Es hilft dabei, Unterschiede zu finden, wie Frontends, Proxys, WAFs, CDNs, Anwendungsrouter und Backends dieselbe Anfrage interpretieren.
404- oder übergeordnete Pfadantwortennet/http normalisiertgit clone https://github.com/devploit/nomore403
cd nomore403
go build
go install github.com/devploit/nomore403@latest
Wenn Sie mit go install installieren, wird das Verzeichnis payloads/ nicht automatisch installiert. Klonen Sie das Repository und weisen Sie das Werkzeug bei Bedarf mit -f auf dieses Verzeichnis.
curl verfügbar in PATH für Techniken, die darauf angewiesen sind, z. B.:
http-versionshttp-parserabsolute-uriDie meisten Techniken funktionieren ohne curl.
Einfacher Scan:
./nomore403 -u https://target.tld/admin
Mit Proxy und ausführlicher Ausgabe:
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v
Nur ausgewählte Techniken ausführen:
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync
Ziele von stdin einlesen:
cat urls.txt | ./nomore403
Eine Burp-ähnliche Request-Datei verwenden:
./nomore403 --request-file request.txt
Maschinenlesbare Ausgabe schreiben:
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl
target: https://target.tld/admin method: GET frontend: AWS ELB/ALB payloads: payloads
calib: 404 | 1245b | ±50 | frag 703b
BASELINE
default 403 520 bytes https://target.tld/admin
FINDINGS
hdr-ip 100! 200 2048 bytes X-Original-URL: /
abs-uri 26. 403 236 bytes request-target: https://target.tld/admin
http 18. 400 122 bytes HTTP/2
no visible results: 17 techniques
━━━━━━━━━━━━━━ LIKELY BYPASS ━━━━━━━━━━━━━━━━━
[!100 HIGH] Header injection (IP) 403=>200 2048b
why: status 403->200, len Δ1528, body changed, type changed
item: X-Original-URL: /
curl: curl -i -sS -k -H 'User-Agent: nomore403' -H 'X-Original-URL: /' 'https://target.tld/admin'
Jede sichtbare Zeile ist eine Antwort, die sich ausreichend von der Basislinie unterschieden hat, um die Filterung zu überstehen.
Typische Felder:
hdr-ip, abs-uri oder parser18., 61+ oder 100!Die abschließenden Zusammenfassungen zeigen Basislinie-zu-Ergebnis-Übergänge:
403=>200 verdient in der Regel sofortige Aufmerksamkeit403=>302 kann interessant sein, aber möglicherweise wieder in eine Authentifizierungssperre münden403->400 oder 403->404 deuten in der Regel eher auf Parser- oder Routing-Unterschiede als auf eine Umgehung hinAm Ende des Laufs gibt nomore403 aus:
LIKELY BYPASS
curl-BefehlINTERESTING VARIATIONS
no visible results
Die Bewertung ist heuristisch. Sie dient dazu, Ergebnisse zu priorisieren, nicht eine Ausnutzung zu beweisen.
Das Werkzeug belohnt im Allgemeinen:
2xx3xxLocation-ÄnderungenDas Werkzeug stuft in der Regel herab:
400- und 404-Fälle, es sei denn, die Antwort ändert sich ebenfalls erheblichEmpfohlene Interpretation:
HIGH: wahrscheinlich handlungsrelevant; zuerst prüfenMED: plausibler Kandidat; normalerweise manuelle Wiederholung wertLOW: Parser-Unterschied, Routing-Anomalie oder Verhalten mit geringerer VertrauenswürdigkeitDie automatische Kalibrierung ist standardmäßig im nicht-ausführlichen Modus aktiviert.
Sie sendet Anfragen an mehrere nicht existierende Pfade und erstellt eine Basislinie für das standardmäßige Fehlerverhalten des Ziels. Zusätzlich wird eine fragmentbasierte Kalibrierungsanfrage durchgeführt, um Fehlalarme zu reduzieren, die durch fragmententfernte Pfade verursacht werden.
Verwenden Sie diese Flags, um sie zu steuern:
--no-calibrate
--strict-calibrate
Location, Content-Type und Server vergleichenDas Werkzeug führt standardmäßig alle Techniken aus, es sei denn, Sie geben -k an.
verbs
payloads/httpmethodsverbs-case
method-override
headers
hop-by-hop
Connectionheader-confusion
X-Original-URLhost-override
forwarded-trust
Forwarded, Client-IP, Cluster-Client-IP und verwandte Vertrauenskettenproto-confusion
X-Forwarded-Proto, und verwandte Schema-Hinweiseendpaths
payloads/endpathsmidpaths
payloads/midpathsdouble-encoding
unicode
%uXXXX und überlange UTF-8-Pfadvariantenpath-case
path-normalization
suffix-tricks
.json, .css, und formatartige Query-Umschalterhttp-versions
HTTP/1.0 und HTTP/2http-parser
curl-Anfrage, um Unterschiede im Client/Frontend-Parser getrennt von http-versions aufzuzeigenabsolute-uri
curl --request-targetraw-duplicates
raw-authority
raw-desync
Einige Techniken benötigen Kontrolle auf Wire-Ebene, die Go's net/http-Client nicht bietet. Diese Techniken verwenden die rohe HTTP-Engine.
Zu den rohen Techniken gehören derzeit:
raw-duplicatesraw-authorityraw-desync%uXXXX Unicode-PfadanfragenHinweise:
Das Werkzeug kann Frontend-Hinweise ableiten, wie z. B.:
Diese Hinweise werden verwendet, um die Reihenfolge der Techniken und den Ausgabekontext zu verbessern.
Wichtig:
-k verwenden, führt das Werkzeug weiterhin den vollständigen Standard-Technikensatz ausErgebnisse mit hoher Punktzahl werden in der abschließenden Zusammenfassung automatisch wiederholt.
Die Wiederholungsausgabe hilft bei der Beantwortung:
Die abschließende Zusammenfassung enthält:
1/1 oder 2/2 bei Wiederholung übereinstimmendcurl-Befehl für interessante Ergebnisse./nomore403 -u https://target.tld/admin
./nomore403 -u targets.txt
cat targets.txt | ./nomore403
./nomore403 --request-file request.txt
Request-Dateien sind nützlich, wenn Sie in Burp oder einem anderen Proxy aufgezeichneten Datenverkehr erneut abspielen.
Verwenden Sie --payload-position, wenn Sie Payloads an expliziten Markierungen einfügen möchten, anstatt sich nur auf die integrierte Endpath- und Midpath-Mutationslogik zu verlassen.
Beispiel:
./nomore403 -u 'https://target.tld/§100§/admin/§200§' -p §
./nomore403 -u https://target.tld/admin
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v
./nomore403 -u https://target.tld/admin -k absolute-uri,raw-duplicates,raw-authority,raw-desync
./nomore403 -u https://target.tld/admin -i 10.0.0.5
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl
Führen Sie ./nomore403 --help für die vollständige aktuelle CLI aus.
Wichtige Flags:
-u, --uri
-k, --technique
-x, --proxy
-H, --header
-i, --bypass-ip
-v, --verbose
--json
--jsonl
--no-calibrate
--strict-calibrate
Der Standardmodus ist für interaktive Überprüfung und Triage optimiert.
Verwenden Sie --json für ein einzelnes strukturiertes Dokument.
Verwenden Sie --jsonl, wenn Sie:
Das Verzeichnis payloads/ enthält Listen, die von mehreren Techniken verwendet werden.
Aktuelle Dateien umfassen:
httpmethodsheadersipssimpleheadersendpathsmidpathsuseragentsSie können diese Dateien an Ihre Ziele oder Arbeitsabläufe anpassen.
curl-basierte Techniken erfordern curl in PATHVerwenden Sie dieses Werkzeug nur auf Systemen, die Sie zu testen berechtigt sind.
Die Autoren und Mitwirkenden sind nicht für Missbrauch verantwortlich. Sie sind dafür verantwortlich, geltendes Recht, Programmregeln und Organisationsrichtlinien einzuhalten.
Beiträge sind willkommen.
Nützliche Bereiche für Beiträge sind:
Bevor Sie eine Technik beisteuern, bevorzugen Sie:
Dieses Projekt wird unter der MIT-Lizenz veröffentlicht. Siehe LICENSE.
X-Forwarded-Portip-encoding
;index.htmlpayload-position
--retry-count
--retry-backoff-ms
--host-delay
--top-score-min
LIKELY BYPASS--variation-score-min
INTERESTING VARIATIONS--top
0 zum Deaktivieren von Zusammenfassungen