Este documento describe varias vulnerabilidades relacionadas con la inclusión de archivos en PHP, incluidas las vulnerabilidades de inclusión de archivos remotos (RFI), inclusión de archivos locales (LFI) y transversal de directorios al descargar archivos. Explica cómo funcionan estas vulnerabilidades, proporciona ejemplos de código vulnerable y posibles soluciones de corrección.
2. Teoria
Include(): La sentencia include() incluye y evalúa
el archivo especificado.
require(): Es idéntico a include() excepto que en
caso de fallo, producirá un error y el script se
detendra.
include_once(): Verifica si ya incluyo el archivo
caso afirmativo no lo incluye.
require_once(): Igual que el anterior pero con la
funcion requiere()
4. Teoria: Metodo GET & POST
Metodo GET: Los datos son enviados atravez de
la URL.
Metodo POST: Los datos son enviados dentro
del paquete HTTP, a una ruta especidificada.
8. Remote File Inclusion
Vulnerabilidad: En la capa de aplicacion, mal
filtrado de los datos pasadas a las funciones
include, requiere, include_once, require_once.
Vulnerabilidad 2: Archivo php.ini
allow_url_fopen= On
allow_url_include= On
Nivel de peligro: Alto
9. Codigo Vulnerable
<?
$pagina=$_GET['pagina'];
include $pagina.".php";
?>
15. Local File Inclusion
Vulnerabilidad: En la capa de aplicacion, mal
filtrado de los datos pasadas a las funciones
include, require, include_once, require_once.
Nivel de peligro: Medio
16. Directory Transversal
Un directory traversal (o path traversal)
consiste en explotar una vulnerabilidad
informática que ocurre cuando no existe
suficiente seguridad en cuanto a la validación
de un usuario, permitiéndole acceder a
cualquier tipo de directorio superior (padre)
sin ningún control.
22. Directory Transversal in
Download
Vulnerabilidad: En la capa de aplicacion, mal
filtrado de los datos pasadas a las funcione
readfile.
Nivel de peligro: Medio
23. ¿PREGUNTAS?
Gracias!
Speaker: PUA. Bosco Juan Francisco
Contact: boscofrancisco@hotmail.com
Blog: http://magnobalt.blogspot.com