Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Servia en 23 Mayo 2010, 23:43 pm



Título: Ereg_Replace y Include
Publicado por: Servia en 23 Mayo 2010, 23:43 pm
Bueno, esta vez necesito poder hacer un
include("{$_GET['a']}.php");

Como sé que es peligroso de la hostia, quiero limitar las posibilidades (lo he hecho por php.ini, me gustaría saber como taparlo desde el php mismo)
Lo primero que he hecho es prohibir includes externos o sea que los http hacia shells ya no son posibles.

Como al hacer una prueba, he podido incluir otros archivos no deseados de mi host (../ejemplo) he hecho esto:
$_GET['a'] = ereg_replace("/", "", $_GET['a']);
$_GET['a'] = ereg_replace(".", "", $_GET['a']);

Esto teoricamente evitaría el uso de . y / pero ahora lo que me pasa esque me salta con que no existe ninguno de los archivos que hago include con normalidad y los cuales no tienen ningún . ó /  .
Que domnios estoy haciendo mal ? :(


Título: Re: Ereg_Replace y Include
Publicado por: Shell Root en 24 Mayo 2010, 00:31 am
Esto para evitar el RFI.
Código
  1. if (file_exists($_GET['archivo'].".php")) {
  2. include ($_GET['archivo'].".php");
  3. }


Título: Re: Ereg_Replace y Include
Publicado por: Servia en 24 Mayo 2010, 08:31 am
Se sigue pudiendo hacer lo que dije de motrar otros archivos php del host.


Título: Re: Ereg_Replace y Include
Publicado por: xassiz_ en 24 Mayo 2010, 18:38 pm
Código
  1. if (file_exists($_GET['archivo'].".php")) {
  2. include(str_replace(array('.','/','\\'),'',$_GET['archivo']));
  3. }


Título: Re: Ereg_Replace y Include
Publicado por: Shell Root en 24 Mayo 2010, 20:53 pm
Creo que es así.
Código
  1. if (file_exists($_GET['archivo'].".php")) {
  2.   include(str_replace(array('.','/','\\'),'',$_GET['archivo']).".php");
  3. }


Título: Re: Ereg_Replace y Include
Publicado por: ~ Yoya ~ en 25 Mayo 2010, 00:36 am
creo que es vulnerable xD...
si usan url encode no servirá de nada esa protección xD...

Puedes leer este post, para incluir archivos seguros...
http://wiki.elhacker.net/bugs-y-exploits/nivel-web/rfi#TOC-Detener-el-ataque


Título: Re: Ereg_Replace y Include
Publicado por: bomba1990 en 25 Mayo 2010, 03:13 am
tan bien puedes hacer una tabla en xml sqllite, o mysql y le poner un numero a cada archivo posible que se valla a incluir en tu pagina haci el lo va a buscar dentro de la base de datos por el numero.


Título: Re: Ereg_Replace y Include
Publicado por: Servia en 25 Mayo 2010, 10:15 am
Al final he hecho switch, vaya putadita escribir los 100 nombres xD

Muchísimas gracias a todos.