Scrittura: bypass dell'autenticazione tramite divulgazione di informazioni @ PortSwigger Academy
Questo articolo per il bypass dell'autenticazione del laboratorio tramite divulgazione di informazioni fa parte della mia serie di procedure dettagliate per la Web Security Academy di PortSwigger .
Percorso di apprendimento : Argomenti lato server → Divulgazione di informazioni
Script Python: script.py
Descrizione del laboratorio
Passi
Analisi
L'applicazione di laboratorio è un sito Web del negozio con prodotti molto interessanti. Come al solito, il primo passo è controllare il sito web.
Dopo aver navigato un po' e aver effettuato l'accesso con le credenziali conosciute, non appare nulla di troppo interessante. È ora di controllare le richieste in Burp. Niente di troppo interessante neanche lì.
L'endpoint di amministrazione in alcuni lab precedenti è stato trovato in /admin
. Ma per evitare di utilizzare questa conoscenza, posso utilizzare più mezzi di scoperta dei contenuti. Burp Professional è dotato di tale funzionalità e diversi buoni strumenti gratuiti consentono anche la scoperta dei contenuti.
Quello che uso qui è ffuf insieme agli ottimi elenchi di parole forniti da SecLists :
Visitare l'endpoint
Visito questa pagina per ricevere questo messaggio:
Non vengono fornite ulteriori informazioni.
Un modo comune per propagare gli IP di origine a un server Web (utilizzato in scenari proxy o di bilanciamento del carico) è l' X-Forwarded-For
intestazione. Questo, tuttavia, non funziona qui (e la descrizione del laboratorio afferma che si tratta comunque di un'intestazione personalizzata).
È possibile utilizzare due verbi HTTP per ottenere informazioni aggiuntive OPTIONS
e TRACE
. Quest'ultimo produce un risultato interessante:
Fornire intestazione personalizzata
Ora che conosco l'intestazione, accedere all'interfaccia di amministrazione diventa facile. Devo assicurarmi che l'intestazione personalizzata venga inviata con ogni richiesta, quindi aggiungo una Match and Replace
regola per aggiungere sempre questa nuova intestazione alle richieste.
Uso 127.0.0.1
come contenuto per indurre l'applicazione a credere che la richiesta provenga da localhost
.
Ora basta ricaricare la pagina nel browser, accedere al pannello di amministrazione ed eliminare l'utente carlos
per risolvere il laboratorio:
Originariamente pubblicato su https://github.com .
New to Medium? Become a Medium member to access all stories on the platform and support me at no extra cost for you!