!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\phing\system\io\   drwxrwxrwx
Free 4.1 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:     InputStream.php (5.52 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 *  $Id: InputStream.php 552 2009-08-29 12:18:13Z mrook $
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many individuals
 * and is licensed under the LGPL. For more information please see
 * <http://phing.info>. 
 */

/**
 * Wrapper class for PHP stream that supports read operations.
 * 
 * @package   phing.system.io
 */
class InputStream {
    
    
/**
     * @var resource The attached PHP stream.
     */
    
protected $stream;
    
    
/**
     * @var int Position of stream cursor.
     */
    
protected $currentPosition 0;
    
    
/**
     * @var int Marked position of stream cursor.
     */
    
protected $mark 0;
    
    
/**
     * Construct a new InputStream.
     * @param resource $stream Configured PHP stream for writing.
     */
    
public function __construct($stream) {
        if (!
is_resource($stream)) {
            throw new 
IOException("Passed argument is not a valid stream.");
        }
        
$this->stream $stream;
    }

    
/**
     * Skip over $n bytes.
     * @param int $n
     */
    
public function skip($n) {
        
$start $this->currentPosition;

        
$ret = @fseek($this->stream$nSEEK_CUR);
        if ( 
$ret === -)
            return -
1;

        
$this->currentPosition ftell($this->stream);

        if ( 
$start $this->currentPosition )
            
$skipped $start $this->currentPosition;
        else
            
$skipped $this->currentPosition $start;

        return 
$skipped;
    }
    
    
/**
     * Read data from stream until $len chars or EOF.
     * @param int $len Num chars to read.  If not specified this stream will read until EOF.
     * @return string chars read or -1 if eof.
     */
    
public function read($len null) {
        
        if (
$this->eof()) {
            return -
1;
        }
        
        if (
$len === null) { // we want to keep reading until we get an eof
            
$out "";
            while(!
$this->eof()) {
                
$out .= fread($this->stream8192);
                
$this->currentPosition ftell($this->stream);
            }
        } else {
            
$out fread($this->stream$len); // adding 1 seems to ensure that next call to read() will return EOF (-1)
            
$this->currentPosition ftell($this->stream);
        }

        return 
$out;
    }    
    
    
/**
     * Marks the current position in this input stream.
     * @throws IOException - if the underlying stream doesn't support this method.
     */
    
public function mark() {
        if (!
$this->markSupported()) {
            throw new 
IOException(get_class($this) . " does not support mark() and reset() methods.");
        }
        
$this->mark $this->currentPosition;
    }
    
    
/**
     * Whether the input stream supports mark and reset methods.
     * @return boolean
     */
    
public function markSupported() {
        return 
false;
    }
    
    
/**
     * Repositions this stream to the position at the time the mark method was last called on this input stream.
     * @throws IOException - if the underlying stream doesn't support this method.
     */
    
function reset() {
        if (!
$this->markSupported()) {
            throw new 
IOException(get_class($this) . " does not support mark() and reset() methods.");
        }
        
// goes back to last mark, by default this would be 0 (i.e. rewind file).
        
fseek($this->streamSEEK_SET$this->mark);
        
$this->mark 0;
    }
    
    
/**
     * Closes stream.
     * @throws IOException if stream cannot be closed (note that calling close() on an already-closed stream will not raise an exception)
     */
    
public function close() {
        if (
$this->stream === null) {
            return;
        }
        if (
false === @fclose($this->stream)) {
            
// FAILED.
            
$msg "Cannot fclose " $this->file->__toString() . $php_errormsg";
            throw new 
IOException($msg);
        }
        
$this->stream null;
    }
    
    
/**
     * Whether eof has been reached with stream.
     * @return boolean
     */
    
public function eof() {
        return 
feof($this->stream);
    }
     
    
/**
     * Reads a entire until EOF and places contents in passed-in variable.  Stream is closed after read.
     *
     * @param string &$rBuffer String variable where read contents will be put.
     * @return TRUE on success.
     * @author  Charlie Killian, charlie@tizac.com
     * @throws IOException - if there is an error reading from stream.
     * @deprecated - Instead, use the read() method or a BufferedReader.
     */
    
public function readInto(&$rBuffer) {
        
$rBuffer $this->read();
        
$this->close();
    }
    
    
/**
     * Returns string representation of attached stream.
     * @return string
     */
    
public function __toString() {
        return (string) 
$this->stream;
    }
}

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