!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/zt-tsou.org.ua/modules/upload/   drwxr-xr-x
Free 106.79 GB of 200.55 GB (53.25%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     functions.php (17.5 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
#---------------------------
# PHP Navigator 4.37
# dated: January 23, 2009
# Coded by: Cyril Sebastian,
# Kerala,India
# web: navphp.sourceforge.net
#---------------------------

#----------OTHER FUNCTIONS------- 


function upload()
 {
 global 
$msg,$uploads,$dir;
 
#-----Calculate Max Upload Size--
 
$size_str ini_get('upload_max_filesize');
 
$i=0;
 while(
ctype_digit($size_str[$i])) {$size.=$size_str[$i]; $i++;}
 if(
$size_str[$i]=="M"||$size_str[$i]=="m"$size $size*1024*1024;
 else if(
$size_str[$i]=="K"||$size_str[$i]=="k"$size $size*1024;
 else 
$size 1024*1024*1024;
 
 
#----Start Upload--
 
for($i=0;$i<=$uploads;$i++)
  if(
$_FILES['upfile']['name'][$i]!=""
  {
   if (
$_FILES['upfile']['size'][$i]!=and $_FILES['upfile']['size'][$i]<=$size)
   {
   
$file=$_FILES['upfile']['name'][$i];
   
$uploadfile $dir."/".$file;
   if(
move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $uploadfile))
    
$msg[]="$file uploaded";
   else
    
$msg[]="Upload failed for $file!";
   }
   else
   
$msg[]="Upload failed for $file due to exceeding file size limits, or zero length file!"
  }
 } 

function 
view_code($file,$dir)    // calling code editor
 
{
 global 
$dir_relative;
 
 
$data=pathinfo($file);
 
$ext=strtolower($data["extension"]);
  if(
$ext=="htm"||$ext=="html"||$ext=="xml"||$ext=="shtml"||$ext=="mht") {
  
$lan="html";
  }
  else if(
$ext=="js") {
  
$lan="javascript";
  }
  else if(
$ext=="php"||$ext=="php3"||$ext=="php4"){
  
$lan="php";
  }
  else if(
$ext=="c"||$ext=="cpp"){
  
$lan="generic";
  }
  else if(
$ext=="css") {
  
$lan="css";
  }
  else if(
$ext=="sql") {
  
$lan="sql";
  }
  else if(
$ext=="java") {
  
$lan="java";
  }
  else {
  
$lan="text";
  }

 global 
$msg$max_edit_size$deflate;
 if(
filesize("$dir/$file")>$max_edit_size
  print
"File size exceeds the limit of $max_edit_size bytes<br>Have the Site Admin edit config.php to customize this";
 else
  {print
"<b><center>$dir_relative/$file</center></b>
  <style>body{background-color:ThreeDFace;}</style><center>"
;
 print(
"<script src=\"code_editor/codepress.js\" type=\"text/javascript\"></script>
    <script language=\"javascript\" type=\"text/javascript\">
    function submitform()
    {
    dataBox.toggleEditor();
    return(true);
    }
    </script>
 <form action='windows.php' method=POST>
       <textarea rows=22 cols=80 class=\"codepress 
$lan\" id='dataBox' name='data'>".htmlentities(file_get_contents("$dir/$file"))."</textarea>
       <input type=hidden name=dir value='"
.base64_encode($dir_relative)."'>
       <input type=hidden name=file value='"
.base64_encode($file)."'>
       <input type=hidden name=action value=Save><br>
       <input type=Submit value=Save onclick=submitform();>
       <input type=button onClick='history.back()' value=Back></form>
       <script language=JavaScript>
        function fixResize(){
            xObj = document.getElementById('dataBox');
            xObj.style.width = document.body.clientWidth-40;
            xObj.style.height = document.body.clientHeight-100;
        }
        fixResize();
        </script></center>"
);
   }
 if(
$deflate){
 
$dataob_get_clean();
 echo 
gzdeflate($data);} 
 }


function 
view($file,$dir)    //for unsupported browsers
 
{
 global 
$msg$max_edit_size$deflate$dir_relative;
 if(
filesize("$dir/$file")>$max_edit_size
  print
"File size exceeds the limit of $max_edit_size bytes<br>Have the Site Admin edit config.php to customize this";
 else
  {print
"<b>$dir_relative/$file</b><center>";
 print(
"<style>body{background-color:ThreeDFace;}</style>
        <form action='' method=POST>
       <textarea rows=22 cols=80 name=data id=dataBox>"
.htmlentities(file_get_contents("$dir/$file"))."</textarea>
       <input type=hidden name=dir value='"
.base64_encode($dir_relative)."'>
       <input type=hidden name=file value='"
.base64_encode($file)."'><br>
       <input type=submit name=action value=Save>
       <input type=button onClick='history.back()' value=Back></form>
       <script language=JavaScript>
    function fixResize(){
        xObj = document.getElementById('dataBox');
        xObj.style.width = document.body.clientWidth-40;
        xObj.style.height = document.body.clientHeight-100;
    }
    
    fixResize();
    </script></center>"
);
   }
 if(
$deflate){
 
$dataob_get_clean();
 echo 
gzdeflate($data);} 
 }
 
function 
save($file)
 {
  global 
$msg;
  if(
get_magic_quotes_gpc()){
  
$data stripslashes($_POST['data']);
  } else {
   
$data $_POST['data'];
  }
  
$f=fopen($file,"w");
  if(
fwrite($f,$data)) $msg"File $file saved!";
  
fclose($f);
 }


function 
fileicon($file)
 {
 
$data=pathinfo($file);
 
$ext=strtolower($data["extension"]);
 global 
$thumb$dir;
 
 if(
$ext=="htm"||$ext=="html"||$ext=="xml"||$ext=="shtml"||$ext=="mht"||$ext=="phtml")
  
$img="web.gif";
 else if(
$ext=="cgi"||$ext=="pl"||$ext=="sql"||$ext=="txt"||$ext=="cf"||$ext=="asp"||$ext=="aspx"||$ext=="jsp"||$ext=="py")
  
$img="cgi.gif";
 else if(
$ext=="zip"||$ext=="rar"||$ext=="gz"||$ext=="tar"||$ext=="tgz"||$ext=="bz2")
  
$img="zip.gif";
 else if(
$ext=="exe"||$ext=="bin"||$ext=="bat"||$ext=="sh"||$ext=="com"||$ext=="dll")
  
$img="bin.gif";
 else if(
$ext=="doc"||$ext=="pdf"||$ext=="ps"||$ext=="odf"||$ext=="docx")
  
$img="doc.gif";
 else if(
$ext=="js"||$ext=="vbs")
  
$img="js.gif";
 else if(
$ext=="css")
  
$img="css.gif";
 else if(
$ext=="php"||$ext=="php3")
  
$img="php.gif";
 else if(
$ext=="psd"||$ext=="svg"||$ext=="gd"||$ext=="gd2"||$ext=="gd2part"||$ext=="iff"||$ext=="swf"||$ext=="swc"||$ext=="tif"||$ext=="tiff"||$ext=="xpm")
  
$img="image.gif";
 else if(
$ext=="gif"||$ext=="jpg"||$ext=="jpeg"||$ext=="png"||$ext=="bmp")
  {
   if(
$thumb)
   {
   
$info = @getimagesize($file);
   if(!
$info$img="image.gif";
   else if(
$info[2]==1||$info[2]==2||$info[2]==3||$info[2]==15
    {
    
$img "thumb.php?img=".urlencode("$dir/$file");    //thumbnail path
    
return $img;
    }
   }  
   
$img="image.gif";
  }
 else
  
$img="file.gif";
 return 
$img;
 }


 function 
up($dir)
 {
 
//$dir = base64_decode($dir);
 
global $homedir;

 
$dirup substr($dir,0,-1);
 
$pos strrpos($dir"/");
 if(
$pos===false$pos strrpos($dir"\\"); #for windows
 
 
if($pos!=0$up substr($dir,0,-(strlen($dir)-$pos));
 else 
$up="/";
 
 if(
strpos($up,$homedir)!==0$up=$homedir#restrict to home dir!
 
chdir($up); 
 
 
 }


function 
printbuttons($dir,$i
{
 global 
$homedir;
 
 if(
$_COOKIE['navphp_arrange']=="type"$arr_type="selected";
 else if(
$_COOKIE['navphp_arrange']=="size"$arr_size="selected";
 else 
$arr_name="selected";
 
 print
"<a href= './'><img src=images/home.gif class=button title=Home></a>
 <img src=images/up.gif border='0' onClick='go_up()' class=button title=Up>
 <img src=images/reload.gif onClick='refresh()' class=button title='Refresh'>
 <img width=1 height=24 class=seperator>
 <img src=images/copy.gif onClick='copy(f)' class=button title='Copy [Shift+Ctrl+C]'>
 <img src=images/delete.gif onClick='delet(f)' class=button title='Delete [Shift+Ctrl+X]'>
 <img src=images/rename.gif onClick='rename(f)' class=button title='Rename [F2]'>
 <img width=1 height=24 class=seperator>
 <img src=images/newfolder.gif  onClick='newfolder(f)' class=button title='New Folder [Shift+Ctrl+N]'>
 <img src=images/newfile.gif  onClick='newfile(f)' class=button title='New File [Shift+Ctrl+F]'>
 <img width=1 height=24 class=seperator>"
;
 if(
$i==0) print"<select name='mode' style='margin-top:2px; vertical-align:top;'>
  <option value=0777>777</option>
  <option value=0770>770</option>
  <option value=0755 selected>755</option>
  <option value=0750>750</option>
  <option value=0666>666</option>
  <option value=0660>660</option>
  <option value=0644>644</option>
  <option value=0600>600</option>
  <option value=755>default</option>
  <option value=666>readonly</option>
  <option value=777>readwrite</option>
 </select>
 <img src=images/chmode.gif  onClick='chmode(f)' class=button title='Change Permissions'>
 <img width=1 height=24 class=seperator>
 <select name='arr' style='margin-top:2px; vertical-align:top;' onChange='arrange(this)'>
 <option value=name 
$arr_name>By Name</option>
 <option value=type 
$arr_type>By Type</option>
 <option value=size 
$arr_size>By Size</option>
 </select>
 "
;
 
// <img width=1 height=24 class=seperator>
// <a href=logoff.php><img src=images/logoff.gif   class=button title='Logoff'></a>

}

function 
leftdata()
{
global 
$mode$compress;
$ajax="<br>Working in <b>'$mode'</b> mode";
if(
$compress$encoding="yes"; else $encoding="no";

print
"<table cellspacing=0 width=100%>";
print
"<tr><td class=lefthead><b>This Folder</b></td><tr>";
print
"<tr><td class=leftsub><div id=folderinfo name=folderinfo width=100% class=info></div></td><tr></table><br>";
print
"<table cellspacing=0 width=100%><tr><td class=lefthead><b>File Properties</b></td><tr>";
print
"<tr><td class=leftsub><div id=info name=info width=100% class=info></div></td></tr>";
print
"</table><br>";
print
"<table cellspacing=0 width=100%>";
print
"<tr><td class=lefthead ><b>File and Folder tasks</b></td><tr>";
print
"<tr><td class=leftsub><div   width=100% class=info id=tasks>
<a href='javascript:thumbnail();'><img src=images/view.gif width=16 height=16> <u>View as thumbnail</u></a><br>
<a href='javascript:extract();'><img src=images/extract.gif width=16 height=16> <u>Extract Here</u></a><br>
<a href='javascript:openeditor();' title='Edit HTML [Shift+Ctrl+H]'><img src=editor/images/insertunorderedlist.gif width=16 height=16 > <u>Open in HTML Editor</u></a><br>
<a href='javascript:edit();'><img src=images/edit.gif width=16 height=16> <u>Open in Code Editor</u></a>
</div></td></tr></table><br>"
;
print
"<table cellspacing=0 width=100%>";
print
"<tr><td class=lefthead onClick='thumbnail();'><b>Thumbnail View</b></td><tr>";
print
"<tr><td class=leftsub><div   width=100% class=info id=thumb></div></td></tr></table><br>";
//print"<table cellspacing=0 width=100%><tr><td class=lefthead><b>User Info</b></td><tr>";
//print"<tr><td class=leftsub><div   width=100% class=info>User IP: ".$_SERVER['REMOTE_ADDR']."$ajax<br>Compression: <b>$encoding</b><br>
//• <a href='javascript:config();'><u>Configure PHP Navigator</u></a><br>
//• <a href=server.php target='_blank'><u>View Server Info</u></a><br>
//• <a href='javascript:help();'><u>Quick Help</u></a></div></td></tr>";
//print"</table><br>";
}

function 
filestatus($file)
{
global 
$dir,$ajax$action;
$scale = array(" Bytes"," KB"," MB"," GB");
$stat stat($file);

$size $stat[7];
for(
$s=0;$size>1024&&$s<4;$s++) $size=$size/1024;    //Calculate in Bytes,KB,MB etc.
if($s>0$sizenumber_format($size,2).$scale[$s];
else 
$sizenumber_format($size).$scale[$s];
if(
is_editable($file)) $dblclick="opendir()"; else $dblclick="not_editable()";
$spec=filespec($file);

$filename=wordwrap(htmlentities($file,ENT_QUOTES), 15"<br>\n",1);
$filename_t base64_encode($file);

/*if(is_dir($file))
    print " \n<center><a class=icon>  
            <img src=images/dir.gif info='<b>$filename</b><br>File Folder<br><br>
            Permissions:".decoct(fileperms($file)%01000)."<br>
            Modified: ".date('d-m-y, G:i', $stat[9])."' 
             onmousedown=loadfile(this) id=file fname='$filename_t' onDblClick = opendir()  spec='$spec'></a>
            <br><a class=name href=\"javascript:download_zip('$filename_t')\" title='Download as zip'>
            $filename</a>\n";
else
    print"  \n<center><a class=icon> 
            <img src='images/".fileicon($file)."' width=32 height=32 
            onmousedown=loadfile(this) fname='$filename_t' id=file
            info='<b>$filename</b><br><br>Size: $size<br>
            Permissions:".decoct(fileperms($file)%01000)."<br><br>
            Modified: ".date('d-m-y, G:i', $stat[9])."<br>
            Accessed: ".date('d-m-y, G:i', $stat[8])."' onDblClick = '$dblclick' spec='$spec'></a><br>
            <a class=name href=\"javascript:download('$filename_t')\" title=download>
            $filename</a>\n";*/
if(is_dir($file))
    print 
" \n<center><a class=icon>  
            <img src=images/dir.gif info='<b>
$filename</b><br>File Folder<br><br>
            Permissions:"
.decoct(fileperms($file)%01000)."<br>
            Modified: "
.date('d-m-y, G:i'$stat[9])."' 
             onmousedown=loadfile(this) id=file fname='
$filename_t' onDblClick = opendir()  spec='$spec'></a>
            <br><a class=name href=\"javascript:download_zip('
$filename_t')\" title='Download as zip'>
            
$filename</a>\n";
else
    print
"  \n<center><a class=icon> 
            <img src='images/"
.fileicon($file)."' width=32 height=32 
            onmousedown=loadfile(this) fname='
$filename_t' id=file
            info='<b>
$filename</b><br><br>Size: $size<br>
            Permissions:"
.decoct(fileperms($file)%01000)."<br><br>
            Modified: "
.date('d-m-y, G:i'$stat[9])."<br>
            Accessed: "
.date('d-m-y, G:i'$stat[8])."' onDblClick = '$dblclick' spec='$spec'></a><br>
            <a class=name href=\"javascript:download('
$filename_t')\" title=download>
            
$filename</a>\n";            
}  

function 
filespec($file)    # Attributes z-zip, t-thumb, d-dir, h-html, e-editable
{
global 
$HTMLfiles;
$spec="f";

if(
is_dir($file)) $spec.="d";
if(
is_editable($file)) $spec.="e";
 
$data=pathinfo($file);
 
$ext=strtolower($data["extension"]);
if(
$ext=="png"||$ext=="gif"||$ext=="jpg"||$ext=="jpeg"||$ext=="bmp"$spec.="t";
if(
$ext=="zip"$spec.="z";

foreach(
explode(" "$HTMLfiles) as $type)
  if (
$ext == $type$html=true;
if(
$html==true$spec.="h";
return 
$spec;
}

function 
authenticate()
{
 
 
verify_login();    //check user auth

 
global $user$passwd$dir$homedir$action$file$change$msg$rdonly$ajax$mode,$go,$lang$dir_relative$multi_user;
 
// require_once("lang/$lang.declare.php");
 
 
$homedir $_SERVER['DOCUMENT_ROOT']."/data/files/".$_SESSION['admin_homedir'];
 
$homedir=realpath($homedir);
  
 if(!
$dir$dir="$homedir";
 else 
$dir=realpath("$homedir/".base64_decode("$dir"));
 
 if(
$go&&!$action$dir="$homedir/".urldecode($go);
  
 
$file basename(base64_decode($file));
 
$change basename(base64_decode($change));
 
$dir=str_replace("\\","/",$dir); #For Windows
 
$homedir=str_replace("\\","/",$homedir); #For Windows 

 
$warning="<img src=images/warning.gif style='margin-top:16px;'>";
 
 if(
strpos($dir,$homedir)!==0)     # restrict to homedir!
 
{
 
$msg[]="$warning<b>Warning: Access restricted to home dir!</b>"
 
$dir="$homedir";
 }
 
 if(!
is_dir($dir)) {$msg[]="$warning<b>Warning: Reference to invalid directory!</b>"$dir="$homedir";}
 
 if(
$rdonly&&($action!="Open")&&($action!="Up")&&($action!="Download")&&($mode=="normal")) 
    { 
$action="rdonly"$msg="$warning<b>Warning: Working in read-only mode!<br>The operation was not completed!</b><br>";    }

//chdir($dir);

 
$dir_relative substr($dir,strlen($homedir));
}  


function 
verify_login()    #--check login-----
{
session_start();
if(!
$_SESSION['admin_login']) 
  {
  
header("Location:login.php");     // redirect if not logged in
  
exit;
  }
}

#---clean input---
function clean_input($str$allow_html=false)
{
if (!
get_magic_quotes_gpc()) $str addslashes($str);
if(!
$allow_html$str strip_tags($str);
return 
$str;
}

#---clean output---
function clean_output($str$allow_html=false)
{
$str stripslashes($str);
if(!
$allow_html){
    
$str htmlentities($str);
    
$str nl2br($str);
    }
return 
$str;    
}


function 
download()    # Download file and folder-zip;
{
global 
$dir$file//print $dir."/".$file;

if(is_file($dir."/".$file))
  {
  
header("Content-Disposition: attachment; filename=\"$file\";");
  
header("Content-Type: file/x-msdownload");
  
header("Content-Length: ".filesize($dir."/".$file));
  
//echo file_get_contents($dir."/".$file);
  
$handle fopen($dir."/".$file"rb");
  while (!
feof($handle)) echo fread($handle8192);
  
fclose($handle);
  }
else if(
is_dir($dir."/".$file))
    {
    include_once(
"lib/zip.lib.php");
    
    
$newzip = new zipfile();
    
chdir($dir);
    
$name=$file;
    
add_dir($name,$newzip);
    
    
header("Content-Disposition: attachment; filename=".$name."_navphp.zip");
    
header("Content-Type: file/x-msdownload");
    
$data=$newzip->file();
    
header("Content-Length: ".strlen($data));
    echo 
$data;
  }  
}

function 
add_dir($dir,$newzip)    # recursive adding of files to zip
{
static 
$no;
$no=$no+1;
if((
$no>10)|| (strlen($newzip->file())>5000000)) die("Too many sub directories (>$no) or Total size > 5MB!<br>Try them by parts. [Some security measures!] ");
if(
$dh opendir($dir)) 
  {
  
$newzip->addFile("","$dir/",0);
  while ((
$file readdir($dh)))  {$files[] = $file;}

  foreach(
$files as $file)
   {
    if(
$file!="."&&$file!=".."&&!is_dir("$dir/$file")&&is_readable("$dir/$file"))
    {
    
$data=file_get_contents("$dir/$file");
    
$newzip->addFile($data,"$dir/$file",0);
    }
   }
  foreach(
$files as $file)
   {
   if(
$file!="."&&$file!=".."&&is_dir("$dir/$file"))
    {
    
add_dir("$dir/$file",$newzip);
    }
   }
 
closedir($dh);
  }
}

function 
expired()
{
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");  
}    

// I assume only IE6 and mozilla support AJAX.
// This is called only if client side test fails..

function ajax_enabled()
{
            
$agt=strtolower($_SERVER['HTTP_USER_AGENT']);

            
$brwsr['ie6']     = (strpos($agt'msie 6.') !== false);
            
$brwsr['ie7']     = (strpos($agt'msie 7.') !== false); 
            
$brwsr['ie8']     = (strpos($agt'msie 8.') !== false);
            
$brwsr['firefox'] = (strpos($agt'firefox') !== false);
            
$brwsr['opera']   = (strpos($agt'opera') !== false);
            
if((
$brwsr['ie6']||$brwsr['ie7']||$brwsr['ie8']||$brwsr['firefox'])&&!$brwsr['opera'] )
    return 
1;
else return 
0;
}

function 
is_editable($filename)    # Checks whether a file is editable
{
 global 
$EditableFiles;
 
$ext strtolower(substr(strrchr($filename"."),1));

 foreach(
explode(" "$EditableFiles) as $type)
  if (
$ext == $type)
   return 
TRUE;

 return 
FALSE;
}
     
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0124 ]--