Ver Mensaje Individual
  #21 (permalink)  
Antiguo 19/02/2004, 08:23
jcorba
Invitado
 
Mensajes: n/a
Puntos:
Josemi la directiva para deshabilitar ciertas funciones es disable_functions, tb esta disable_classes muy interesante... digamos que al final configure el safe_mode enterito ... ya que nos ponemos...

Respecto al realpath y el url encoding...dios que bonito: Esto lo llaman Directory traversal, es decir llegar a directorios por debajo.

Bueno pues he hecho un pequeño ejemplo y aqui los resultados:

$fichero=$cfg_rootWeb ."/" . $HTTP_GET_VARS["ARG"];
echo "Esto es lo introducido concatenado con el root document: " . $fichero . "<br>";
$fichero=realpath($fichero);
echo "Esto es lo que devuelve el realpath despues de tratarlo: " . $fichero . "<br>";

Y al meter la siguiente entrada en la url:

http://misitio/prueba.php?ARG=%2e%2e...%2e/etc/passwd

me devuelve esto:

Esto es lo introducido concatenado con el root document: /var/www/misitio/../../../../../../etc/passwd
Esto es lo que devuelve el realpath despues de tratarlo: /etc/passwd
You must not do it!!! (esto es una comprobacion mia para saber si lo que quiere es usuario, yo quiero realmente darselo...

Conclusion: realpath() descadifica la cadena y luego la trata --> Por tanto una brecha menos.

Un saludo

P.D: Os vais a reir, pero llevo dos semanas intentanto hacer un portal de autentificacion (cluster creo que ya sabe de lo que hablo) y aún no he empezado casi con el codigo...solo se lo que no debo hacer...pero no que lo que hago sea lo correcto...menudo lio.
Creo que a este "carnicero" le queda por cortar mucha carne

Saludos.

P.D.2: Vosotros podriais cambiar el nombre del post a uno mas generico de seguridad...ya que al final el tema se esta desviando un poquito... pero creo que para bien

Bye