!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:\Intranet\C\xampp\php\PEAR\System\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
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:     Mount.php (6.72 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available through the world-wide-web at the following url:           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Author: Ian Eure <ieure@php.net>                                     |
// +----------------------------------------------------------------------+
//
// $Id: Mount.php,v 1.1 2004/06/09 07:03:29 ieure Exp $

require_once 'PEAR.php';
require_once 
'File/Fstab.php';
require_once 
'System/Command.php';

/**
 * Mount and unmount devices in fstab
 *
 * $sm = &new System_Mount();
 * $cdrom = &$sm->getEntryForPath('/cdrom');
 * $cdrom->mount();
 * ...
 * $cdrom->unMount();
 * 
 * @package System_Mount
 * @version 1.0.0
 * @author Ian Eure <ieure@php.net>
 * @copyright Copyright &copy; 2004, Ian Eure
 * @license http://www.php.net/license/3_0.txt PHP License 3.0
 * @link http://atomized.org/PEAR/System_Mount/
 */
class System_Mount extends File_Fstab {
    
/**
     * Default options
     *
     * @var array
     */
    
var $_defaultMountOptions = array(
        
'entryClass' => "System_Mount_Entry",
        
'mtabFile' => "/etc/mtab",
        
'mountCmd' => "mount",
        
'umountCmd' => "umount"
    
);


    
/**
     * Constructor
     *
     * @param $options array Class options
     * @see File_Fstab::setOptions()
     * @return void
     */
    
function System_Mount($options false)
    {
        
$pc get_parent_class($this);

        
// This is a bit ugly.
        
if (!$options) {
            
$options = array();
        }
        
$opts array_merge($this->_defaultMountOptions$options);

        
// Get a static mtab instance
        
$mtab = &PEAR::getStaticProperty('System_Mount''mtab');
        
$mtab File_Fstab::singleton($opts['mtabFile']);

        
parent::$pc($opts);

        
// Make sure the entryClass knows how to mount/unmount
        
$options = &PEAR::getStaticProperty('System_Mount''options');
        
$options $this->options;
    }
}

/**
 * Class which handles the mount/unmount operation
 *
 * This is the heart of System_Mount- the main class exists only to instruct
 * File_Fstab to use this class, making it easier on the end-user.
 *
 * @package System_Mount
 * @version 1.0.0
 * @author Ian Eure <ieure@php.net>
 * @copyright Copyright &copy; 2004, Ian Eure
 * @license http://www.php.net/license/3_0.txt PHP License 3.0
 */
class System_Mount_Entry extends File_Fstab_Entry {
    
/**
     * File_Fstab instance
     *
     * This contains an instance of File_Fstab (created with
     * {@link File_Fstab::singleton()} so we don't waste memory) which parses
     * /etc/mtab and holds the current device mount state.
     *
     * @var object
     * @see File_Fstab
     * @access protected
     */
    
var $_mtab;

    
/**
     * System_Mount options
     *
     * This contains the options passed to System_Mount when it was instantiated
     *
     * @var array
     * @see System_Mount::System_Mount()
     * @access protected
     */
    
var $_smOptions;
    

    
/**
     * Constructor
     *
     * @param $entry fstab entry
     * @see File_Fstab::File_Fstab()
     * @return void
     */
    
function System_Mount_Entry($entry false)
    {
        
$this->_smOptions = &PEAR::getStaticProperty('System_Mount''options');
        
$this->_mtab = &PEAR::getStaticProperty('System_Mount''mtab');

        
// Thunk to parent's constructor
        
$pc get_parent_class($this);
        return 
parent::$pc($entry);
    }

    
/**
     * Is this device mounted?
     *
     * @return boolean true if mounted, false if unmounted
     */
    
function isMounted()
    {
        
$this->_mtab->load();
        
PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
        
$ent $this->_mtab->getEntryForPath($this->mountPoint);
        
PEAR::popErrorHandling();

        if (
PEAR::isError($ent)) {
            return 
false;
        }
        
        return 
true;
    }

    
/**
     * May a user mount this device?
     *
     * @return boolean true if user may mount, false if not
     */
    
function userMayMount()
    {
        return 
$this->hasMountOption('user');
    }


    
/**
     * May this device be mounted?
     *
     * Similar to userMayMount(), but this takes the UID the script is running as
     * in to account, and returns 'true' if the current UID is 0, or the result of
     * userMayMount otherwise.
     *
     * @see userMayMount()
     * @return boolean true if user may mount, false if not
     */
    
function mayMount()
    {
        
// Root may mount anything
        
if (posix_getuid() == 0) {
            return 
true;
        }

        return 
$this->userMayMount();
    }

    
/**
     * Mount the device
     *
     * @return mixed boolean or PEAR_Error
     * @see _mount()
     */
    
function mount()
    {
        if (
$this->isMounted()) {
            return 
PEAR::raiseError("{$this->mountPoint} is already mounted");
        }
            
        return 
$this->_mount($this->_smOptions['mountCmd']);
    }

    
/**
     * Unmount the device
     *
     * @return mixed boolean true on success, PEAR_Error otherwise
     * @see _mount()
     */
    
function unMount()
    {
        if (!
$this->isMounted()) {
            return 
PEAR::raiseError("{$this->mountPoint} is not mounted");
        }
        return 
$this->_mount($this->_smOptions['umountCmd']);
    }

    
/**
     * Dispatch an (un)mount command
     *
     * @param int $command SYSTEM_MOUNT_CMD_MOUNT (to mount device) or _UNMOUNT
     *                     (to unmount device)
     * @return return value from System_Command or PEAR_Error
     * @see System_Command::execute()
     * @access protected
     */
    
function _mount($command)
    {
        if (!
$this->mayMount()) {
            return 
PEAR::raiseError("Users may not (un)mount {$this->mountPoint}");
        }

        
$cmd = new System_Command;
        
$cmd->pushCommand($command$this->mountPoint);
        
$res $cmd->execute();

        
// Update mtab
        
$this->_mtab->load();

        return 
$res;
    }
}
?>

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