Programacion sql

Solo disponible en BuenasTareas
  • Páginas : 11 (2508 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de enero de 2012
Leer documento completo
Vista previa del texto
Injector SQL Ole DB v.1
# Script Info: Script Name: Injector SQL Ole DB Versión: 1.0 Programación: Perl Plataformas: Linux & Windows Idioma: Español Tamaño: 14.6 Kb # Author Info: Coder: JosS Contact: sys-project[at]hotmail.com # Colaboradores: Phnx: pale2008[at]hotmail.com Explorer: Not Available Kidd: Not Available # Script Options: 1º Comprobar si la web se encuentra disponible. 2º Injectarcódigo manualmente. 3º Injectar código automaticamente (deface). 4º Obtener información del servidor. # Others Options: 1º Manual Sql Injectión. 2º Créditos. 3º Salir.

# La Base De La Tool: El funcionamiento de la tool es simple. Realiza peticiones para el contenido de la web vulnerable a partir de un comando injectado que nos dá como resultado un contenido de tipo texto en la web vulnerablenos servirá para determinar nuestro patrón de busqueda. Con el cual podemos hacer la busqueda de lo que estamos buscando para imprimirlo al usuario o para ser utilizado por la tool. # La Base De La Programación: El desarrollar la tool es lo más importante, al ya tener en nuestra cabeza o papel el diseño de ella, solo nos queda ponernos antes el pc y empezar a escribir software (libre). El móduloencargado de hacer las peticiones de contenido como de conexión entre otros, son: use IO::Socket::INET; use LWP::UserAgent; use HTTP::Request; use LWP::Simple; Por ejemplos veamos la utilización del primer módulo expuesto y también usado en la primera opción del Script (On y Off). [code] $sock = IO::Socket::INET->new(PeerAddr => "$server", PeerPort => 80, Proto => "tcp"); [/code]

Con estoestamos haciendo una petición de conexión al puerto 80 de la web que está declarada en la variable $server. Los otros tres módulos los usamos conjuntamente para hacer la petición de contenido: [code] my $final = $host.$comando; print $final,"\n"; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => $final); $doc = $ua->request($req)->as_string; [/code] Hay la definición de las dosvariables que nos hace falta para hacer funcionar la petición es $host y $comando. La variable $host esta definido por el usuario, en cambio la variable $comando estará o no, según la opción que elija el usuario (manual o automático). Otra de las partes fundamentales de la programación son las expresiones regulares (regex). Son las encargadas de hacer las busquedas a partir de un patrón definido porla tool. Por ejemplo: en la primera opción de la tool. [code] ($server) = $host =~ m{http://(.*?)/}; [/code] Lo que hacemos con esa expresión regular es cortar parte de la url hasta que quede compuesta por http://*/

Para que después pueda hacer la comprobación de la disponibilidad de la web. Pero donde verdad se muestra la verdadera utilización de la regex en esta tool está en la busqueda destrings a partir de un patrón. Esto lo vemos en las opciones 2,3 y 4 de la tool. [code] if ( $doc =~ m/\bColumna?\b(.*?)/mosix ) { print "MySql dice: - $1\n\n"; ($tabla, $columna) = $doc =~ m/'(\w+)\.(\w+)'/simo; print "tabla: $tabla\n"; print "Columna: $columna\n\n"; } else { print "El comando no se ejecuto con exito\n\n"; } [/code] Hay tenemos dos expresiones regulares. La primera de ellas diceque si existe la palabra columna procedido de cualquier texto y terminada en (HTML). Si se cumple la regex entonces nos muestra el contenido de * (cualquier texto). Posteriormente nos guarda en las variables $tabla y $columna las palabras que están separadas por un punto *.* que se encuentra en * (cualquier texto). Algo muy parecido hace en las opciones 3 y 4 de la Tool. A continuación os dejoel code completo del Script.

# Code – Injector SQL Ole DB v.1 [code]
#!/usr/bin/perl # Inj3ct0r SQL Ole DB v.1 # Code by JosS # Contact: sys-project[at]hotmail.com # Spanish Hackers Team # www.spanish-hackers.com use IO::Socket::INET; use LWP::UserAgent; use HTTP::Request; use LWP::Simple; sub lw { my $SO = $^O; my $linux = ""; if (index(lc($SO),"win")!=-1){ $linux="0"; }else{ $linux="1"; }...
tracking img