Por lo que sé, no hay una manera de obtener la versión de OpenSSL desde un sitio web. Entonces, ¿qué tipo de información obtiene un verificador de Heartbleed para que pueda determinar si un sitio está a salvo de Heartbleed o no?
Por lo que sé, no hay una manera de obtener la versión de OpenSSL desde un sitio web. Entonces, ¿qué tipo de información obtiene un verificador de Heartbleed para que pueda determinar si un sitio está a salvo de Heartbleed o no?
El error de Heartbleed implica pedirle al servidor que devuelva un bloque de memoria que sea más grande que la información real que se está devolviendo. Un servidor vulnerable devolverá lo que esté en la memoria más allá de la estructura de datos que está devolviendo. Entonces, si le pide a un servidor que devuelva la memoria extra y lo hace, entonces el servidor es vulnerable.
Puede examinar el diferencias de código para el parche aquí . Hay mucha duplicación en el código, pero el cambio básico es agregar esto:
if (1 + 2 + payload + 16 > s->s3->rrec.length)
return 0; /* silently discard */
Para que pueda ver cómo falla ahora si solicita un búfer más grande que el tamaño real.
Lea otras preguntas en las etiquetas tls openssl heartbleed