Bypass del filtro SSRF
Ciao, mi chiamo W1C3 e oggi spiegherò come ottenere l'accesso in lettura ai file arbitrari tramite SSRF (Server-Side Request Forgery) aggirando il filtro. Questa sfida è stata sviluppata per WaniCTF .
Nome
Immagine dello schermo
Descrizione
Un'applicazione che acquisisce schermate dei tuoi siti Web preferiti.
Procedura dettagliata
Accedendo al sito web, si può osservare che si tratta di una pagina molto semplice. La sua unica funzionalità è ricevere un URL, accedere all'URL utilizzando un browser Web e acquisire uno screenshot.
In questa sfida, poiché viene fornito il codice sorgente, possiamo vedere che esegue un controllo che dobbiamo aggirare, poiché " HTTP " deve essere incluso nella nostra richiesta e " FILE " non può essere incluso.
Per verificarlo, tenteremo di leggere il file /etc/passwd , ma senza successo.
Come accennato in precedenza, il filtro che dobbiamo bypassare deve contenere la stringa " http " o non includere la stringa " file ".
Ora che siamo al passaggio precedente, sapendo che SSRF esiste e comprendendo il filtro che dobbiamo bypassare, aggiungeremo " File:// " all'inizio e " ../../../../flag. txt ” o “ ../../../../etc/passwd ” fino alla fine. Con questo potremo leggere il file “flag.txt” per completare la nostra sfida.
NOTA : il file deve contenere almeno una lettera maiuscola per ignorare il filtro
Per semplificare, rimuoveremo alcuni dati dalla richiesta. In questo caso, il nostro payload sarebbe simile a questo:
File:///http/../../flag.txt
Conclusione
In questa sfida, abbiamo dimostrato come aggirare un semplice filtro che tentava di impedire l'SSRF disabilitando il protocollo " file " e richiedendo il protocollo " http ". Costruendo attentamente la nostra richiesta con una lettera maiuscola nel parametro " file " e utilizzando il protocollo " File:// ", siamo stati in grado di leggere file arbitrari sul server.
Grazie per aver letto questo post. Resta sintonizzato per altri prossimi post sul blog e sentiti libero di seguirmi sui social media per gli aggiornamenti. Inoltre, tieni presente che il mio GitHub personale avrà post pubblicati in spagnolo. Arrivederci!
Github: J-W1C3
Twitter: Josewice7
Telegramma: W1C3Posts
Unisciti al mio canale Telegram per rimanere aggiornato su quando vengono pubblicati nuovi post.