Foros del Web » Programando para Internet » PHP »

Problemas con GET para subir de nivel de carpetas con "../"

Estas en el tema de Problemas con GET para subir de nivel de carpetas con "../" en el foro de PHP en Foros del Web. Buenas a todos! Tengo un problema que no le estoy encontrando la vuelta! Tengo un archivo php bien simple: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 17/10/2012, 12:11
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Problemas con GET para subir de nivel de carpetas con "../"

Buenas a todos! Tengo un problema que no le estoy encontrando la vuelta!

Tengo un archivo php bien simple:

Código PHP:
Ver original
  1. <?php
  2. echo $_GET['a'];
  3. ?>

Bien, en mi servidor de prueba, al pasarle el siguiente valor, para volver niveles atras de carpetas, como por ejemplo:

www.sitio.com/get.php?a=../../xxx/

Resultado de impresion del fichero php OK:
../../xxx/

Funciona bien, pero en el servidor online no, lo que hace el problema es la salida de 2 o mas niveles hacia atras, "../../", al subir 1 solo nivel "../" sigue funcionando, al subir mas de 2 niveles este ya tira error:

Forbidden
You don't have permission to access /test.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


Hay algun parametro en el php.ini que me este imposibilitando esto o algo por el estilo?

Desde ya apreciaria una ayuda,
Gracias!
  #2 (permalink)  
Antiguo 17/10/2012, 12:26
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Problemas con GET para subir de nivel de carpetas con "../"

lo dudo, ya que el error te lo esta indicando, no tienes los permisos para llegar a esas carpetas, puesto que no eres el propietario del tales, o estas accediendo a carpetas que están fuera de tu sitio o al subirlas se les cambie de permisos, eso lo tendrías que ver con el administrador del servidor, esto es cuestión de seguridad
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 17/10/2012, 12:31
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problemas con GET para subir de nivel de carpetas con "../"

En realiadad solo estoy pasando el valor "../"

Asi funciona, con solo un "../"
www.sitio.com/get.php?a=../

Asi da error, con 2 o mas "../"
www.sitio.com/get.php?a=../../


No estoy intentando abrir ningun fichero, solo pasando datos para que esto me lo imprima, pero al ponerle 2 o mas "../" este arroja un error cuando en otros servidores funciona bien.

No se si me explico...
  #4 (permalink)  
Antiguo 17/10/2012, 12:43
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Problemas con GET para subir de nivel de carpetas con "../"

pero como es un problema de permisos creo que no tiene nada que ver con que pases de esa forma la cantidad de directorios a subir.
por otra parte intenta usar números en vez de ../
es decir: www.sitio.com/get.php?a=1 0 www.sitio.com/get.php?a=2
y en tu página get.php pones algo como esto
Código PHP:
Ver original
  1. $var=(int)$_GET['a'];
  2. if($var>=1){
  3.   $subir='';
  4.   for($i=1; $i<=$var; $i++){
  5.     $subir.='../';
  6.   }
  7. }
y así la variable $subir indicara cuantas carpetas subirá, aunque el tema de los permisos no me queda claro creo que te volverá a hacer lo mismo, pero no esta de mas intentarlo.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Etiquetas: carpetas, nivel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:44.