XSS cieco a SSRF

Feb 01 2023
Durante la ricerca di bug in un programma privato di bug bounty, mi sono imbattuto in una funzionalità all'interno dell'applicazione che consentiva la generazione di documenti PDF. Poiché l'input dell'utente si rifletteva nei documenti PDF generati, ho deciso di provare a iniettare payload HTML e XSS.

Durante la ricerca di bug in un programma privato di bug bounty, mi sono imbattuto in una funzionalità all'interno dell'applicazione che consentiva la generazione di documenti PDF. Poiché l'input dell'utente si rifletteva nei documenti PDF generati, ho deciso di provare a iniettare payload HTML e XSS.

Ho usato un noto strumento chiamato XSSHunter, che ci permette di trovare vulnerabilità di cross-site scripting cieche. Con mia grande sorpresa, il mio payload è stato eseguito immediatamente e sono stato in grado di recuperare lo screenshot e i seguenti dettagli su XSSHunter.

Ulteriori indagini hanno rivelato che il payload era stato eseguito sul percorso del file

"file:///gotenberg/e86fbc55ef893d878821c1bc76c3b1e3/index.html".

Gotenberg è un'API open source per la conversione di documenti HTML, Markdown e Office in PDF. Utilizza una serie di motori di rendering configurabili per convertire il documento di input in un file PDF. Il parser Gotenberg è il componente di Gotenberg che prende il documento di input e lo converte in un formato che può essere reso dai motori.

Dopo ulteriori test, ho scoperto che il parser Gotenberg era vulnerabile agli attacchi di contraffazione delle richieste lato server. Sono stato in grado di eseguire correttamente un payload che includeva un iframe con src impostato su "file:///etc/passwd" . Questo mi ha permesso di visualizzare il contenuto del file "/etc/passwd" .

Questo tipo di vulnerabilità consente a un utente malintenzionato di accedere a file sensibili su un server manipolando il percorso del file in un modo che consenta loro di attraversare il file system. Ciò può potenzialmente portare all'esposizione di informazioni sensibili e persino alla completa compromissione del sistema.

Ho immediatamente segnalato le mie scoperte al team di sicurezza, che ha classificato la vulnerabilità come alta. Tuttavia, anche un altro ricercatore di sicurezza aveva segnalato la vulnerabilità contemporaneamente. Di conseguenza, il team ha deciso di dividere la taglia e ho ricevuto $ 500.

Risorse

https://media.defcon.org/DEF%20CON%2027/DEF%20CON%2027%20presentations/DEFCON-27-Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf