!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/lib/python2.4/lib-old/   drwxr-xr-x
Free 50.64 GB of 127.8 GB (39.62%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     addpack.py (2.44 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# This module provides standard support for "packages".
#
# The idea is that large groups of related modules can be placed in
# their own subdirectory, which can be added to the Python search path
# in a relatively easy way.
#
# The current version takes a package name and searches the Python
# search path for a directory by that name, and if found adds it to
# the module search path (sys.path).  It maintains a list of packages
# that have already been added so adding the same package many times
# is OK.
#
# It is intended to be used in a fairly stylized manner: each module
# that wants to use a particular package, say 'Foo', is supposed to
# contain the following code:
#
#   from addpack import addpack
#   addpack('Foo')
#   <import modules from package Foo>
#
# Additional arguments, when present, provide additional places where
# to look for the package before trying sys.path (these may be either
# strings or lists/tuples of strings).  Also, if the package name is a
# full pathname, first the last component is tried in the usual way,
# then the full pathname is tried last.  If the package name is a
# *relative* pathname (UNIX: contains a slash but doesn't start with
# one), then nothing special is done.  The packages "/foo/bar/bletch"
# and "bletch" are considered the same, but unrelated to "bar/bletch".
#
# If the algorithm finds more than one suitable subdirectory, all are
# added to the search path -- this makes it possible to override part
# of a package.  The same path will not be added more than once.
#
# If no directory is found, ImportError is raised.

_packs = {}                             # {pack: [pathname, ...], ...}

def addpack(pack, *locations):
    import os
    if os.path.isabs(pack):
        base = os.path.basename(pack)
    else:
        base = pack
    if _packs.has_key(base):
        return
    import sys
    path = []
    for loc in _flatten(locations) + sys.path:
        fn = os.path.join(loc, base)
        if fn not in path and os.path.isdir(fn):
            path.append(fn)
    if pack != base and pack not in path and os.path.isdir(pack):
        path.append(pack)
    if not path: raise ImportError, 'package ' + pack + ' not found'
    _packs[base] = path
    for fn in path:
        if fn not in sys.path:
            sys.path.append(fn)

def _flatten(locations):
    locs = []
    for loc in locations:
        if type(loc) == type(''):
            locs.append(loc)
        else:
            locs = locs + _flatten(loc)
    return locs

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