!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\HTML\   drwxrwxrwx
Free 4.11 GB of 39.52 GB (10.4%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Crypt.php (7.87 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * HTML_Crypt provides methods to encrypt text, which
 * can be later be decrypted using JavaScript on the client side
 *
 * PHP version 4 and 5
 *
 * @category HTML
 * @package  HTML_Crypt
 * @author   Michael Dransfield <mike@blueroot.net>
 * @license  http://www.php.net/license  PHP License
 * @version  CVS: $Id: Crypt.php 266610 2008-09-21 16:18:57Z cweiske $
 * @link     http://pear.php.net/package/HTML_Crypt
 */


/**
 * HTML_Crypt
 *
 * HTML_Crypt provides methods to encrypt text, which
 * can be later be decrypted using JavaScript on the client side
 *
 * This is very useful to prevent spam robots collecting email
 * addresses from your site, included is a method to add mailto
 * links to the text being generated.
 *
 * The "encryption" function is basically works like ROT13,
 * with the difference that the $offset setting replaces the 13.
 * It is also limited to ASCII characters between 32 and 127 (included).
 * Other characters will not be encrypted.
 *
 * a basic example to encrypt an email address
 * $c = new HTML_Crypt('yourname@emailaddress.com', 8);
 * $c->addMailTo();
 * $c->output();
 *
 * @category HTML
 * @package  HTML_Crypt
 * @author   Michael Dransfield <mike@blueroot.net>
 * @license  http://www.php.net/license  PHP License
 * @link     http://pear.php.net/package/HTML_Crypt
 */
class HTML_Crypt
{
    
// {{{ properties

    /**
     * The unencrypted text
     *
     * @access public
     * @var    string
     * @see    setText()
     */
    
var $text '';

    
/**
     * The full javascript to be sent to the browser
     *
     * @access public
     * @var    string
     * @see    getScript()
     */
    
var $script '';


    
/**
     * The text encrypted - without any js
     *
     * @access public
     * @var    string
     * @see    cyrptText
     */
    
var $cryptString '';


    
/**
     * The number to offset the text by
     *
     * @access public
     * @var    int
     */
    
var $offset;

    
/**
     * Whether or not to use JS for encryption or simple html
     *
     * @access public
     * @var    int
     */
    
var $useJS;

    
/**
     * a preg expression for an <a href=mailto: ... tag
     *
     * @access public
     * @var    string
     */
     
var $apreg;

    
/**
     * a preg expression for an email
     *
     * @access public
     * @var    string
     */
    
var $emailpreg;

    
// }}}
    // {{{ HTML_Crypt()

    /**
     * Constructor
     *
     * @param string  $text   The text to encrypt
     * @param int     $offset The offset used to encrypt/decrypt
     * @param boolean $JS     If javascript shall be used on the client side
     *
     * @access public
     */
    
function HTML_Crypt($text ''$offset 3$JS true)
    {
        
$this->offset    $offset 95;
        
$this->text      $text;
        
$this->script    '';
        
$this->useJS     $JS;
        
$this->emailpreg '[-_a-z0-9]+(\.[-_a-z0-9]+)*'
                         
'@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,6}';
        
$this->apreg     '\<[aA]\shref=[\"\']mailto:.*\<\/[aA]\>';
    }

    
// }}}
    // {{{ setText()

    /**
     * Set name of the current realm
     *
     * @param string $text The text to be encrypted
     *
     * @return void
     *
     * @access public
     */
    
function setText($text)
    {
        
$this->text $text;
    }

    
// }}}
    // {{{ addMailTo()

    /**
     * Turns the text into a mailto link (make sure
     * the text only contains an email).
     *
     * This method has an optional parameter that allows you
     * to customize the email tag and tag text. To get the email
     * address included, use "%email%' as template variable.
     *
     * @param string $template Mailto template string
     *
     * @return void
     *
     * @access public
     */
    
function addMailTo($template '<a href="mailto:%email%">%email%</a>')
    {
        
$email      $this->text;
        
$this->text str_replace('%email%'$email$template);
    }

    
// }}}
    // {{{ cryptText()

    /**
     * Encrypts the text
     *
     * @param string $text   Text to encrypt
     * @param int    $offset Offset to use for encryption
     *
     * @return string Encrypted text
     * @access private
     */
    
function cryptText($text$offset)
    {
        
$enc_string '';
        
$length     strlen($this->text);

        for (
$i=0$i $length$i++) {
            
$current_chr substr($this->text$i1);
            
$num         ord($current_chr);
            if (
$num 128) {
                
$inter $num $this->offset;
                if (
$inter 127) {
                    
$inter = ($inter 32) % 95 32;
                }
                
$enc_char    =  chr($inter);
                
$enc_string .= ($enc_char == '\\' '\\\\' $enc_char);
            } else {
                
$enc_string .= $current_chr;
            }
        }
        return 
$enc_string;
    }

    
// }}}
    // {{{ getScript()

    /**
     * Returns the script html source including the function
     * to decrypt it.
     *
     * @return string $script The javascript generated
     *
     * @access public
     */
    
function getScript()
    {
        if (
$this->cryptString == '' && $this->text != '') {
            
$this->cryptString $this->cryptText($this->text$this->offset);
        }
        
$letters = array(
            
'a''b''c''d''e''f''g''h''i''j''k''l''m',
            
'n''o''p''r''s''t''u''v''w''x''y''z'
        
);
        
$rnd     $letters[array_rand($letters)] . md5(time());

        
// the actual js (in one line to confuse)
        
$script '<script language="JavaScript" type="text/javascript">'
            
'/*<![CDATA[*/'
            
'var a,s,n;'
            
'function ' $rnd '(s){'
                
'r="";'
                
'for(i=0;i<s.length;i++){'
                    
'n=s.charCodeAt(i);'
                    
'if(n<128){'
                        
'n=n-' $this->offset ';'
                        
'if(n<32){'
                            
'n=127+(n-32);'
                        
'}'
                    
'}'
                    
'r+=String.fromCharCode(n);'
                
'}'
                
'return r;'
            
'}'
            
'a="' str_replace('"''\\"'$this->cryptString) . '";'
            
'document.write(' $rnd '(a));'
            
'//]]></script>';

        
$this->script $script;
        return 
$script;
    }

    
// }}}
    // {{{ output()

    /**
     * Outputs the full JS to the browser
     *
     * @return void
     *
     * @access public
     */
    
function output()
    {
        echo 
$this->getOutput();
    }

    
// }}}
    // {{{ getOutput()

    /**
     * Returns the encrypted text.
     *
     * @return string Encrypted text
     */
    
function getOutput()
    {
        if (
$this->useJS) {
            if (
$this->script == '') {
                
$this->getScript();
            }
            return 
$this->script;
        } else {
            return 
str_replace(
                array(
'@''.'),
                array(
' ^at^ ''-dot-'),
                
$this->text
            
);
        }
    }

    
// }}}

    /**
     * Starts output buffering.
     *
     * @return void
     */
    
function obStart()
    {
        
ob_start();
    }

    
/**
     * Ends output buffering and echoes the captured text.
     *
     * @return void
     */
    
function obEnd()
    {
        
$text ob_get_contents();
        
$text preg_replace_callback(
            
"/{$this->apreg}/",
            array(
$this'_fly'),
            
$text
        
);
        
ob_end_clean();
        echo 
$text;
    }

    
/**
     * Creates a new crypt object, sets the text on it
     * and returns the script in one step.
     *
     * @param string $text Text to crypt
     *
     * @return string Crypted script
     */
    
function _fly($text)
    {
        
$c = new HTML_Crypt($text[0]);
        
$c->setText($text[0]);
        return 
$c->getScript();
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--