Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nomore403 — 🚫 Fortschrittliches Tool für Sicherheitsforscher, um 403/40X-Beschränkungen durch intelligente Techniken und adaptive Anfragemanipulation zu umgehen. Schnell. Präzise. Effektiv. | Kitploit
Tools/GitHubGitHub/devploit/nomore403
AufklärungSchwachstellenscannerIDS/IPS-UmgehungWAF-UmgehungWebsicherheitPenetrationstests
GitHubdevploit/nomore403

nomore403

🚫 Fortschrittliches Tool für Sicherheitsforscher, um 403/40X-Beschränkungen durch intelligente Techniken und adaptive Anfragemanipulation zu umgehen. Schnell. Präzise. Effektiv.

Repository anzeigen
1.8k214vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NoMore403 logo

NoMore403

GitHub stars GitHub forks Go Report Card Go version License: MIT Contributions welcome

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.

Was es macht

Bei einer Ziel-URL führt nomore403 Folgendes aus:

  1. Senden einer Basis-Anfrage, um die blockierte Antwort zu erfassen.
  2. Optional automatische Kalibrierung gegen nicht existierende Pfade, um das standardmäßige Fehlerverhalten des Ziels zu erlernen.
  3. Ausführen einer Reihe von Bypass-Techniken, die den Request-Pfad, die Methode, die Header oder das Wire-Format mutieren.
  4. Bewertung und Gruppierung der Ergebnisse, um Rauschen zu reduzieren.
  5. Ausgabe von reproduzierbaren Beweisen, einschließlich 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.

Funktionen

  • Basislinien-getriebener Vergleich mit der blockierten Antwort
  • Automatische Kalibrierung zur Reduzierung von Fehlalarmen durch standardmäßige 404- oder übergeordnete Pfadantworten
  • Bewertete Ausgabe mit separaten Zusammenfassungen für wahrscheinliche Bypässe und interessante Variationen
  • Wiederholbarkeit und Reproduzierbarkeit von hochwertigen Funden
  • Wiederholungs- und Backoff-Verhalten bei vorübergehenden Netzwerkfehlern
  • Gleichzeitige Ausführung mit Fortschrittsanzeige pro Technik
  • Rohes HTTP für Request-Formate, die net/http normalisiert
  • JSON- und JSONL-Ausgabe für Pipelines und Nachbearbeitung
  • Eingabe von einer einzelnen URL, URL-Dateien, stdin oder Request-Dateien

Installation

Aus dem Quellcode bauen

root@kitploit:~
git clone https://github.com/devploit/nomore403
cd nomore403
go build

Mit Go installieren

root@kitploit:~
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.

Voraussetzungen

  • Go 1.24 oder höher, um aus dem Quellcode zu bauen
  • curl verfügbar in PATH für Techniken, die darauf angewiesen sind, z. B.:
    • http-versions
    • http-parser
    • absolute-uri

Die meisten Techniken funktionieren ohne curl.

Schnellstart

Einfacher Scan:

root@kitploit:~
./nomore403 -u https://target.tld/admin

Mit Proxy und ausführlicher Ausgabe:

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

Nur ausgewählte Techniken ausführen:

root@kitploit:~
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync

Ziele von stdin einlesen:

root@kitploit:~
cat urls.txt | ./nomore403

Eine Burp-ähnliche Request-Datei verwenden:

root@kitploit:~
./nomore403 --request-file request.txt

Maschinenlesbare Ausgabe schreiben:

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

Beispielausgabe

root@kitploit:~
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'

Wie man die Ausgabe liest

Hauptausgabe der Techniken

Jede sichtbare Zeile ist eine Antwort, die sich ausreichend von der Basislinie unterschieden hat, um die Filterung zu überstehen.

Typische Felder:

  • Alias der Technik, z. B. hdr-ip, abs-uri oder parser
  • kompakte Bewertungsmarkierung wie 18., 61+ oder 100!
  • endgültiger Antwortstatus
  • Antwortgröße
  • verwendetes Element oder Payload

Zusammenfassungsübergänge

Die abschließenden Zusammenfassungen zeigen Basislinie-zu-Ergebnis-Übergänge:

  • 403=>200 verdient in der Regel sofortige Aufmerksamkeit
  • 403=>302 kann interessant sein, aber möglicherweise wieder in eine Authentifizierungssperre münden
  • 403->400 oder 403->404 deuten in der Regel eher auf Parser- oder Routing-Unterschiede als auf eine Umgehung hin

Zusammenfassungen

Am Ende des Laufs gibt nomore403 aus:

  • LIKELY BYPASS
    • Ergebnisse mit der höchsten Punktzahl
    • enthält reproduzierbaren curl-Befehl
  • INTERESTING VARIATIONS
    • sinnvolle Parser- oder Routing-Unterschiede, die eine manuelle Überprüfung wert sind
  • no visible results
    • Anzahl der Techniken, die ausgeführt wurden, aber nach der Filterung keine sichtbare Ausgabe erzeugten

Bewertungsmodell

Die Bewertung ist heuristisch. Sie dient dazu, Ergebnisse zu priorisieren, nicht eine Ausnutzung zu beweisen.

Das Werkzeug belohnt im Allgemeinen:

  • Übergänge zu 2xx
  • Übergänge zu 3xx
  • große Änderungen der Body-Länge
  • Änderungen des Body-Hashs
  • Location-Änderungen
  • ungewöhnliche Weiterleitungen, die nicht auf eine Login- oder Verweigerungsseite zu führen scheinen
  • Unterschiede, die bei der Wiederholung bestehen bleiben

Das Werkzeug stuft in der Regel herab:

  • nahezu identische Antworten
  • wiederholtes Parser-Rauschen
  • instabile Wiederholungsergebnisse
  • leere Body-Weiterleitungen, die anscheinend wieder in die Zugriffskontrolle führen
  • viele 400- und 404-Fälle, es sei denn, die Antwort ändert sich ebenfalls erheblich

Empfohlene Interpretation:

  • HIGH: wahrscheinlich handlungsrelevant; zuerst prüfen
  • MED: plausibler Kandidat; normalerweise manuelle Wiederholung wert
  • LOW: Parser-Unterschied, Routing-Anomalie oder Verhalten mit geringerer Vertrauenswürdigkeit

Automatische Kalibrierung

Die 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
    • nur gegen die standardmäßig blockierte Antwort vergleichen
  • --strict-calibrate
    • auch Body-Hash und wichtige Header wie Location, Content-Type und Server vergleichen

Techniken

Das Werkzeug führt standardmäßig alle Techniken aus, es sei denn, Sie geben -k an.

Methoden- und Verbmutationen

  • verbs
    • alternative HTTP-Methoden aus payloads/httpmethods
  • verbs-case
    • zufällige Groß-/Kleinschreibung von HTTP-Methoden
  • method-override
    • Query-, Header- und Body-basierte Methoden-Override-Muster

Header- und vertrauensbasierte Mutationen

  • headers
    • Sammeltechnik, die Folgendes umfasst:
      • IP-Trust-Header
      • einfache Header
      • Host-Variationen
  • hop-by-hop
    • Hop-by-Hop-Entfernungstricks mittels Connection
  • header-confusion
    • Rewrite- und Path-Override-Header wie X-Original-URL
  • host-override
    • Host-Override und Varianten von Forwarded-Host
  • forwarded-trust
    • Forwarded, Client-IP, Cluster-Client-IP und verwandte Vertrauensketten
  • proto-confusion
    • X-Forwarded-Proto, und verwandte Schema-Hinweise

Pfad- und Normalisierungsmutationen

  • endpaths
    • Suffix- und End-of-Path-Mutationen aus payloads/endpaths
  • midpaths
    • Pfadeinfügungs- und Traversal-ähnliche Mutationen aus payloads/midpaths
  • double-encoding
    • codierte Pfadvarianten, einschließlich aggressiver Double-Encoding-Formen
  • unicode
    • %uXXXX und überlange UTF-8-Pfadvarianten
  • path-case
    • Groß-/Kleinschreibung von Pfadsegmenten
  • path-normalization
    • Punkt-Segment- und Semikolon-Normalisierungsvarianten
  • suffix-tricks
    • Suffix- und Erweiterungstricks wie .json, .css, und formatartige Query-Umschalter

Frontend- und Wire-Format-Mutationen

  • http-versions
    • vergleicht dieselbe Anfrage über HTTP/1.0 und HTTP/2
  • http-parser
    • sendet eine bewusst minimale curl-Anfrage, um Unterschiede im Client/Frontend-Parser getrennt von http-versions aufzuzeigen
  • absolute-uri
    • verwendet absolute Request-Targets über curl --request-target
  • raw-duplicates
    • dupliziert sicherheitsrelevante Header mit rohem HTTP
  • raw-authority
    • dupliziert oder widersprüchliche Authority- und Host-Signale
  • raw-desync
    • Request-Formate, die auf Unterschiede in der Frontend/Backend-Analyse abzielen, einschließlich widersprüchlicher Transfer-Semantiken

Rohes HTTP-Verhalten

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-duplicates
  • raw-authority
  • raw-desync
  • einige %uXXXX Unicode-Pfadanfragen

Hinweise:

  • rohe Anfragen werden bei Bedarf automatisch gesendet
  • rohe Techniken unterstützen derzeit keine vorgeschalteten Proxys
  • rohes Verhalten ist nützlich für:
    • doppelte Header
    • exakte Request-Targets
    • Transfer-Encoding- und Content-Length-Grenzfälle

Fingerprinting und Technik-Reihenfolge

Das Werkzeug kann Frontend-Hinweise ableiten, wie z. B.:

  • AWS ELB / ALB
  • CloudFront
  • Cloudflare
  • Nginx
  • Envoy
  • Apache
  • IIS

Diese Hinweise werden verwendet, um die Reihenfolge der Techniken und den Ausgabekontext zu verbessern.

Wichtig:

  • Fingerprinting deaktiviert standardmäßig keine Techniken
  • sofern Sie nicht -k verwenden, führt das Werkzeug weiterhin den vollständigen Standard-Technikensatz aus

Reproduzierbarkeit und Wiederholung

Ergebnisse mit hoher Punktzahl werden in der abschließenden Zusammenfassung automatisch wiederholt.

Die Wiederholungsausgabe hilft bei der Beantwortung:

  • hat sich das Verhalten wiederholt?
  • blieb der gleiche Status und die gleiche Antwortform erhalten?
  • ist dies wahrscheinlich stabil genug, um es zu untersuchen oder zu melden?

Die abschließende Zusammenfassung enthält:

  • Wiederholungszahlen wie 1/1 oder 2/2 bei Wiederholung übereinstimmend
  • einen wiederholbaren curl-Befehl für interessante Ergebnisse

Eingabemodi

Einzelnes Ziel

root@kitploit:~
./nomore403 -u https://target.tld/admin

Datei mit URLs

root@kitploit:~
./nomore403 -u targets.txt

stdin

root@kitploit:~
cat targets.txt | ./nomore403

Request-Datei

root@kitploit:~
./nomore403 --request-file request.txt

Request-Dateien sind nützlich, wenn Sie in Burp oder einem anderen Proxy aufgezeichneten Datenverkehr erneut abspielen.

Benutzerdefinierte Payload-Positionen

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:

root@kitploit:~
./nomore403 -u 'https://target.tld/§100§/admin/§200§' -p §

Häufige Arbeitsabläufe

Schnelles Triage

root@kitploit:~
./nomore403 -u https://target.tld/admin

Untersuchung mit einem abfangenden Proxy

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

Nur rohe und frontendfokussierte Techniken ausführen

root@kitploit:~
./nomore403 -u https://target.tld/admin -k absolute-uri,raw-duplicates,raw-authority,raw-desync

Eine benutzerdefinierte vertrauenswürdige IP testen

root@kitploit:~
./nomore403 -u https://target.tld/admin -i 10.0.0.5

JSONL für spätere Analyse speichern

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

Flags

Führen Sie ./nomore403 --help für die vollständige aktuelle CLI aus.

Wichtige Flags:

  • -u, --uri
    • Ziel-URL, Datei mit URLs oder Eingabepfad
  • -k, --technique
    • Komma-getrennte Liste der auszuführenden Techniken
  • -x, --proxy
    • vorgeschalteter Proxy
  • -H, --header
    • benutzerdefinierte Header hinzufügen
  • -i, --bypass-ip
    • IP oder Hostname, der in Trust-Header-Techniken verwendet wird
  • -v, --verbose
    • alle sichtbaren Ergebnisse anzeigen, nicht nur gefilterte Ausgabe
  • --json
    • strukturiertes JSON schreiben
  • --jsonl
    • ein JSON-Objekt pro Ergebnis schreiben
  • --no-calibrate
    • automatische Kalibrierung deaktivieren
  • --strict-calibrate
    • mehr Antwortfelder während der Filterung vergleichen

Ausgabeformate

Menschenlesbare Terminalausgabe

Der Standardmodus ist für interaktive Überprüfung und Triage optimiert.

JSON

Verwenden Sie --json für ein einzelnes strukturiertes Dokument.

JSON Lines

Verwenden Sie --jsonl, wenn Sie:

  • Ergebnisse schrittweise verarbeiten möchten
  • Beweise in Pipelines speichern möchten
  • Funde in Ihre eigenen Werkzeuge importieren möchten

Payload-Dateien

Das Verzeichnis payloads/ enthält Listen, die von mehreren Techniken verwendet werden.

Aktuelle Dateien umfassen:

  • httpmethods
  • headers
  • ips
  • simpleheaders
  • endpaths
  • midpaths
  • useragents

Sie können diese Dateien an Ihre Ziele oder Arbeitsabläufe anpassen.

Einschränkungen

  • rohe HTTP-Techniken unterstützen derzeit keine vorgeschalteten Proxys
  • die Bewertung ist heuristisch und kann Fehlalarme oder falsche Negative erzeugen
  • die Weiterleitungsbewertung verwendet derzeit Heuristiken für die unmittelbare Weiterleitungsantwort, nicht eine vollständig verfolgte Weiterleitungskette
  • einige Techniken hängen vom zielspezifischen Verhalten ab und können auf stark normalisierten Stapeln verrauscht erscheinen
  • curl-basierte Techniken erfordern curl in PATH

Sicherheit und verantwortungsvolle Nutzung

Verwenden 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.

Mitwirken

Beiträge sind willkommen.

Nützliche Bereiche für Beiträge sind:

  • Fehlerbehebungen
  • bessere Payloads
  • neue Bypass-Techniken
  • Verbesserungen des rohen HTTP
  • Frontend-Fingerprinting
  • Dokumentation und Beispiele

Bevor Sie eine Technik beisteuern, bevorzugen Sie:

  • ein klar unterscheidbares Parsing- oder Vertrauensgrenzverhalten
  • reproduzierbare Beweise
  • Tests, die die Request-Form oder das Wiederholungsverhalten überprüfen

Lizenz

Dieses Projekt wird unter der MIT-Lizenz veröffentlicht. Siehe LICENSE.

Tool herunterladen
X-Forwarded-Port
  • ip-encoding
    • Localhost- und Trusted-Address-Varianten in gepunkteter, Integer-, Hex- und IPv6-Form
  • ;index.html
  • payload-position
    • fügt Payloads an explizit markierten Positionen in der URL ein
  • --retry-count
    • Anzahl der Wiederholungen bei vorübergehenden Fehlern
  • --retry-backoff-ms
    • exponentielle Backoff-Basis in Millisekunden
  • --host-delay
    • Verzögerung zwischen gebündelten Zielen auf demselben Host
  • --top-score-min
    • Mindestpunktzahl für LIKELY BYPASS
  • --variation-score-min
    • Mindestpunktzahl für INTERESTING VARIATIONS
  • --top
    • maximale Anzahl von Einträgen pro Zusammenfassungsabschnitt, oder 0 zum Deaktivieren von Zusammenfassungen