Scrittura: bypass dell'autenticazione tramite divulgazione di informazioni @ PortSwigger Academy

Nov 25 2022
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.

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-Forintestazione. 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 OPTIONSe 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 Replaceregola per aggiungere sempre questa nuova intestazione alle richieste.

Uso 127.0.0.1come 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 carlosper 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!

Da Infosec Writeups: Ogni giorno nell'Infosec emergono molte cose di cui è difficile tenere il passo. Iscriviti alla nostra newsletter settimanale per ricevere tutte le ultime tendenze Infosec sotto forma di 5 articoli, 4 thread, 3 video, 2 repository e strumenti GitHub e 1 avviso di lavoro GRATIS!