Bueno pues diganme quien no ha usado la funcion require() pues dejenme contarles que a traves de ella se puede explotar un LFI de la siguiente mmanera:
require("includes/".$file);
ese es un tipico uso del require por el cual usando un path trasversal despues del file= no permitiria ganar acceso a ficheros como el passwd.. forma de explotación:
http://vuln.com/index.php?file=../../../etc/passwd
Si dentro del code incluyeramos mas especificaciones de los tipo de archivos y rutas pues podríamos usar el apreciado nullbyte para bypassear
require("includes/".$_COOKIE['data'].".php");
Ahora digamos que tenemos ya para explotar con un lfi podriamos hacer lo siguiente:
document.cookie = "data=../../../../../etc/passwd";
Con eso podríamos mandar en un msgbox los datos del archivo convocado por la funcion document.cookie previamente ejecutada con el javascript...
Una forma de como evitar esto sería agregando un str_replace() previamente al require() obviamente ustedes elijirán que filtran o que no filtran
Espero que les haya gustado el tutorial...
Saludos
Dr.White
Backup Oficial de SeguridadBlanca.Org
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario