!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)

/usr/share/system-config-network/netconfpkg/   drwxr-xr-x
Free 49.59 GB of 127.8 GB (38.8%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     NCCipe.py (5.58 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
## Copyright (C) 2001-2005 Red Hat, Inc.
## Copyright (C) 2001, 2002 Than Ngo <than@redhat.com>
## Copyright (C) 2001-2005 Harald Hoyer <harald@redhat.com>
## Copyright (C) 2001, 2002 Philipp Knirsch <pknirsch@redhat.com>

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.

## This program 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 General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

import sys
import NC_functions
from netconfpkg import Cipe_base
import string

from netconfpkg.conf import Conf

from NC_functions import *


class ConfCipeOptions(Conf.Conf):
    def __init__(self, name):
        fname = netconfpkg.ROOT + CIPEDIR + '/options.' + name
        Conf.Conf.__init__(self, fname, '#', '\t ', ' ')
        self.chmod(0600)

    def read(self):
        Conf.Conf.read(self)
        self.initvars()

    def initvars(self):
        self.vars = {}
        self.rewind()
        while self.findnextcodeline():
            #print self.getline()
            var = self.getfields()
            if len(var) > 1:
                self.vars[var[0]] = var[1]
            elif len(var) == 1:
                self.vars[var[0]] = ""
            self.nextline()
        self.rewind()
        
    def __getitem__(self, varname):
        if self.vars.has_key(varname):
            return self.vars[varname]
        else:
            return None
        
    def __setitem__(self, varname, value):
        # set first (should be only) instance to values in list value
        place=self.tell()
        self.rewind()
        # not a nameserver, so all items on one line...
        if self.findnextline('^' '[' + self.separators + ']*' + varname +
                             '[' + self.separators + ']+'):
            self.deleteline()
            self.insertlinelist([ varname, value ])
            self.seek(place)
        else:
            self.seek(place)
            self.insertlinelist([ varname, value ])
        # no matter what, update our idea of the variable...
        self.vars[varname] = value
        
    def __delitem__(self, varname):
        # delete *every* instance...
        self.rewind()
        while self.findnextline('[' + self.separators + ']*' + varname +
                                '[' + self.separators + ']'):
            self.deleteline()
        del self.vars[varname]
        
    def write(self):
        for key in self.vars.keys():
            self[key] = self.vars[key]
        Conf.Conf.write(self)
        
    def keys(self):
        return self.vars.keys()
    
    def has_key(self, key):
        return self.vars.has_key(key)

        
class Cipe(Cipe_base):
    intkeydict = {'LocalPort' : 'MYPORT',
                  }
    
    keydict = { 'RemotePeerAddress' : 'PEER',
                'RemoteVirtualAddress' : 'PTPADDR',
                'TunnelDevice' : 'TUNNELDEV',
                'TunnelIP' : 'ME',
                }
    
    def __init__(self, list = None, parent = None):
        Cipe_base.__init__(self, list, parent)        
        
    def load(self, parentConf):
        conf = parentConf

        for selfkey in self.keydict.keys():
            confkey = self.keydict[selfkey]
            if conf.has_key(confkey):
                self.__dict__[selfkey] = conf[confkey]

        for selfkey in self.intkeydict.keys():
            confkey = self.intkeydict[selfkey]
            if conf.has_key(confkey) and len(conf[confkey]):
                self.__dict__[selfkey] = int(conf[confkey])


        parent = self.getParent()
        if parent:
            conf = ConfCipeOptions(parent.DeviceId)
            if conf.has_key('key'):
                self.SecretKey = conf['key']
                
        self.commit(changed=false)
        
    def save(self, parentConf):
        conf = parentConf

        for selfkey in self.keydict.keys():
            confkey = self.keydict[selfkey]
            if self.__dict__[selfkey]:
                conf[confkey] = str(self.__dict__[selfkey])
            else: conf[confkey] = ""

        for selfkey in self.intkeydict.keys():
            confkey = self.intkeydict[selfkey]
            if self.__dict__[selfkey]:
                conf[confkey] = str(self.__dict__[selfkey])
            else: conf[confkey] = ""

        for i in conf.keys():
            if not conf[i] or conf[i] == "": del conf[i]

        
        parent = self.getParent()
        if parent:
            if not os.path.isdir(netconfpkg.ROOT + CIPEDIR):
                generic_error_dialog(_("Directory %s is missing!\nWill create it for you!\nYou should install the cipe rpm package!\n") % netconfpkg.ROOT + CIPEDIR)
                try:
                    os.mkdir(netconfpkg.ROOT + CIPEDIR)
                except:
                    generic_error_dialog(_("Could not create\ndirectory %s!") % netconfpkg.ROOT + CIPEDIR)
                    return
            conf = ConfCipeOptions(parent.DeviceId)
            if conf:
                if self.SecretKey: conf['key'] = self.SecretKey
                if not conf.has_key("maxerr"): conf["maxerr"] = '-1'
                if not conf.has_key("cttl"): conf["cttl"] = '64'
        
                conf.write()
__author__ = "Harald Hoyer <harald@redhat.com>"

:: 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 ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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