Per vedere una spiegazione dei metodi tipici di utilizzo di Javascript, sarebbe meglio avere un libro sull'argomento, piuttosto che fare affidamento su risposte frammentarie qui. Ci sono molti libri di questo tipo, ad esempio:
" Manuale di hacker dell'applicazione Web: individuazione e utilizzo dei difetti di protezione " di Dafydd Stuttard e Marcus Pinto.
" Attacchi XSS: exploit e difese di Cross Site Scripting " di Seth Fogie
Se desideri un breve riepilogo dei tipi di exploit passati e conosciuti che coinvolgono Javascript, puoi consultare il database CVE di MITER (vulnerabilità comune) utilizzando la parola chiave "javascript":
CVE MITER che implicano Javascript
Ci sono circa 1.000 CVE in Javascript e la loro lettura ti fornirà una visione completa della normale gamma di hack che usano Javascript.
Forse un modo migliore per affrontare la tua domanda, non è tanto fornire una zoologia di "tipi di attacco", ma capire perché una pagina web contenente Javascript è più probabile che possa compromettere un client web, piuttosto che una pagina che ha solo HTML.
Javascript presenta un maggiore rischio per la sicurezza per due motivi principali: (1) è molto più complesso di HTML e (2) consente un'interazione più sofisticata con l'utente, quindi maggiori opportunità di ingannare l'utente. Pertanto, ci sono due superfici di vulnerabilità di base, il codice client e il fattore di ingegneria umana / sociale.
Quando il client analizza e reagisce al contenuto HTML, la gamma di azioni possibili è molto più limitata della gamma di possibili mondi che possono sorgere dopo l'analisi e l'esecuzione di Javascript. Per proteggersi dal codice dannoso, il programmatore client deve anticipare ogni possibile cosa che potrebbe accadere ed evitare conseguenze negative. Ovviamente, questo è molto più difficile da fare per un programma per computer, piuttosto che per le istruzioni di layout di pagina.