Per capire come funzionano gli exploit basati su browser, devi capire come funzionano i browser. Ho trovato un bell'articolo dettagliato a riguardo. Funzionamento dei browser .
Il punto di sintesi che puoi ottenere dall'articolo relativo agli exploit del browser è che i browser dispongono di motori javascript che traducono istruttori javascript in codice macchina. Quindi i motori del browser sono traduttori tra il browser e la tua macchina. SpiderMonkey di Firefox è un esempio per questo. È scritto in C / C ++ come quasi tutti i motori di browser.
Poiché ogni browser ha i propri motori, le vulnerabilità del browser sono specifiche per il browser (anche per il sistema operativo specifico). Ad esempio, un codice exploit per Internet Explorer 6 non funzionerà con Google Chrome. Inoltre, se cerchi più vulnerabilità del browser, scoprirai che le piattaforme di vulnerabilità stanno cambiando. Ad esempio, alcuni exploit funzionano solo in alcune versioni di Android. Puoi provare diverse vulnerabilità di Google Chrome come esempio; Elenco di vulnerabilità di Google Chrome
.
La maggior parte degli exploit del browser si basano sui classici attacchi di buffer overflow che sono anche usati nell'exploit Aurora. Pertanto, qualsiasi vulnerabilità in questi motori potrebbe essere sfruttata causando un overflow del buffer utilizzando javascript o oggetti dom html.
In breve, Javascript o html non possono portare a "Remote Code Execution" da alcun attacco di overflow del buffer. si. Tuttavia, la vulnerabilità è sfruttata nel motore del browser, non nel browser stesso. Javascript o HTML sono solo usati come strumento per sfruttare la vulnerabilità nei motori. Puoi leggere di più sulla vulnerabilità di Auroa:
Rapid7 MS10-002 Corruzione della memoria "Aurora" di Microsoft Internet Explorer e
anche da qui: CVE-2010-0249
EDIT:
Ho trovato un articolo sul motore JavaScript di Microsoft Edge, descrive anche bene i principi del flusso di lavoro dei browser; Motore JavaScript di Microsoft Edge per andare open-source
Letture aggiuntive: Informazioni su come il motore V8 di Chrome Traduce JavaScript in codice macchina