!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\htdocs\jaime\Xcode\SPLIB\ThirdParty\bbcode\   drwxrwxrwx
Free 4.04 GB of 39.52 GB (10.21%)
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:     bbcode.inc.php (3.74 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
function begtoend($htmltag){
    return 
preg_replace('/<([A-Za-z]+)>/','</$1>',$htmltag);
}
function 
replace_pcre_array($text,$array){
    
$pattern array_keys($array);
    
$replace array_values($array);
    
$text preg_replace($pattern,$replace,$text);
    return 
$text;
}
class 
bbcode{
    var 
$tags;
    var 
$settings;
    function 
bbcode(){
        
$this->tags = array();
        
$this->settings = array('enced'=>true);
    }
    function 
get_data($name,$cfa ''){
        if(!
array_key_exists($name,$this->tags)) return '';
        
$data $this->tags[$name];
        if(
$cfa$sbc $cfa; else $sbc $name;
        if(!
is_array($data)){
            
$data preg_replace('/^ALIAS(.+)$/','$1',$data);
            return 
$this->get_data($data,$sbc);
        }else{
            
$data['Name'] = $sbc;
            return 
$data;
        }
    }
    function 
change_setting($name,$value){
        
$this->settings[$name] = $value;
    }
    function 
add_alias($name,$aliasof){
        if(!
array_key_exists($aliasof,$this->tags) or array_key_exists($name,$this->tags)) return false;
        
$this->tags[$name] = 'ALIAS'.$aliasof;
        return 
true;
    }
    function 
onparam($param,$regexarray){
        
$param replace_pcre_array($param,$regexarray);
        if(!
$this->settings['enced']){
            
$param htmlentities($param);
        }
        return 
$param;
    }
    function 
export_definition(){
        return 
serialize($this->tags);
    }
    function 
import_definiton($definition,$mode 'append'){
        switch(
$mode){
            case 
'append':
            
$array unserialize($definition);
            
$this->tags $array $this->tags;
            break;
            case 
'prepend':
            
$array unserialize($definition);
            
$this->tags $this->tags $array;
            break;
            case 
'overwrite':
            
$this->tags unserialize($definition);
            break;
            default:
            return 
false;
        }
        return 
true;
    }
    function 
add_tag($params){
        if(!
is_array($params)) return 'Paramater array not an array.';
        if(!
array_key_exists('Name',$params) or empty($params['Name'])) return 'Name parameter is required.';
        if(
preg_match('/[^A-Za-z]/',$params['Name'])) return 'Name can only contain letters.';
        if(!
array_key_exists('HasParam',$params)) $params['HasParam'] = false;
        if(!
array_key_exists('HtmlBegin',$params)) return 'HtmlBegin paremater not specified!';
        if(!
array_key_exists('HtmlEnd',$params)){
             if(
preg_match('/^(<[A-Za-z]>)+$/',$params['HtmlBegin'])){
                 
$params['HtmlEnd'] = begtoend($params['HtmlBegin']);
             }else{
                 return 
'You didn\'t specify the HtmlEnd parameter, and your HtmlBegin parameter is too complex to change to an HtmlEnd parameter.  Please specify HtmlEnd.';
             }
        }
        if(!
array_key_exists('ParamRegexReplace',$params)) $params['ParamRegexReplace'] = array();
        if(!
array_key_exists('ParamRegex',$params)) $params['ParamRegex'] = '[^\\]]+';
        if(!
array_key_exists('HasEnd',$params)) $params['HasEnd'] = true;
        if(
array_key_exists($params['Name'],$this->tags)) return 'The name you specified is already in use.';
        
$this->tags[$params['Name']] = $params;
        return 
'';
    }
    function 
parse_bbcode($text){
        foreach(
$this->tags as $tagname => $tagdata){
            if(!
is_array($tagdata)) $tagdata $this->get_data($tagname);
            
$startfind "/\\[{$tagdata['Name']}";
            if(
$tagdata['HasParam']){
                
$startfind.= '=('.$tagdata['ParamRegex'].')';
            }
            
$startfind.= '\\]/';
            if(
$tagdata['HasEnd']){
                
$endfind "[/{$tagdata['Name']}]";
                
$starttags preg_match_all($startfind,$text,$ignore);
                
$endtags substr_count($text,$endfind);
                if(
$endtags $starttags){
                    
$text.= str_repeat($endfind,$starttags $endtags);
                }
                
$text str_replace($endfind,$tagdata['HtmlEnd'],$text);
            }
            
$replace str_replace(array('%%P%%','%%p%%'),'\'.$this->onparam(\'$1\',$tagdata[\'ParamRegexReplace\']).\'','\''.$tagdata['HtmlBegin'].'\'');
            
$text preg_replace($startfind.'e',$replace,$text);
        }
        return 
$text;
    }
}
?>

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