¿Dónde empiezo para aprender a explotar las vulnerabilidades de Java y Flash? o explotación del navegador en general

3

Otro día de Java se descubrió hoy , que Me puse a pensar cómo funciona la explotación del navegador (ejecución remota en el navegador de los clientes).

No puedo encontrar ningún libro o recurso en línea sobre la explotación del navegador, puedo codificar y saber cómo usar un depurador. Sin embargo, no tengo idea de por dónde empezar en términos de aprender a explotar el navegador utilizando Java o Flash. Cualquier recurso o una lista de requisitos previos será muy útil.

    
pregunta Kush 10.01.2013 - 17:57
fuente

2 respuestas

7

Dirigirse a plataformas de espacio aislado como Flash y Java será muy difícil si recién estás comenzando, por lo que te sugiero que aprendas a caminar antes de intentar ejecutar.

Algunas cosas que querrás saber:

  • Cómo codificar en un lenguaje de bajo nivel como C.
  • Lo que hacen la pila, los registros, el montón, etc., y lo que sucede cuando los desborda de varias maneras.
  • Al menos ensamblaje x86 básico.
  • La mayoría del conjunto de API para su plataforma (por ejemplo, las API de Win32)
  • Lo que realmente contiene un archivo ejecutable / cómo funciona uno. Para Windows, este es un archivo PE , para * nix es ELF .
  • Mecanismos de manejo de excepciones para su plataforma, por ejemplo, excepciones nativas , SEH , VEH ,

Algunos recursos para revisar:

A partir de ahí, estará en camino de comprender cómo funcionan las vulnerabilidades del navegador. Realmente no hay tutoriales directos para ese tipo de cosas, ya que el entorno es muy variado según el navegador y los complementos que utiliza.

    
respondido por el Polynomial 10.01.2013 - 18:06
fuente
5

Consulte Fuzzing con DOM Nivel 2 y 3

  

" Descripción general
  Las técnicas de fuzzing demostraron ser muy efectivas para encontrar vulnerabilidades en los navegadores web.

     

Con el tiempo, se han escrito varios fuzzers valiosos y algunos de ellos (mangleme, cross_fuzz) se han convertido en un estándar "de facto", siendo ampliamente adoptado por la comunidad de investigación de seguridad.

     

El enfoque más común en el uso de fuzzing del navegador en las interfaces DOM Nivel 1, donde los elementos DOM se crean, rastrean, modifican y eliminan aleatoriamente.

     

Al utilizar este enfoque, se han descubierto cientos de errores de corrupción de memoria en todos los navegadores principales, pero debido a la amplia cobertura, detectar nuevos errores es cada vez más difícil.

     

En la conferencia DeepSec en Viena, mostré un enfoque evolutivo de la ocultación del navegador que se basa en algunas interfaces DOM introducidas por las especificaciones W3C DOM Nivel 2 y Nivel 3.   Usando este enfoque, se ha creado y probado un prototipo fuzzer contra IE9, IE10 y Chrome, proporcionando resultados interesantes: se han generado más de 70 fallos diferentes y se han encontrado varios errores de corrupción de memoria, algunos de los cuales se han vuelto explotables. "

    
respondido por el Tate Hansen 10.01.2013 - 18:06
fuente

Lea otras preguntas en las etiquetas