Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: WHK en 7 Septiembre 2008, 20:24 pm



Título: Posible inclusión remota de archivos en MKPortal
Publicado por: WHK en 7 Septiembre 2008, 20:24 pm
Estaba mirando el sitio oficial de mkportal y pude ver que para visualizar una sección utiliza inclusiones hacia el archivo con el nombre de la variable "show" + .php
Por ejemplo:
Código:
http://www.mkportal.es/mkportal/modules/docs/index.php?show=copyright

En realidad está haciendo una inclusión hacia:
Código:
http://www.mkportal.es/mkportal/modules/docs/content/copyright.php

En el cual no verifica si realmente puede ser incluido o existe aquella página como se ve en el siguiente ejemplo:
Código:
http://www.mkportal.es/mkportal/modules/docs/index.php?show=fuck
Citar
Warning: require_once(content/fuck.php) [function.require-once]: failed to open stream: No such file or directory in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

Fatal error: require_once() [function.require]: Failed opening required 'content/fuck.php' (include_path='.:/usr/local/lib/php') in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

Y si hacemos una petición GET directamente a un archivo nos resulta..
Código:
http://www.mkportal.es/mkportal/modules/docs/content/copyright.php
Citar
Fatal error: Class 'module' not found in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/content/copyright.php on line 6

Aumentando las probabilidades de una inclusión remota o talves solo local. Probé inyectando null bytes para evadir la extensión pero no fue posible, si ingresas un punto, slqsh o algún caracter que no sea número o letra te lo toma como nó válido, a exepción de un byte nulo como "%00" asi que el resto será solo cosa de imaginación.

REFERENCIA:
http://www.jccharry.com/fake/1.txt


Título: Re: Posible inclusión remota de archivos en MKPortal
Publicado por: Eazy en 7 Septiembre 2008, 22:18 pm
Creo qe no es explotable, al menos yo ya probe de todo. ahora, como sabe la funcion que si llama de
Código:
http://www.mkportal.es/mkportal/modules/docs/index.php?show=copyright
a
Código:
http://www.mkportal.es/mkportal/modules/docs/content/copyright.php

Como sabe la funcion que Copyright.php esta en el directorio Content?
Otra cosa, qe son los nullbytes?


Título: Re: Posible inclusión remota de archivos en MKPortal
Publicado por: WHK en 9 Septiembre 2008, 07:32 am
Referencia:
http://www.jccharry.com/fake/1.txt

Se sabe que el archivo está ahí por el error que arroja:
Citar
Warning: require_once(content/fuck.php) [function.require-once]: failed to open stream: No such file or directory in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

Fatal error: require_once() [function.require]: Failed opening required 'content/fuck.php' (include_path='.:/usr/local/lib/php') in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

por lo cual el archivo que está tratando de incluir "show=fake" "content/fuck.php" falla, si hacemos un "show=copyright" entonces suponemos que está en "content/copyright.php"

Un null byte es un byte nulo, por ejemplo en un explordor se escribe %00 o simplemente un cero para bases de datos y en algunos casos proboca que un filtro no funcione adecuadamente ya que un byte nulo significa el término del buffer pero nosotros continuamos mas allá, te explico mejor...

"hola, como estás"
Para algunas funciones eso significa una palabra completa

"hola, %00 como estás"
Para algunas funciones la palabra termina hasta donde no haya bytes, o sea un byte nulo, eso significa que para la función la palabra termina después de la coma y no hay nada mas, eso significa que después de eso no es filtrado y podemos ejecutar sentencias mysql o de inclusiones debido a filtros diseñados con explode, eregi, preg, etc.

Estyo sucede muy a menudo al no deshabilitar el ingreso de bytes nulos desde el mismo script.

En la programación de visual basic se escribe "chr(0)", en C++ se escribe "\x00", en php, perl es lo mismo y en exploradores es en urlencode, o sea "%00".

http://www.google.cl/search?hl=es&q=null+byte+vulnerability&btnG=Buscar+con+Google&meta=


Título: Re: Posible inclusión remota de archivos en MKPortal
Publicado por: Eazy en 11 Octubre 2008, 17:49 pm
ahhhhh graciias :) probaste hacer un directory trasversal?