!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\Net\   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:     Ident.php (10.47 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-2005 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.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:          Ondrej Jombik <nepto@platon.sk>                     |
// | Original author: Gavin Brown <gavin.brown@uk.com>                    |
// +----------------------------------------------------------------------+
//
// $Id: Ident.php,v 1.7 2005/03/07 11:23:26 nepto Exp $
//
// Identification Protocol implementation
//

require_once 'PEAR.php';

/**
 * Net_Ident default values
 * @const   NET_IDENT_DEFAULT_TIMEOUT   Default ident query network timeout
 * @const   NET_IDENT_DEFAULT_PORT      Default ident protocol port
 */
define('NET_IDENT_DEFAULT_TIMEOUT',      30);
define('NET_IDENT_DEFAULT_PORT',        113);

/**
 * Net_Ident object states
 * @const   NET_IDENT_STATUS_UNDEF      Undefined Net_Ident object state
 * @const   NET_IDENT_STATUS_OK         Net_Ident object did successful query
 * @const   NET_IDENT_STATUS_ERROR      Net_Ident object query failed
 */
define('NET_IDENT_STATUS_UNDEF',          0);
define('NET_IDENT_STATUS_OK',             1);
define('NET_IDENT_STATUS_ERROR',          2);

/**
 * Net_Ident - Identification Protocol implementation according to RFC 1413
 *
 * The Identification Protocol (a.k.a., "ident", a.k.a., "the Ident Protocol")
 * provides a means to determine the identity of a user of a particular TCP
 * connection.  Given a TCP port number pair, it returns a character string
 * which identifies the owner of that connection on the server's system.
 *
 * You can find out more about the Ident protocol at
 *
 *      http://www.ietf.org/rfc/rfc1413.txt
 *
 * Usage:
 *   <?php
 *       require_once 'Net/Ident.php';
 *       $ident   = new Net_Ident;
 *       $user    = $ident->getUser();
 *       $os_type = $ident->getOsType();
 *       echo "user: $user, operating system: $os_type\n";
 *   ?>
 *
 * @author      Ondrej Jombik <nepto@platon.sk>
 * @package     Net_Ident
 * @version     1.1.0
 * @access      public
 */
class Net_Ident
{
    
/**
     * Current object state (undef, ok, error)
     *
     * @var     enum
     * @access  private
     */
    
var $_status;

    
/**
     * Error message string;
     *   if $_status is "error", $_error contains system error message;
     *   if $_status is "ok", $_error contains ident error message
     * or it is empty
     *
     * @var     string
     * @access  private
     */
    
var $_error;

    
/**
     * Properties array (contains remote host, remote port, ident port, etc.)
     *
     * @var     array
     * @access  private
     */
    
var $_props;

    
/**
     * Data array (contains ident username, ident operating system type, and
     * raw line returned from ident server)
     *
     * @var     array
     * @access  private
     */
    
var $_data;

    
/**
     * Net_Ident object constructor
     *
     * Initializes class properties. Use empty string '' for any string
     * parameter and value of 0 for any int parameter to set default value.
     *
     * @param   string  $remote_addr    Remote host address (IP or hostname)
     * @param   int     $remote_port    Remote port (default $REMOTE_PORT)
     * @param   int     $local_port     Local port  (default $SERVER_PORT)
     * @param   int     $ident_port     Ident port  (default 113)
     * @param   int     $timeout        Socket timeout (default 30 seconds)
     * @return  none
     * @access  public
     */
    
function Net_Ident(
            
$remote_addr '',
            
$remote_port 0,
            
$local_port  0,
            
$ident_port  0,
            
$timeout     0)
    {
        
$this->_status NET_IDENT_STATUS_UNDEF;
        
$this->setRemoteAddr($remote_addr);
        
$this->setRemotePort($remote_port);
        
$this->setLocalPort($local_port);
        
$this->setIdentPort($ident_port);
        
$this->setTimeout($timeout);
    }

    
/**
     * Sets remote host address (IP or hostname)
     *
     * @param   string  $remote_addr    Remote host address (IP or hostname)
     * @return  none
     * @access  public
     */
    
function setRemoteAddr($remote_addr)
    {
        
strlen($remote_addr) <= && $remote_addr $_SERVER['REMOTE_ADDR'];
        
$this->_props['remote_addr'] = $remote_addr;
    }

    
/**
     * Sets remote port
     *
     * @param   int     $remote_port    Remote port (default $REMOTE_PORT)
     * @return  none
     * @access  public
     */
    
function setRemotePort($remote_port)
    {
        
$remote_port intval($remote_port);
        
$remote_port <= && $remote_port $_SERVER['REMOTE_PORT'];
        
$this->_props['remote_port'] = $remote_port;
    }

    
/**
     * Sets local port
     *
     * @param   int     $local_port     Local port  (default $SERVER_PORT)
     * @return  none
     * @access  public
     */
    
function setLocalPort($local_port)
    {
        
$local_port intval($local_port);
        
$local_port <= && $local_port $_SERVER['SERVER_PORT'];
        
$this->_props['local_port'] = $local_port;
    }

    
/**
     * Sets ident port
     *
     * @param   int     $ident_port     Ident port  (default 113)
     * @return  none
     * @access  public
     */
    
function setIdentPort($ident_port)
    {
        
$ident_port intval($ident_port);
        
$ident_port <= && $ident_port NET_IDENT_DEFAULT_PORT;
        
$this->_props['ident_port'] = $ident_port;
    }

    
/**
     * Sets socket timeout
     *
     * @param   int     $timeout        Socket timeout (default 30 seconds)
     * @return  none
     * @access  public
     */
    
function setTimeout($timeout)
    {
        
$timeout intval($timeout);
        
$timeout <= && $timeout NET_IDENT_DEFAULT_TIMEOUT;
        
$this->_props['timeout'] = $timeout;
    }

    
/**
     * Performs network socket ident query
     *
     * @return  mixed   PEAR_Error on connection error
     *                  rawdata read from socket on success
     * @access  public
     */
    
function query()
    {
        
// query forced, clean current result
        
if ($this->_status == NET_IDENT_STATUS_OK) {
            unset(
$this->_data['username']);
            unset(
$this->_data['os_type']);
            
$this->_status NET_IDENT_STATUS_UNDEF;
        }
        while (
1) {
            if (
$this->_status == NET_IDENT_STATUS_ERROR) {
                return new 
PEAR_Error($this->_error);
            }

            if (
$socket = @fsockopen(
                        
$this->_props['remote_addr'],
                        
$this->_props['ident_port'],
                        
$errno$errstr,
                        
$this->_props['timeout'])) {
                break;
            }
            
$this->_status NET_IDENT_STATUS_ERROR;
            
$this->_error  'Error connecting to ident server ('
                    
.$this->_props['remote_addr'].':'
                    
.$this->_props['ident_port']."): $errstr ($errno)"// )
        
}

        
$line $this->_props['remote_port'].','
            
.$this->_props['local_port']."\r\n";
        @
fwrite($socket$line);
        
$line = @fgets($socket1000); // 1000 octets according to RFC 1413
        
fclose($socket);

        
$this->_status NET_IDENT_STATUS_OK;
        
$this->_data['rawdata'] = $line;
        
$this->_parseIdentResponse($line);

        return 
$line;
    }

    
/**
     * Returns ident username
     *
     * @return  mixed   PEAR_Error on connection error
     *                  false boolean on ident protocol error
     *                  username string on success
     * @access  public
     */
    
function getUser()
    {
        
$this->_status == NET_IDENT_STATUS_UNDEF && $this->query();
        if (
$this->_status == NET_IDENT_STATUS_ERROR) {
            return new 
PEAR_Error($this->_error);
        }
        return 
$this->_data['username'];
    }

    
/**
     * Returns ident operating system type
     *
     * @return  mixed   PEAR_Error on connection error
     *                  false boolean on ident protocol error
     *                  operating system type string on success
     * @access  public
     */
    
function getOsType()
    {
        
$this->_status == NET_IDENT_STATUS_UNDEF && $this->query();
        if (
$this->_status == NET_IDENT_STATUS_ERROR) {
            return new 
PEAR_Error($this->_error);
        }
        return 
$this->_data['os_type'];
    }

    
/**
     * Returns ident protocol error
     *
     * @return  mixed   error string if ident protocol error had occured
     *                  false otherwise
     * @access  public
     */
    
function identError()
    {
        if (
$this->_status == NET_IDENT_STATUS_OK
                
&& isset($this->_error)) {
            return 
$this->_error;
        }
        return 
false;
    }

    
/**
     * Parses response from indent server and sets internal data structures
     * with ident username and ident operating system type
     *
     * @param   string  $string     ident server response
     * @return  boolean true if no ident protocol error had occured
     *                  false otherwise
     * @access  private
     */
    
function _parseIdentResponse($string)
    {
        
$this->_data['username'] = false;
        
$this->_data['os_type']  = false;
        
$array explode(':'$string4);
        if (
count($array) > && ! strcasecmp(trim($array[1]), 'USERID')) {
            isset(
$array[2]) && $this->_data['os_type']  = trim($array[2]);
            isset(
$array[3]) && $this->_data['username'] = trim($array[3]);
            return 
true;
        } elseif (
count($array) > && ! strcasecmp(trim($array[1]), 'ERROR')) {
            isset(
$array[2]) && $this->_error trim($array[2]);
        } else {
            
$this->_error 'Invalid ident server response';
        }
        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.0624 ]--