VULNERABILIDADES DE APLICACIONES WEB: MÁS SOBRE EL ACCESO AL CÓDIGO FUENTE Y OTRA INFORMACIÓN VALIOSA

17.02.2018 09:50
 
Antes de ver otra forma más de prevenir la Inyección de comandos mostraremos algunas funciones que permiten acceder al código fuente de diferentes scripts de una aplicación y a otra información que puede ser de mucha utilidad para un pirata informático técnicamente preparado.
 
No volveremos a mencionar a todas las que permiten la Inclusión local de archivos, pero muchas veces se cree que "include()"; "include_once()"; "require()" y otras similares son las únicas que permiten acceder al contenido de algunos archivos.
 
La función "phpinfo()" - ya la hemos mencionado en algún artículo - muestra información sobre la configuración de PHP.
 
El siguiente archivo .php nos permitirá ver una versión con la sintaxis remarcada del código usando los colores definidos en el remarcador de sintaxis interno de PHP de cualquier archivo que pasemos como parámetro, en este caso mediante el método "get".
 
highlight_file($_GET['file']);
?>
 
La función get_current_user() obtiene el nombre del propietario del script PHP actual.
 
La función getlastmod() obtiene la hora de la última modificación de la página, concretamente del script principal de la ejecución.
 
La función filemtime() obtiene el momento de la última modificación de un archivo.
 
La función disk_free_space() devuelve el espacio disponible de un sistema de archivos o partición de disco.
 
La función disk_total_space() devuelve el tamaño total de un sistema de archivos o partición de disco.
 
 Estas llamadas a funciones pueden ser una vulnerabilidad si alguno de los datos devueltos es visible para un atacante. La lista que dimos no pretende ser completa sino que busca llamar la atención sobre algunas funciones a cuyo uso se deberá prestar atención para que no se conviertan en fuente de información sobre puntos vulnerables. 
 
El lector podrá acceder a información detallada sobre el uso de cada función en php.net/manual/es/.