Para comprender cómo funcionan las vulnerabilidades basadas en el navegador, debe comprender cómo funcionan los navegadores. He encontrado un buen artículo detallado al respecto. Cómo funcionan los navegadores .
El punto de resumen que puede obtener del artículo relacionado con las vulnerabilidades del navegador es que los navegadores tienen motores de javascript que traducen los instructores de javascript en código de máquina. Por lo tanto, los motores del navegador son traductores entre el navegador y su máquina. SpiderMonkey de Firefox es un ejemplo de eso. Está escrito en C / C ++ como casi todos los motores de navegador.
Dado que cada navegador tiene sus propios motores, las vulnerabilidades basadas en el navegador son específicas para el navegador (también para el sistema operativo). Un código de vulnerabilidad para Internet Explorer 6 probablemente no funcione para Google Chrome, por ejemplo. Además, si busca más vulnerabilidades en el navegador, descubrirá que las plataformas de vulnerabilidad están cambiando. Hay exploits que funcionan solo en algunas versiones de Android, por ejemplo. Puedes ver varias vulnerabilidades de Google Chrome como ejemplo; Lista de vulnerabilidades de Google Chrome
.
La mayoría de las vulnerabilidades del navegador se basan en los ataques de desbordamiento de búfer clásicos que también se utilizan en la explotación Aurora. Por lo tanto, cualquier vulnerabilidad en estos motores podría ser explotada causando un desbordamiento de búfer mediante el uso de objetos javascript o html dom.
En resumen, Javascript o html no pueden llevar a la "Ejecución remota de código" por ningún ataque de desbordamiento de búfer. sí mismo. Sin embargo, la vulnerabilidad se explota en el motor del navegador, no en el propio navegador. Javascript o HTML solo se utilizan como una herramienta para explotar la vulnerabilidad en los motores. Puedes leer más sobre la vulnerabilidad de Auroa:
Rapid7 MS10-002 Microsoft Internet Explorer "Aurora" Corrupción de la memoria y
también desde aquí: CVE-2010-0249
EDITAR:
He descubierto un artículo sobre el motor de Javascript de Microsoft Edge, que también describe bien los principios del flujo de trabajo de los navegadores; El motor de JavaScript de Microsoft Edge para ir a código abierto
Lectura adicional: Cómo entender cómo funciona el motor Chrome V8 Traduce JavaScript en Código de Máquina