Blog

¿Seguro que has ocultado tu versión de PHP? Compruébalo

¿Qué es un “huevo de Pascua PHP”?

La primera mención de esta “vía de ataque” específica fue divulgada en 2004 en la lista de correo seclists.org webappsec . Parece que algunos de los desarrolladores de PHP prepararon URL oculta que podría mostrar varios gráficos y créditos a los autores que participan en el proyecto PHP.

Ejemplo 1: http://php.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Ejemplo 2: http://php.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42

Ejemplo 3: http://php.net/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

Ejemplo 4: http://php.net/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Esta función sigue siendo ampliamente utilizada en todo el Internet.

¿Es malo?

Los rumores que han circulado por lo mala que es. La mayoría de los desarrolladores no saben de su existencia, algunos lo ven como una característica divertida, otros como un error inofensivo, mientras que otros lo ven como una amenaza potencial para su entorno de TI.

Quiero decir, realmente, lo único que conseguirás es imágenes tontas de los animales y personas con palos en sus bocas.

Eso es muy gracioso.

En los informes de pentester se suele detallar de la siguiente manera.

PHP contiene un defecto que puede dar lugar a una divulgación de información no autorizada. La que se activa cuando un atacante remoto realiza ciertas peticiones HTTP con argumentos elaborados, que divulgarán la versión PHP y otra información sensible que resulta en una pérdida de confidencialidad. “-  Open Source Vulnerability Database (OSVDB-12184)

El problema es, que no existe una herramienta a disposición del público para evaluar la gravedad que es en realidad y el alcance del problema.

Analicemos!

De lo que se encuentra abiertamente en Internet, se puede abusar de los datos de varias maneras. Por ejemplo, se puede asignar tramos de las versiones de PHP a algunos de los gráficos:

Imagen

De la versión PHP V4.0.0 a la PHP v4.2.3

 

De la versión PHP v4.3.0 a la PHP v4.3.10

 

De la versión PHP v4.3.11  y PHP v5.0.4 a la PHP v4.4.6  y PHP V5.1.2

 

De la versión PHP v5.0.0 a la PHP v5.0.3

 

De la versión PHP v5.1.3 a la PHP v5.2.13

 

De la versión PHP v5.3.0 a la PHP v5.xx

 

Mediante el análisis de la imagen, se puede concluir qué versión se está ejecutando. Si usted sabe la versión, obtendrá una buena estimación de las vulnerabilidades que puede estar oculto en el software -, así como las compatibilidades con varios módulos ( que a su vez pueden tener una variada cantidad de errores ).

Si nos fijamos en las vulnerabilidades públicas documentadas en cve.mitre.org , podemos suponer lo siguiente:

Vulnerabilidades CVE partir de la versión a la versión

CVE-2002-1954 PHP V4.0.0 PHP v4.2.3

CVE-2003-0860
CVE-2004-1019
CVE-2004-1065
PHP v4.3.0 PHP v4.3.10

CVE-2005-3391
CVE-2005-3392
PHP v4.3.11  y PHP v5.0.4 v4.4.6 PHP  y PHP V5.1.2

CVE-2007-1582 PHP v5.0.0 PHP v5.0.3

CVE-2007-0910
CVE-2007-2844
CVE-2009-4143
PHP v5.1.3 PHP v5.2.13

CVE-2009-2626 PHP v5.3.0 PHP v5.xx

Cada enlace debajo “vulnerabilidades CVE” va a una vulnerabilidad relacionada con las versiones de PHP que se encuentran a la derecha. Por supuesto, hay muchas más vulnerabilidades, las mencionadas anteriormente es sólo la punta del iceberg.

Para solucionar este problema solo es necesario cambiar en el PHP.ini la el parametro expose_php a “off” y se dejara de mostrar los huevo de pascuas

Nos vemos el próximo viernes.

Un saludo a todos

“La curiosidad mato al gato y a un hacker le dio su ZeroDay”
Sebastian Cornejo.

@CuriositySec sebastian@highsec.es

  1. BTshell
    BTshell09-06-2013

    Muy entretenido e interesante Sebas 😉

  2. R0dw3
    R0dw309-06-2013

    Gracias Sebas lo tendremos en cuenta. 🙂

Leave a Reply

*

    No Twitter Messages