Attacco XSS su variabili js

-2

Diciamo che memorizzo una semplice password di un utente in una variabile JS globale.

Qualcuno potrebbe farsi un'idea di come un hacker possa ottenere quel valore dal browser dell'utente? Ora che è "possibile", ma ho bisogno di esempi con la descrizione.

    
posta Sonya Seyrios 22.08.2016 - 20:40
fonte

2 risposte

3

Immagina di utilizzare un sito Web che è un forum (simile a questo) in cui gli utenti possono inserire il proprio contenuto e altri utenti possono vederlo. Ora immagina che questo sito non abbia pulito correttamente il mio input, e ho trovato un modo per scrivere un post che, quando è stato reso sul tuo browser, incorpora Javascript eseguibile. Quando vai a vedere il mio post, quel Javascript verrà eseguito all'interno del tuo browser e sarà in grado di accedere alla variabile JS globale, e quindi ottenere la password.

Questo tipo di cose è chiamato attacco XSS memorizzato .

    
risposta data 22.08.2016 - 20:45
fonte
0

JavaScript viene eseguito sul lato client e può essere visualizzato da chiunque abbia accesso alla pagina attiva. Quando il tuo browser si connette a un sito, una delle cose che può scaricare ed eseguire è JavaScript. Quindi memorizzare qualsiasi informazione confidenziale in una variabile JavaScript globale è una pessima idea e non ti servirebbe uno script XSS contorto per accedervi se si trova sulla tua pagina.

Inoltre, JavaScript non è persistente, o almeno non dovrebbe esserlo, ad eccezione dei cookie. I cookie possono essere utilizzati per autenticare gli utenti su un sito per sessione. In sostanza, quando si connettono a un sito e immettono i dati di accesso validi, viene emesso un cookie di sessione valido che funge da ID che garantisce loro l'accesso a contenuti / pagine altrimenti inaccessibili o privati.

Ecco dove lo scripting cross-site può essere pericoloso. Supponi che un sito Web autorizzi JavaScript nei messaggi tra gli utenti e invii un messaggio all'amministratore web con JavaScript che cattura il cookie dell'amministratore. Da lì potresti teoricamente rubare la sessione utente dell'amministratore e disporre di tutte le autorizzazioni dell'amministratore.

Tornando alla tua domanda iniziale, se un utente avesse in qualche modo la sua password in una variabile JavaScript (esisterebbe solo sul suo computer, perché JavaScript è lato client), potresti teoricamente inviarlo un messaggio o postare un commento su una pagina visitata con JavaScript dannoso che ti invia un messaggio con i valori di ogni variabile nel JavaScript sul browser. Ma ancora, se stai memorizzando le password in testo in chiaro in JavaScript, hai problemi più grandi.

    
risposta data 22.08.2016 - 20:51
fonte

Leggi altre domande sui tag