Explotar a la vulnerabilidad de colisión de la tabla hash [cerrado]

-4

¿Existe un exploit (código de PoC) para esta vulnerabilidad (colisión de tabla hash) para python?

  

2011-003 múltiples implementaciones de denegación de servicio mediante algoritmo hash   colisión

     

Descripción:

     

Una variedad de lenguajes de programación sufre de una denegación de servicio   Condición (DoS) contra funciones de almacenamiento de pares clave / valor en hash   estructuras de datos, la condición se puede aprovechar mediante la explotación   Colisiones predecibles en los algoritmos de hashing subyacentes.

     

El problema encuentra una exposición particular en aplicaciones de servidor web y / o   marcos En particular, la falta de límites suficientes para la   número de parámetros en las solicitudes POST junto con el   propiedades de colisión predecibles en las funciones hash de la   Los lenguajes subyacentes pueden hacer que las aplicaciones web sean vulnerables al DoS.   condición. El atacante, utilizando solicitudes HTTP especialmente diseñadas, puede   llevar a un 100% de uso de CPU que puede durar hasta varias horas   Dependiendo de la aplicación y el rendimiento del servidor, el   El efecto de amplificación es considerable y requiere poco ancho de banda y   Tiempo en el lado del atacante.

     

La condición para las colisiones predecibles en las funciones hash tiene   reportado para las siguientes implementaciones de lenguaje: Java, JRuby,   PHP, Python, Rubinius, Ruby. En el caso del lenguaje rubí, el   La rama 1.9.x no se ve afectada por la condición de colisión predecible ya que esta versión incluye una aleatorización de la función de hashing.

     

La vulnerabilidad descrita en este aviso es prácticamente idéntica.   a la informada en 2003 y descrita en el documento Denegación de   Servicio a través de ataques de complejidad algorítmica que afectaron al Perl   idioma.

     

El propio aviso de los reporteros se puede encontrar en    http://www.nruns.com/_downloads/advisory28122011.pdf [mods: el enlace ya no funciona]

    
pregunta Smit Johnth 29.11.2016 - 02:42
fuente

1 respuesta

2

Al utilizar el enlace que proporcionó , puede obtener los algoritmos que necesita para escribir su propio :

Ahora, la presentación no proporciona el código PoC en Python, pero le proporciona los cálculos para resolverlo.

Sin embargo, si está buscando un código, busqué "advisory28122011.pdf" (el enlace roto en la descripción del CVE) y Google devolvió un" meet-in-the-middle " PoC , escrito en Python (para obtener las colisiones hash, debe ejecutar un ataque de encuentro en el medio, según el documento original).

Google también devuelve "El manual de piratas informáticos del navegador" donde hay un código PoC de Java en la página 488, un Metasploit módulo preconstruido para PHP y Java, que debería ser lo suficientemente simple para portar a Python.

    
respondido por el schroeder 30.11.2016 - 23:18
fuente

Lea otras preguntas en las etiquetas