!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\DNS\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.35%)
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:     Header.php (9.07 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 *  License Information:
 *
 *    Net_DNS:  A resolver library for PHP
 *    Copyright (c) 2002-2003 Eric Kilfoil eric@ypass.net
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation; either
 *    version 2.1 of the License, or (at your option) any later version.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

/*  Net_DNS_Header object definition {{{ */
/**
 * Object representation of the HEADER section of a DNS packet
 *
 * The Net_DNS::Header class contains the values of a DNS  packet.  It parses
 * the header of a DNS packet or can  generate the binary data
 * representation of the packet.  The format of the header is described in
 * RFC1035.
 *
 * @package Net_DNS
 */
class Net_DNS_Header
{
    
/* class variable definitions {{{ */
    /**
     * The packet's request id
     *
     * The request id of the packet represented as  a 16 bit integer.
     */
    
var $id;
    
/**
     * The QR bit in a DNS packet header
     *
     * The QR bit as described in RFC1035.  QR is set to 0 for queries, and
     * 1 for repsones.
     */
    
var $qr;
    
/**
     * The OPCODE name of this packet.
     *
     * The string value (name) of the opcode for the DNS packet.
     */
    
var $opcode;
    
/**
     * The AA (authoritative answer) bit in a DNS packet header
     *
     * The AA bit as described in RFC1035.  AA is set to  1 if the answer
     * is authoritative.  It has no meaning if QR is set to 0.
     */
    
var $aa;
    
/**
     * The TC (truncated) bit in a DNS packet header
     *
     * This flag is set to 1 if the response was truncated.  This flag has
     * no meaning in a query packet.
     */
    
var $tc;
    
/**
     * The RD (recursion desired) bit in a DNS packet header
     *
     * This bit should be set to 1 in a query if recursion  is desired by
     * the DNS server.
     */
    
var $rd;
    
/**
     * The RA (recursion available) bit in a DNS packet header
     *
     * This bit is set to 1 by the DNS server if the server is willing to
     * perform recursion.
     */
    
var $ra;
    
/**
     * The RCODE name for this packet.
     *
     * The string value (name) of the rcode for the DNS packet.
     */
    
var $rcode;
    
/**
     * Number of questions contained within the packet
     *
     * 16bit integer representing the number of questions in the question
     * section of the DNS packet.
     *
     * @var integer $qdcount
     * @see     Net_DNS_Question class
     */
    
var $qdcount;
    
/**
     * Number of answer RRs contained within the packet
     *
     * 16bit integer representing the number of answer resource records
     * contained in the answer section of the DNS packet.
     *
     * @var integer $ancount
     * @see     Net_DNS_RR class
     */
    
var $ancount;
    
/**
     * Number of authority RRs within the packet
     *
     * 16bit integer representing the number of authority (NS) resource
     * records  contained in the authority section of the DNS packet.
     *
     * @var integer $nscount
     * @see     Net_DNS_RR class
     */
    
var $nscount;
    
/**
     * Number of additional RRs within the packet
     *
     * 16bit integer representing the number of additional resource records
     * contained in the additional section of the DNS packet.
     *
     * @var integer $arcount
     * @see     Net_DNS_RR class
     */
    
var $arcount;

    
/* }}} */
    /* class constructor - Net_DNS_Header($data = "") {{{ */
    /**
     * Initializes the default values for the Header object.
     * 
     * Builds a header object from either default values, or from a DNS
     * packet passed into the constructor as $data
     *
     * @param string $data  A DNS packet of which the header will be parsed.
     * @return  object  Net_DNS_Header
     * @access public
     */
    
function Net_DNS_Header($data '')
    {
        if (
$data != '') {
            
/*
             * The header MUST be at least 12 bytes.
             * Passing the full datagram to this constructor
             * will examine only the header section of the DNS packet
             */
            
if (strlen($data) < 12)
                return 
false;

            
$a unpack('nid/C2flags/n4counts'$data);
            
$this->id      $a['id'];
            
$this->qr      = ($a['flags1'] >> 7) & 0x1;
            
$this->opcode  = ($a['flags1'] >> 3) & 0xf;
            
$this->aa      = ($a['flags1'] >> 2) & 0x1;
            
$this->tc      = ($a['flags1'] >> 1) & 0x1;
            
$this->rd      $a['flags1'] & 0x1;
            
$this->ra      = ($a['flags2'] >> 7) & 0x1;
            
$this->rcode   $a['flags2'] & 0xf;
            
$this->qdcount $a['counts1'];
            
$this->ancount $a['counts2'];
            
$this->nscount $a['counts3'];
            
$this->arcount $a['counts4'];
        }
        else {
            
$this->id      Net_DNS_Resolver::nextid();
            
$this->qr      0;
            
$this->opcode  0;
            
$this->aa      0;
            
$this->tc      0;
            
$this->rd      1;
            
$this->ra      0;
            
$this->rcode   0;
            
$this->qdcount 1;
            
$this->ancount 0;
            
$this->nscount 0;
            
$this->arcount 0;
        }

        if (
Net_DNS::opcodesbyval($this->opcode)) {
            
$this->opcode Net_DNS::opcodesbyval($this->opcode);
        }
        if (
Net_DNS::rcodesbyval($this->rcode)) {
            
$this->rcode Net_DNS::rcodesbyval($this->rcode);
        }
    }

    
/* }}} */
    /* Net_DNS_Header::display() {{{ */
    /**
     * Displays the properties of the header.
     *
     * Displays the properties of the header.
     *
     * @access public
     */
    
function display()
    {
        echo 
$this->string();
    }

    
/* }}} */
    /* Net_DNS_Header::string() {{{ */
    /**
     * Returns a formatted string containing the properties of the header.
     *
     * @return string   a formatted string containing the properties of the header.
     * @access public
     */
    
function string()
    {
        
$retval ';; id = ' $this->id "\n";
        if (
$this->opcode == 'UPDATE') {
            
$retval .= ';; qr = ' $this->qr '    ' .
                
'opcode = ' $this->opcode '    '   .
                
'rcode = ' $this->rcode "\n";
            
$retval .= ';; zocount = ' $this->qdcount '  ' .  
                
'prcount = ' $this->ancount '  '           .
                
'upcount = ' $this->nscount '  '           .
                
'adcount = ' $this->arcount "\n";
        } else {
            
$retval .= ';; qr = ' $this->qr '    ' .
                
'opcode = ' $this->opcode '    '   .
                
'aa = ' $this->aa '    '           .
                
'tc = ' $this->tc '    '           .
                
'rd = ' $this->rd "\n";

            
$retval .= ';; ra = ' $this->ra '    ' .
                
'rcode  = ' $this->rcode "\n";

            
$retval .= ';; qdcount = ' $this->qdcount '  ' .
                
'ancount = ' $this->ancount '  '    .
                
'nscount = ' $this->nscount '  '    .
                
'arcount = ' $this->arcount "\n";
        }
        return 
$retval;
    }

    
/* }}} */
    /* Net_DNS_Header::data() {{{ */
    /**
     * Returns the binary data containing the properties of the header
     *
     * Packs the properties of the Header object into a binary string
     * suitable for using as the Header section of a DNS packet.
     *
     * @return string   binary representation of the header object
     * @access public
     */
    
function data()
    {
        
$opcode Net_DNS::opcodesbyname($this->opcode);
        
$rcode  Net_DNS::rcodesbyname($this->rcode);

        
$byte2 = ($this->qr << 7)
            | (
$opcode << 3)
            | (
$this->aa << 2)
            | (
$this->tc << 1)
            | (
$this->rd);

        
$byte3 = ($this->ra << 7) | $rcode;

        return 
pack('nC2n4'$this->id,
                
$byte2,
                
$byte3,
                
$this->qdcount,
                
$this->ancount,
                
$this->nscount,
                
$this->arcount);
    }

    
/* }}} */
}
/* }}} */
/* VIM settings {{{
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * soft-stop-width: 4
 * c indent on
 * expandtab on
 * End:
 * vim600: sw=4 ts=4 sts=4 cindent fdm=marker et
 * vim<600: sw=4 ts=4
 * }}} */
?>

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