!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\HTTP\Download\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
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:     PgLOB.php (4.02 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * HTTP::Download::PgLOB
 * 
 * PHP versions 4 and 5
 *
 * @category   HTTP
 * @package    HTTP_Download
 * @author     Michael Wallner <mike@php.net>
 * @copyright  2003-2005 Michael Wallner
 * @license    BSD, revised
 * @version    CVS: $Id: PgLOB.php 304423 2010-10-15 13:36:46Z clockwerx $
 * @link       http://pear.php.net/package/HTTP_Download
 */

$GLOBALS['_HTTP_Download_PgLOB_Connection'] = null;
stream_register_wrapper('pglob''HTTP_Download_PgLOB');

/**
 * PgSQL large object stream interface for HTTP_Download
 * 
 * Usage:
 * <code>
 * require_once 'HTTP/Download.php';
 * require_once 'HTTP/Download/PgLOB.php';
 * $db = &DB::connect('pgsql://user:pass@host/db');
 * // or $db = pg_connect(...);
 * $lo = HTTP_Download_PgLOB::open($db, 12345);
 * $dl = &new HTTP_Download;
 * $dl->setResource($lo);
 * $dl->send()
 * </code>
 * 
 * @access  public
 * @version $Revision: 304423 $
 */
class HTTP_Download_PgLOB
{
    
/**
     * Set Connection
     * 
     * @static
     * @access  public
     * @return  bool
     * @param   mixed   $conn
     */
    
function setConnection($conn)
    {
        if (
is_a($conn'DB_Common')) {
            
$conn $conn->dbh;
        } elseif (  
is_a($conn'MDB_Common') || 
                    
is_a($conn'MDB2_Driver_Common')) {
            
$conn $conn->connection;
        }
        if (
$isResource is_resource($conn)) {
            
$GLOBALS['_HTTP_Download_PgLOB_Connection'] = $conn;
        }
        return 
$isResource;
    }
    
    
/**
     * Get Connection
     * 
     * @static
     * @access  public
     * @return  resource
     */
    
function getConnection()
    {
        if (
is_resource($GLOBALS['_HTTP_Download_PgLOB_Connection'])) {
            return 
$GLOBALS['_HTTP_Download_PgLOB_Connection'];
        }
        return 
null;
    }
    
    
/**
     * Open
     * 
     * @static
     * @access  public
     * @return  resource
     * @param   mixed   $conn
     * @param   int     $loid
     * @param   string  $mode
     */
    
function open($conn$loid$mode 'rb')
    {
        
HTTP_Download_PgLOB::setConnection($conn);
        return 
fopen('pglob:///'$loid$mode);
    }
    
    
/**#@+
     * Stream Interface Implementation
     * @internal
     */
    
var $ID 0;
    var 
$size 0;
    var 
$conn null;
    var 
$handle null;
    
    function 
stream_open($path$mode)
    {
        if (!
$this->conn HTTP_Download_PgLOB::getConnection()) {
            return 
false;
        }
        if (!
preg_match('/(\d+)/'$path$matches)) {
            return 
false;
        }
        
$this->ID $matches[1];
        
        if (!
pg_query($this->conn'BEGIN')) {
            return 
false;
        }
        
        
$this->handle pg_lo_open($this->conn$this->ID$mode);
        if (!
is_resource($this->handle)) {
            return 
false;
        }
        
        
// fetch size of lob
        
pg_lo_seek($this->handle0PGSQL_SEEK_END);
        
$this->size = (int) pg_lo_tell($this->handle);
        
pg_lo_seek($this->handle0PGSQL_SEEK_SET);
        
        return 
true;
    }
    
    function 
stream_read($length)
    {
        return 
pg_lo_read($this->handle$length);
    }
    
    function 
stream_seek($offset$whence SEEK_SET)
    {
        return 
pg_lo_seek($this->handle$offset$whence);
    }
    
    function 
stream_tell()
    {
        return 
pg_lo_tell($this->handle);
    }
    
    function 
stream_eof()
    {
        return 
pg_lo_tell($this->handle) >= $this->size;
    }
    
    function 
stream_flush()
    {
        return 
true;
    }
    
    function 
stream_stat()
    {
        return array(
'size' => $this->size'ino' => $this->ID);
    }
    
    function 
stream_write($data)
    {
        return 
pg_lo_write($this->handle$data);
    }
    
    function 
stream_close()
    {
        if (
pg_lo_close($this->handle)) {
            return 
pg_query($this->conn'COMMIT');
        } else {
            
pg_query($this->conn ,'ROLLBACK');
            return 
false;
        }
    }
    
/**#@-*/
}

?>

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