Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/devploit/nomore403
RicognizioneScanner di VulnerabilitàEvasione IDS/IPSBypass WAFSicurezza WebPenetration Testing
GitHubdevploit/nomore403

nomore403

🚫 Strumento avanzato per ricercatori di sicurezza per bypassare restrizioni 403/40X attraverso tecniche intelligenti e manipolazione adattiva delle richieste. Veloce. Preciso. Efficace.

Vedi Repository
1.8k2142 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
nomore403 — 🚫 Strumento avanzato per ricercatori di sicurezza per bypassare restrizioni 403/40X attraverso tecniche intelligenti e manipolazione adattiva delle richieste. Veloce. Preciso. Efficace. | Kitploit

Logo NoMore403

NoMore403

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

nomore403 è uno strumento da riga di comando per testare bypass dei controlli di accesso HTTP e incongruenze del parser relative a risposte 401, 403 e affini.

Lo strumento è progettato per il lavoro pratico di sicurezza web: bug bounty, penetration testing, revisioni di sicurezza e test di regressione delle regole di controllo degli accessi. Automatizza un'ampia serie di mutazioni delle richieste, cattura una baseline, filtra i falsi positivi comuni ed evidenzia le risposte con maggiori probabilità di rappresentare un bypass significativo.

Cosa Fa

Data un URL di destinazione, nomore403:

  1. Invia una richiesta di baseline per catturare la risposta bloccata.
  2. Opzionalmente si autocalibra rispetto a percorsi inesistenti per apprendere il comportamento predefinito di errore del target.
  3. Esegue un insieme di tecniche di bypass che mutano il percorso della richiesta, il metodo, gli header o il formato wire.
  4. Valuta e raggruppa i risultati per ridurre il rumore.
  5. Emette prove riproducibili, inclusi comandi curl per risultati interessanti.

Questo strumento non "rompe l'autenticazione" da solo. Aiuta a trovare differenze nel modo in cui frontend, proxy, WAF, CDN, router applicativi e backend interpretano la stessa richiesta.

Caratteristiche

  • Confronto basato sulla baseline rispetto alla risposta bloccata
  • Autocalibrazione per ridurre i falsi positivi da risposte predefinite 404 o da percorsi genitore
  • Output con punteggio con riepiloghi separati per bypass probabili e variazioni interessanti
  • Riproducibilità per risultati di alto valore
  • Riprova e backoff per guasti di rete transitori
  • Esecuzione concorrente con progresso per tecnica
  • Supporto HTTP raw per forme di richiesta che net/http normalizza
  • Output JSON e JSONL per pipeline e post-elaborazione
  • Input da un singolo URL, file di URL, stdin o file di richiesta

Installazione

Compilare dal codice sorgente

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

Installare con Go

root@kitploit:~
go install github.com/devploit/nomore403@latest

Se installi con go install, la directory payloads/ non viene installata automaticamente. Clona il repository e punta lo strumento a quella directory con -f se necessario.

Requisiti

  • Go 1.24 o successivo per compilare dal codice sorgente
  • curl disponibile in PATH per le tecniche che dipendono da esso, come:
    • http-versions
    • http-parser
    • absolute-uri

La maggior parte delle tecniche funziona senza curl.

Avvio Rapido

Scansione base:

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

Usa un proxy e output verbose:

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

Esegui solo tecniche selezionate:

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

Leggi target da stdin:

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

Usa un file di richiesta in stile Burp:

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

Scrivi output leggibile dalla macchina:

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

Esempio di Output

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'

Come Leggere l'Output

Output principale delle tecniche

Ogni riga visibile è una risposta che differisce abbastanza dalla baseline da superare il filtraggio.

Campi tipici:

  • alias della tecnica, ad esempio hdr-ip, abs-uri o parser
  • marcatore di punteggio compatto come 18., 61+ o 100!
  • stato della risposta finale
  • dimensione della risposta
  • elemento o payload utilizzato

Transizioni del riepilogo

I riepiloghi finali mostrano le transizioni da baseline a risultato:

  • 403=>200 di solito merita attenzione immediata
  • 403=>302 può essere interessante, ma potrebbe ancora risolversi in una barriera di autenticazione
  • 403->400 o 403->404 di solito indicano differenze di parser o routing piuttosto che un bypass

Riepiloghi

Alla fine dell'esecuzione, nomore403 stampa:

  • LIKELY BYPASS
    • risultati con punteggio più alto
    • include curl riproducibile
  • INTERESTING VARIATIONS
    • differenze significative di parser o routing che meritano una revisione manuale
  • no visible results
    • conteggio delle tecniche eseguite ma che non hanno prodotto output visibile dopo il filtraggio

Modello di Punteggio

Il punteggio è euristico. È inteso per prioritizzare i risultati, non per dimostrare lo sfruttamento.

Lo strumento generalmente premia:

  • transizioni a 2xx
  • transizioni a 3xx
  • grandi variazioni della lunghezza del corpo
  • variazioni dell'hash del corpo
  • variazioni di Location
  • reindirizzamenti anomali che non sembrano risolversi in un flusso di login o negato
  • differenze che sopravvivono al replay

Lo strumento generalmente declassa:

  • risposte quasi identiche
  • rumore ripetuto del parser
  • risultati di replay instabili
  • reindirizzamenti con corpo vuoto che sembrano riportare al controllo degli accessi
  • molti casi 400 e 404 a meno che la risposta non cambi sostanzialmente

Interpretazione raccomandata:

  • HIGH: probabilmente utilizzabile; rivedere per primo
  • MED: candidato plausibile; di solito vale un replay manuale
  • LOW: differenza di parser, anomalia di routing o comportamento a bassa confidenza

Autocalibrazione

L'autocalibrazione è abilitata per impostazione predefinita in modalità non verbose.

Invia richieste a diversi percorsi inesistenti e costruisce una baseline per il comportamento predefinito di errore del target. Esegue anche una richiesta di calibrazione basata su frammento per ridurre i falsi positivi causati da percorsi privi di frammento.

Usa questi flag per controllarlo:

  • --no-calibrate
    • confronta solo con la risposta bloccata predefinita
  • --strict-calibrate
    • confronta anche l'hash del corpo e gli header chiave come Location, Content-Type e Server

Tecniche

Lo strumento esegue tutte le tecniche per impostazione predefinita, a meno che non si specifichi -k.

Mutazioni di metodo e verbo

  • verbs
    • metodi HTTP alternativi da payloads/httpmethods
  • verbs-case
    • casing casuale dei metodi HTTP
  • method-override
    • pattern di override del metodo basati su query, header e corpo

Mutazioni basate su header e fiducia

  • headers
    • tecnica ombrello che copre:
      • header di fiducia IP
      • header semplici
      • variazioni di Host
  • hop-by-hop
    • trucchi di rimozione hop-by-hop usando Connection
  • header-confusion
    • header di riscrittura e override del percorso come X-Original-URL
  • host-override
    • variazioni di override dell'host e forwarded-host
  • forwarded-trust
    • Forwarded, Client-IP, Cluster-Client-IP e catene di fiducia correlate
  • proto-confusion
    • X-Forwarded-Proto, e suggerimenti di schema correlati

Mutazioni di percorso e normalizzazione

  • endpaths
    • mutazioni di suffisso e fine percorso da payloads/endpaths
  • midpaths
    • mutazioni di inserimento percorso e traversal-style da payloads/midpaths
  • double-encoding
    • varianti di percorso codificate, incluse forme aggressive di doppia codifica
  • unicode
    • varianti di percorso %uXXXX e UTF-8 sovralungo
  • path-case
    • cambio di case dei segmenti di percorso
  • path-normalization
    • varianti di normalizzazione di dot-segment e punto e virgola
  • suffix-tricks
    • trucchi di suffisso ed estensione come .json, .css, e toggle di formato query

Mutazioni di frontend e formato wire

  • http-versions
    • confronta la stessa richiesta su HTTP/1.0 e HTTP/2
  • http-parser
    • invia una richiesta curl deliberatamente minima per esporre le differenze del parser client/frontend separatamente da http-versions
  • absolute-uri
    • usa target di richiesta in forma assoluta tramite curl --request-target
  • raw-duplicates
    • duplica gli header rilevanti per la sicurezza con HTTP raw
  • raw-authority
    • segnali di autorità e host duplicati o in conflitto
  • raw-desync
    • forme di richiesta mirate alle differenze di parsing frontend/backend, incluse semantiche di trasferimento in conflitto

Comportamento HTTP Raw

Alcune tecniche necessitano di controllo a livello wire che il client net/http di Go non fornisce. Quelle tecniche usano il motore HTTP raw.

Le tecniche raw attualmente includono:

  • raw-duplicates
  • raw-authority
  • raw-desync
  • alcune richieste di percorso unicode %uXXXX

Note:

  • le richieste raw vengono inviate automaticamente dove necessario
  • le tecniche raw non supportano attualmente proxy upstream
  • il comportamento raw è utile per:
    • header duplicati
    • target di richiesta esatti
    • casi limite di transfer-encoding e content-length

Fingerprinting e Ordine delle Tecniche

Lo strumento può dedurre suggerimenti sul frontend come:

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

Questi suggerimenti sono usati per migliorare l'ordinamento delle tecniche e il contesto dell'output.

Importante:

  • il fingerprinting non disabilita le tecniche per impostazione predefinita
  • a meno che non si usi -k, lo strumento esegue comunque l'intero set di tecniche predefinito

Riproducibilità e Replay

I risultati di alto valore vengono riprodotti automaticamente nel riepilogo finale.

L'output del replay aiuta a rispondere:

  • il comportamento si è ripetuto?
  • ha mantenuto lo stesso stato e forma della risposta?
  • è probabilmente abbastanza stabile da essere investigato o segnalato?

Il riepilogo finale include:

  • conteggi di replay come 1/1 o 2/2 matched on replay
  • un comando curl riproducibile per risultati interessanti

Modalità di Input

Target singolo

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

File contenente URL

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

Stdin

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

File di richiesta

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

I file di richiesta sono utili quando si riproduce traffico catturato in Burp o in un altro proxy.

Posizioni Personalizzate dei Payload

Usa --payload-position quando vuoi iniettare payload in marcatori espliciti invece di fare affidamento solo sulla logica di mutazione endpath e midpath incorporata.

Esempio:

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

Flussi di Lavoro Comuni

Triage rapido

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

Investigare con un proxy intercettatore

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

Eseguire solo tecniche raw e focalizzate sul frontend

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

Testare un IP fidato personalizzato

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

Salvare JSONL per analisi successive

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

Flag

Esegui ./nomore403 --help per la CLI completa e aggiornata.

Flag chiave:

  • -u, --uri
    • URL target, file di URL o percorso di input
  • -k, --technique
    • elenco separato da virgole delle tecniche da eseguire
  • -x, --proxy
    • proxy upstream
  • -H, --header
    • aggiungi header personalizzati
  • -i, --bypass-ip
    • IP o hostname utilizzato nelle tecniche di header fidati
  • -v, --verbose
    • mostra tutti i risultati visibili, non solo l'output filtrato
  • --json
    • scrive JSON strutturato
  • --jsonl
    • scrive un oggetto JSON per risultato
  • --no-calibrate
    • disabilita l'autocalibrazione
  • --strict-calibrate
    • confronta più campi della risposta durante il filtraggio

Formati di Output

Output terminale leggibile dall'uomo

La modalità predefinita è ottimizzata per la revisione interattiva e il triage.

JSON

Usa --json per un singolo documento strutturato.

JSON Lines

Usa --jsonl quando vuoi:

  • elaborare i risultati in modo incrementale
  • archiviare le prove in pipeline
  • importare i risultati nei propri strumenti

File dei Payload

La directory payloads/ contiene elenchi utilizzati da diverse tecniche.

I file attuali includono:

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

Puoi personalizzare questi file per adattarli ai tuoi target o al tuo flusso di lavoro.

Limitazioni

  • le tecniche HTTP raw non supportano attualmente proxy upstream
  • il punteggio è euristico e può produrre falsi positivi o falsi negativi
  • il punteggio dei reindirizzamenti attualmente usa euristiche sulla risposta di reindirizzamento immediata, non una catena di reindirizzamento completamente seguita
  • alcune tecniche dipendono dal comportamento specifico del target e possono apparire rumorose su stack fortemente normalizzati
  • le tecniche basate su curl richiedono curl in PATH

Sicurezza e Uso Responsabile

Usa questo strumento solo su sistemi che sei autorizzato a testare.

Gli autori e i contributori non sono responsabili per l'uso improprio. Sei responsabile del rispetto delle leggi applicabili, delle regole del programma e delle politiche organizzative.

Contribuire

I contributi sono benvenuti.

Le aree di contributo utili includono:

  • correzioni di bug
  • migliori payload
  • nuove tecniche di bypass
  • miglioramenti HTTP raw
  • fingerprinting frontend
  • documentazione ed esempi

Prima di contribuire con una tecnica, preferisci:

  • un comportamento di parsing o di confine di fiducia chiaramente distinto
  • prove riproducibili
  • test che verificano la forma della richiesta o il comportamento di replay

Licenza

Questo progetto è rilasciato sotto la licenza MIT. Vedi LICENSE.

Scarica lo strumento
X-Forwarded-Port
  • ip-encoding
    • variazioni di localhost e indirizzi fidati in forma dotted, intero, hex e IPv6
  • ;index.html
  • payload-position
    • inserisce i payload in posizioni esplicitamente marcate nell'URL
  • --retry-count
    • numero di riprove per errori transitori
  • --retry-backoff-ms
    • base del backoff esponenziale in millisecondi
  • --host-delay
    • ritardo tra target in batch sullo stesso host
  • --top-score-min
    • punteggio minimo per LIKELY BYPASS
  • --variation-score-min
    • punteggio minimo per INTERESTING VARIATIONS
  • --top
    • numero massimo di voci per sezione di riepilogo, o 0 per disabilitare i riepiloghi