¿Cómo escanear el código PHP en busca de funciones vulnerables? [cerrado]

0

Vi un informe de Pentest y había una sección en la que el pentester enumera todas las funciones que son vulnerables en PHP. ¿Cómo escanea el código y qué herramientas se pueden usar, y es posible hacerlo sin tener acceso a los archivos?

Por ejemplo:

  

Vulnerabilidad de desbordamiento del búfer de la función "phar_fix_filepath" de PHP

    
pregunta mrashid 04.12.2017 - 09:38
fuente

1 respuesta

4

Es importante tener en cuenta que phar_fix_filepath no es una función de PHP que usa su aplicación web. Es una función en la fuente C del motor PHP. El problema de seguridad al que hace referencia el pentester es probablemente CVE-2015-5590 :

  

Desbordamiento de búfer basado en la pila en la función phar_fix_filepath en ext/phar/phar.c en PHP antes de 5.4.43, 5.5.x antes de 5.5.27 y 5.6.x antes de 5.6.11 permite a los atacantes remotos causar una denegación de servicio o posiblemente tenga otro impacto no especificado a través de un valor de gran longitud, como lo demuestra el manejo inadecuado de un archivo adjunto de correo electrónico por parte de la extensión PHP imap.

Entonces, ¿qué ha hecho el pentester aquí? Probablemente haya comprobado qué versión de PHP está utilizando (por defecto, esto se muestra convenientemente en un encabezado de respuesta HTTP, pero también se puede encontrar a través de la toma de huellas digitales). Luego, solo necesita revisar cualquier lista de vulnerabilidades conocidas para ver cuáles afectan esa versión.

¿Pero sabe el pentester que su código hace que esta función se ejecute y que se puede aprovechar la vulnerabilidad? Probablemente no. Mi conjetura es que ella está satisfecha al señalar que la versión de PHP es vulnerable, sin importar si su aplicación está afectada o no. Y honestamente, eso es bastante malo. Incluso si esto no se puede explotar en este momento, el menor cambio en el código fuente podría cambiar ese hecho. Necesitas actualizar tu motor PHP sin importar qué.

Con esa vista, no necesita acceso al código fuente, ya que el análisis se basa únicamente en el número de versión. Sin embargo, si uno determinara si su aplicación puede ser explotada, el acceso al código fuente sería de gran ayuda.

    
respondido por el Anders 04.12.2017 - 10:43
fuente