!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)

E:\xampp\xampp\php\PEAR\Zend\Crypt\   drwxrwxrwx
Free 7.96 GB of 239.26 GB (3.33%)
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:     Rsa.php (8.06 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Crypt
 * @subpackage Rsa
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Rsa.php 16971 2009-07-22 18:05:45Z mikaelkael $
 */

/**
 * @see Zend_Crypt_Rsa_Key_Private
 */
require_once 'Zend/Crypt/Rsa/Key/Private.php';

/**
 * @see Zend_Crypt_Rsa_Key_Public
 */
require_once 'Zend/Crypt/Rsa/Key/Public.php';

/**
 * @category   Zend
 * @package    Zend_Crypt
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Crypt_Rsa
{

    const 
BINARY 'binary';
    const 
BASE64 'base64';

    protected 
$_privateKey null;

    protected 
$_publicKey null;

    
/**
     * @var string
     */
    
protected $_pemString null;

    protected 
$_pemPath null;

    protected 
$_certificateString null;

    protected 
$_certificatePath null;

    protected 
$_hashAlgorithm OPENSSL_ALGO_SHA1;

    protected 
$_passPhrase null;

    public function 
__construct(array $options null)
    {
        if (isset(
$options)) {
            
$this->setOptions($options);
        }
    }

    public function 
setOptions(array $options)
    {
        if (isset(
$options['passPhrase'])) {
            
$this->_passPhrase $options['passPhrase'];
        }
        foreach (
$options as $option=>$value) {
            switch (
$option) {
                case 
'pemString':
                    
$this->setPemString($value);
                    break;
                case 
'pemPath':
                    
$this->setPemPath($value);
                    break;
                case 
'certificateString':
                    
$this->setCertificateString($value);
                    break;
                case 
'certificatePath':
                    
$this->setCertificatePath($value);
                    break;
                case 
'hashAlgorithm':
                    
$this->setHashAlgorithm($value);
                    break;
            }
        }
    }

    public function 
getPrivateKey()
    {
        return 
$this->_privateKey;
    }

    public function 
getPublicKey()
    {
        return 
$this->_publicKey;
    }

    
/**
     * @param string $data
     * @param Zend_Crypt_Rsa_Key_Private $privateKey
     * @param string $format
     * @return string
     */
    
public function sign($dataZend_Crypt_Rsa_Key_Private $privateKey null$format null)
    {
        
$signature '';
        if (isset(
$privateKey)) {
            
$opensslKeyResource $privateKey->getOpensslKeyResource();
        } else {
            
$opensslKeyResource $this->_privateKey->getOpensslKeyResource();
        }
        
$result openssl_sign(
            
$data$signature,
            
$opensslKeyResource,
            
$this->getHashAlgorithm()
        );
        if (
$format == self::BASE64) {
            return 
base64_encode($signature);
        }
        return 
$signature;
    }

    
/**
     * @param string $data
     * @param string $signature
     * @param string $format
     * @return string
     */
    
public function verifySignature($data$signature$format null)
    {
        if (
$format == self::BASE64) {
            
$signature base64_decode($signature);
        }
        
$result openssl_verify($data$signature,
            
$this->getPublicKey()->getOpensslKeyResource(),
            
$this->getHashAlgorithm());
        return 
$result;
    }

    
/**
     * @param string $data
     * @param Zend_Crypt_Rsa_Key $key
     * @param string $format
     * @return string
     */
    
public function encrypt($dataZend_Crypt_Rsa_Key $key$format null)
    {
        
$encrypted '';
        
$function 'openssl_public_encrypt';
        if (
$key instanceof Zend_Crypt_Rsa_Key_Private) {
            
$function 'openssl_private_encrypt';
        }
        
$function($data$encrypted$key->getOpensslKeyResource());
        if (
$format == self::BASE64) {
            return 
base64_encode($encrypted);
        }
        return 
$encrypted;
    }

    
/**
     * @param string $data
     * @param Zend_Crypt_Rsa_Key $key
     * @param string $format
     * @return string
     */
    
public function decrypt($dataZend_Crypt_Rsa_Key $key$format null)
    {
        
$decrypted '';
        if (
$format == self::BASE64) {
            
$data base64_decode($data);
        }
        
$function 'openssl_private_decrypt';
        if (
$key instanceof Zend_Crypt_Rsa_Key_Public) {
            
$function 'openssl_public_decrypt';
        }
        
$function($data$decrypted$key->getOpensslKeyResource());
        return 
$decrypted;
    }

    public function 
generateKeys(array $configargs null)
    {
        
$config null;
        
$passPhrase null;
        if (!
is_null($configargs)) {
            if (isset(
$configargs['passPhrase'])) {
                
$passPhrase $configargs['passPhrase'];
                unset(
$configargs['passPhrase']);
            }
            
$config $this->_parseConfigArgs($configargs);
        }
        
$privateKey null;
        
$publicKey null;
        
$resource openssl_pkey_new($config);
        
// above fails on PHP 5.3
        
openssl_pkey_export($resource$private$passPhrase);
        
$privateKey = new Zend_Crypt_Rsa_Key_Private($private$passPhrase);
        
$details openssl_pkey_get_details($resource);
        
$publicKey = new Zend_Crypt_Rsa_Key_Public($details['key']);
        
$return = new ArrayObject(array(
           
'privateKey'=>$privateKey,
           
'publicKey'=>$publicKey
        
), ArrayObject::ARRAY_AS_PROPS);
        return 
$return;
    }

    
/**
     * @param string $value
     */
    
public function setPemString($value)
    {
        
$this->_pemString $value;
        
$this->_privateKey = new Zend_Crypt_Rsa_Key_Private($this->_pemString$this->_passPhrase);
        
$this->_publicKey $this->_privateKey->getPublicKey();
    }

    public function 
setPemPath($value)
    {
        
$this->_pemPath $value;
        
$this->setPemString(file_get_contents($this->_pemPath));
    }

    public function 
setCertificateString($value)
    {
        
$this->_certificateString $value;
        
$this->_publicKey = new Zend_Crypt_Rsa_Key_Public($this->_certificateString$this->_passPhrase);
    }

    public function 
setCertificatePath($value)
    {
        
$this->_certificatePath $value;
        
$this->setCertificateString(file_get_contents($this->_certificatePath));
    }

    public function 
setHashAlgorithm($name)
    {
        switch (
$name) {
            case 
'md2':
                
$this->_hashAlgorithm OPENSSL_ALGO_MD2;
                break;
            case 
'md4':
                
$this->_hashAlgorithm OPENSSL_ALGO_MD4;
                break;
            case 
'md5':
                
$this->_hashAlgorithm OPENSSL_ALGO_MD5;
                break;
        }
    }

    
/**
     * @return string
     */
    
public function getPemString()
    {
        return 
$this->_pemString;
    }

    public function 
getPemPath()
    {
        return 
$this->_pemPath;
    }

    public function 
getCertificateString()
    {
        return 
$this->_certificateString;
    }

    public function 
getCertificatePath()
    {
        return 
$this->_certificatePath;
    }

    public function 
getHashAlgorithm()
    {
        return 
$this->_hashAlgorithm;
    }

    protected function 
_parseConfigArgs(array $config null)
    {
        
$configs = array();
        if (isset(
$config['privateKeyBits'])) {
            
$configs['private_key_bits'] = $config['privateKeyBits'];
        }
        if (!empty(
$configs)) {
            return 
$configs;
        }
        return 
null;
    }

}

:: 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 ]--