Foro de elhacker.net

Seguridad Informática => Seguridad => Mensaje iniciado por: stribok en 23 Junio 2011, 08:52 am



Título: como evitar el ../ en url con php
Publicado por: stribok en 23 Junio 2011, 08:52 am
hola, bueno como dice el titulo, tengo una pequeña aplicacion en php donde si ingreso ../ me saca de la carpeta actual.

bueno comento que pasa, tengo la carpeta MiSitio en htdocs..  C:\xampp\htdocs\MiSitio  para acceder en el navegador utilizo esto https://localhost/MiSitio/

el problema es que a la misma altura de MiSitio tengo otra carpeta OtraX... C:\xampp\htdocs\OtraX

asi si pongo en la url del navegador algo asi https://localhost/MiSitio/../OtraX     puedo acceder a esta carpeta OtraX.

utilizo rewrite con .htacces para no mostrar algo asi https://localhost/MiSitio/index.php?archivo.php

RewriteBase /MiSitio/
RewriteRule ^(.*)/$ index.php?page=$1 [L]


entonces en el el archivo index.php he metido esta linea para quitar los  .,/, \\ 

$_GET['page'] = str_replace(array('.','/','\\'),'',$_GET['page']);

pero esto no evita que puedan entrar a la otra carpeta (OtraX )


bueno es aqui donde pido su ayuda para solucionar esto.

nota: trabajo con XAMPP en windows.

Gracias de antemano.  ;-)


Título: Re: como evitar el ../ en url con php
Publicado por: XayOn en 23 Junio 2011, 14:53 pm
Hombre, escapa la entrada... en tu aplicacion en php,
fopen( filter_var($variable, FILTER_SANITIZE_URL) , $mode );


Título: solucionado
Publicado por: stribok en 23 Junio 2011, 18:42 pm
Hombre, escapa la entrada... en tu aplicacion en php,
fopen( filter_var($variable, FILTER_SANITIZE_URL) , $mode );

te agradezco el comentario pero lo he logrado solucionar con el .htacces.
 de todas maneras gracias por tomarte tiempo en comentar un saludo.

doy el tema por cerrado  ;-)


Título: Re: como evitar el ../ en url con php
Publicado por: XayOn en 30 Junio 2011, 22:03 pm
te agradezco el comentario pero lo he logrado solucionar con el .htacces.
 de todas maneras gracias por tomarte tiempo en comentar un saludo.
doy el tema por cerrado  ;-)
Vale, dalo si quieres, pero ten en cuenta que filtrar el acceso en el servidor web como workaround a un bug grave, y sencillo de corregir, de una aplicación, es cuanto menos una mala politica.