Advertisement
Googleinurl

INURL-DORK-SCANNER-1.0

Mar 5th, 2013
2,153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6.17 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use LWP::UserAgent;
  4. use URI::Escape;
  5. use HTTP::Request;
  6. use Term::ANSIColor;
  7. my $ua = LWP::UserAgent->new();
  8. $ua->timeout(7);
  9.  
  10. system "clear";
  11. print color("yellow"), q{
  12.  
  13. INURL DORK SCANNER 1.0\n
  14.  
  15. # GOOGLEINURL { http://blog.inurl.com.br/ }
  16. # Escaner para fins educacionais,
  17. # Não nos responsabilizamos pelo mau uso do mesmo.
  18.  
  19. fb.com/googleinurl
  20. blog.inurl.com.br
  21.    
  22.                                                                                                    
  23. },color("reset");
  24.  
  25.  
  26.  
  27. open(clear,'>search-dump.txt.clear'); #Exclusão de resultados de busca anteriores limpas
  28. close(clear);
  29. open(dork,">search-dump.txt"); #Excluindo resultados da pesquisa anterior
  30. close(dork);
  31.  
  32. $file ='';
  33.  
  34. print color("red"),"Tipo de dork",color("reset")," ex:(news.php?id=), ex:(site:br noticias.php?id=)\n
  35.  
  36. INURL DORK SCANNER 1.0\n
  37.  
  38. # GOOGLEINURL { http://blog.inurl.com.br/ }
  39. # Escaner para fins educacionais,
  40. # Não nos responsabilizamos pelo mau uso do mesmo.
  41.  
  42. fb.com/googleinurl
  43. blog.inurl.com.br
  44.  
  45.  
  46. Mais exemplos de dorks: \n
  47. http://blog.inurl.com.br/search/label/dorks\n
  48.  
  49. ";
  50.  
  51.  
  52. print color("red"),"Dork de pesquisa: \n",color("reset");
  53.    $dork = <STDIN>;
  54.     $dork  = uri_escape($dork);
  55.      chomp($dork);
  56.      
  57.  
  58.     $file = 'output.txt'; #onde é salvo as urls
  59.      chomp($file);
  60.      
  61.  
  62.  
  63.  
  64. print color("green"),"Pesquisar inicializado...",color("reset"),"\n";
  65.  
  66. for ($i = 0; $i < 10000; $i += 10) {
  67.      $useragent = LWP::UserAgent->new(agent => "Mozilla/4.$i [en] (Windows NT 6.0; U)");#agente http
  68.      $useragent->timeout(10);
  69.      $useragent->env_proxy;
  70.  
  71.      $curl = $useragent->get("http://busca.uol.com.br/web/?q=".$dork."&start=".$i)->content; #motor de busca
  72.      $check = index($curl, 'link');
  73.  
  74. while (1) {
  75.     $n = index($curl, '<a href="');
  76.  
  77. if ($n == -1) {
  78. last;
  79. }
  80.  
  81. $curl = substr($curl, $n + 9);
  82.   $s = substr($curl, 0, index($curl, '"'));
  83.  
  84. print color("green"), "[+] ",color("reset"),"$s\n";
  85. open(dork,">>search-dump.txt");
  86. print dork $s, "\n";
  87. close(dork);
  88. }
  89.  
  90. if ($check == -1) {
  91. last;
  92. }
  93. }
  94.    print "\n";
  95.    print color("Red"),"[INFO] ",color("reset"),"Pesquisa Feita\n";
  96.    print "\n";
  97.    print color("Red"),"[INFO] ",color("reset"),"Removendo linhas duplicadas de sua busca.\n";
  98.    sleep 2;
  99.  
  100. my $cleanrthefile = 'search-dump.txt';
  101. my %seen = ();
  102. {
  103.    local @ARGV = ($cleanrthefile);
  104.    local $^I = '.clear';
  105.    while(<>){
  106.       $seen{$_}++;
  107.       next if $seen{$_} > 1;
  108.       print;
  109.    }
  110. }
  111. print color("Red"),"[INFO] ",color("reset"), "Ficheiro de processamento concluído.\n";
  112. sleep 2;
  113. print "\n";
  114.  
  115. print color("Red"),"[INFO] ",color("reset"), "Verificar.",color("red")," vul's\n",color("reset");
  116. print "\n";
  117.  
  118. open FILE, "<", "search-dump.txt" or die $!;
  119.   my @amount1 = <FILE>;
  120.   my $amount1 = @amount1;
  121.   my $infomsg = "$amount1 urls do test";
  122.    print color("red"), "[INFO]" ,color("reset")," $infomsg url testadas\n";
  123.    print "\n";
  124.  
  125. $LOGFILE = "search-dump.txt";
  126. open(LOGFILE) or die("Não foi possível abrir o arquivo de log.");
  127. foreach $line (<LOGFILE>) {
  128.     chomp($line);              
  129.     my $url = $line."'";
  130.        
  131.     my  $request = HTTP::Request->new( GET => $url );
  132.     my  $response = $ua->request( $request );
  133.    
  134.    
  135.             if ( $response->content =~ /SQL/  || $response->content =~ /\/var\/www\// ) {
  136.        open(vul,">>$file");
  137.     print vul $url, "\n";
  138.     open HTML, ">>", "$file.html" or die $!;
  139.     close(vul);
  140.         print color("bold red"), "[+] ",color("reset"), "$url",color("bold red"),"      VULNERÁVEL!",color("reset");
  141.         print HTML "<a href=\"$url\">$url</a>\n";
  142.        
  143.     }
  144.    
  145.    
  146.             elsif( $response->content =~ m/80040e14/i ) { #Verificar se consta a seguinte conjunto de caracteres 80040e14
  147.         open(vul,">>$file");
  148.     print vul $url, "\n";
  149.     open HTML, ">>", "$file.html" or die $!;
  150.     close(vul);
  151.         print color("bold yellow"), "[+] ",color("reset"), "$url",color("bold yellow")," MS DB error Detectado",color("bold red"), " SQLI possível",color("reset");
  152.         print HTML "<a href=\"$url\">$url</a>\n";
  153.         }  
  154.        
  155.        
  156.             elsif( $response->content =~ m/SELECT (.*) FROM (.*) WHERE/i ) { #Verificar se consta a seguinte string 80040e14
  157.         open(vul,">>$file");
  158.     print vul $url, "\n";
  159.     open HTML, ">>", "$file.html" or die $!;
  160.     close(vul);
  161.         print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
  162.         print HTML "<a href=\"$url\">$url</a>\n";
  163.         }  
  164.        
  165.        
  166.         elsif( $response->content =~ m/SELECT (.*) FROM (.*)/i ) {
  167.         open(vul,">>$file");
  168.     print vul $url, "\n";
  169.     open HTML, ">>", "$file.html" or die $!;
  170.     close(vul);
  171.         print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
  172.         print HTML "<a href=\"$url\">$url</a>\n";
  173.         }  
  174.        
  175.        
  176.         elsif( $response->content =~ m/(.*) Invalid argument supplied (.*)/i ) {
  177.         open(vul,">>$file");
  178.     print vul $url, "\n";
  179.     open HTML, ">>", "$file.html" or die $!;
  180.     close(vul);
  181.         print color("bold red "), "[+] ",color("reset"), "$url",color("bold red")," Argumento inválido fornecido Detectado",color("reset");
  182.         print HTML "<a href=\"$url\">$url</a>\n";
  183.         }  
  184.        
  185.                
  186. else {
  187.     print color("green"), "[-] ",color("reset"),"$url",color("green"),"      NADA ENCONTRADO!",color("reset"); #Fim da validação URL
  188.    
  189.     }
  190.     close vul;
  191.     close HTML;
  192.     print "\n";
  193. }
  194.  
  195. print color("green"),"Pesquisa Vulnerabilidade feita\n",color("reset");
  196. print color("red"),"No arquivo criado será disponibilizado sites com possíveis vulnerabilidade.\n",color("reset");
  197. print "\n";
  198. sleep 2;
  199.  
  200.  
  201. open FILE, "<", "$file" or die $!;
  202. my @amount = <FILE>;
  203. my $amount = @amount;
  204.  
  205. open (CHECKBOOK, "$file");
  206.  
  207. while ($record = <CHECKBOOK>) {
  208.    print color("red"), "[+] ",color("reset"),"[VULL]",color("red"),"--> ERRO ENCONTRADO! ",color("reset"),"$record",color("reset");
  209.    
  210. }
  211.  
  212.    
  213. close(CHECKBOOK);
  214. close(FILE);
  215.    print "\n";
  216.    print color("red"), "[+] $amount URLS ",color("reset")," com possíveis vulnerabilidade \n";
  217.    print color("red"), "[+] ",color("reset"),"Sites vulneráveis ​​armazenados no arquivo ",color ("red")," $file.html \n",color("reset");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement