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


Viewing file:     kudzu.py (9.56 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# Copyright 2000-2003 Red Hat, Inc
#
# This software may be freely redistributed under the terms of the GNU
# public license.
#
# 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 _kudzu
import sys

consts=('BUS_', 'CLASS_', 'PROBE_')

for n in _kudzu.__dict__.keys():
    for c in consts:
        if len(n) > len(consts) and n[:len(c)] == c:
            sys.modules[__name__].__dict__[n] = _kudzu.__dict__[n]

# The base device class

class device:
    def __init__(self,table):
        self.deviceclass=table["class"]
        self.bus=table["bus"]
        self.index=table["index"]
        self.detached=table["detached"]
        self.desc=table["desc"]
        self.driver=table["driver"]
        self.device=table["device"]
    if self.deviceclass == CLASS_NETWORK:
        if table.has_key("hwaddr"):
        self.hwaddr = table["hwaddr"]
        else:
            self.hwaddr = None
    if self.deviceclass == CLASS_VIDEO:
        if table.has_key("xdriver"):
        self.xdriver = table["xdriver"]
        else:
        self.xdriver = None

    # maintain backwards compatibility
    def __getitem__(self, which):
        if which == 0:
            return self.device
        if which == 1:
            return self.driver
        if which == 2:
            return self.desc
        raise IndexError
    
    def setIndex(self,index):
        self.index=index

    def setDetached(self,detached):
        self.detached=detached

    def setDesc(self,desc):
        self.desc=desc

    def setDriver(self,driver):
        self.driver=driver

    def __repr__(self):
        res=""
        res=res+"Desc:           %s\n" % (self.desc)
        res=res+"Driver:         %s\n" % (self.driver)
        res=res+"Device:         %s\n" % (self.device)
        return res

# One class for each structure in the kudzu include files

class scsiDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.host=table["host"]
        self.channel=table["channel"]
        self.id=table["id"]
        self.lun=table["lun"]

    def setHost(self,host):
        self.host=host

    def setChannel(self,channel):
        self.channel=channel

    def setId(self,id):
        self.id=id

    def setLun(self,lun):
        self.lun=lun

class serialDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.pnpdesc=table["pnpdesc"]
        self.pnpmodel=table["pnpmodel"]
        self.pnpcompat=table["pnpcompat"]
        self.pnpmfr=table["pnpmfr"]

    def setPnPMfr(self,mfr):
        self.pnpmfr=mfr

    def setPnpModel(self,model):
        self.pnpmodel=model

    def setPnPCompat(self,compat):
        self.pnpcompat=compat

    def setPnpDesc(self,desc):
        self.pnpdesc=desc
    

class ideDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.physical=table["physical"]
        self.logical=table["logical"]

    def setPhysical(self,cyls):
        self.physical=cyls

    def setLogical(self,cyls):
        self.logical=cyls


class keyboardDevice(device):
    def __init__(self,table):
        device.__init__(self,table)

class psauxDevice(device):
    def __init__(self,table):
        device.__init__(self,table)


class sbusDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.width=table["width"]
        self.height=table["height"]
        self.freq=table["freq"]
        self.monitor=table["monitor"]

    def setRes(self,height,width):
        self.width=width
        self.height=height

    def setFreq(self,freq):
        self.freq=freq

    def setMonitor(self,monitor):
        self.monitor=monitor

class parallellDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.pnpdesc=table["pnpdesc"]
        self.pnpmodel=table["pnpmodel"]
        self.pnpmodes=table["pnpmodes"]
        self.pnpmfr=table["pnpmfr"]
        if(table.has_key("xres")):
            self.printeres=(table["xres"],table["yres"])
            self.printercolor=table["color"]
            self.printerascii=table["ascii"]
            self.printeruniprint=table["uniprint"]
        else:
            self.printeres=""
            self.printercolor=""
            self.printerascii=""
            self.printeruniprint=""
            
    def setPnPModel(self,model):
        self.pnpmodel=model

    def setPnPMfr(self,mfr):
        self.pnpmfr=mfr

    def setPnPModes(self,modes):
        self.pnpmodes=modes

    def setPnPDesc(self,desc):
        self.pnpdesc=desc

    def setPrinterRes(self,x,y):
        self.printerres=(x,y)

    def setPrinterColor(self,color):
        self.printercolor=color

    def setPrinterASCII(self,ascii):
        self.printerascii=ascii

    def setPrinterUniPrint(self,uniprint):
        self.printeruniprint=uniprint

class pciDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.vendorId=table["vendorId"]
        self.deviceId=table["deviceId"]
        self.subVendorId=table["subVendorId"]
        self.subDeviceId=table["subDeviceId"]
        self.pciType=table["pciType"]
    self.pcibus=table["pcibus"]
    self.pcidev=table["pcidev"]
    self.pcifn=table["pcifn"]

    def setVendorId(self,id):
        self.vendorId=id

    def setDeviceId(self,id):
        self.deviceId=id

    def setPciType(self,type):
        self.pciType=type

    def setSubVendorId(self,id):
        self.subVendorId=id

    def setSubDeviceId(self,id):
        self.subDeviceId=id
            
class pcmciaDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        self.vendorId=table["vendorId"]
        self.deviceId=table["deviceId"]

    def setVendorId(self,id):
        self.vendorId=id

    def setDeviceId(self,id):
        self.deviceId=id

    def setFunction(self,id):
        self.function=id

    def setSlot(self,id):
        self.slot=id
            
class ddcDevice(device):
    def __init__(self,table):
        device.__init__(self,table)
        if table.has_key("id"):
        self.id=table["id"]
    else:
        self.id = None
        self.horizSyncMin=table["horizSyncMin"]
        self.horizSyncMax=table["horizSyncMax"]
        self.vertRefreshMin=table["vertRefreshMin"]
        self.vertRefreshMax=table["vertRefreshMax"]
        self.physicalWidth=table["physicalWidth"]
        self.physicalHeight=table["physicalHeight"]
        self.mem=table["mem"]

    def __repr__(self):
        res=""
        res=res+"Desc:           %s\n" % (self.desc)
        res=res+"Id:             %s\n" % (self.id)
        res=res+"Mem on card:    %d\n" % (self.mem)
        res=res+"HSync:          %d-%d\n" % (self.horizSyncMin,
                                             self.horizSyncMax)
        res=res+"VSync:          %d-%d\n" % (self.vertRefreshMin,
                                             self.vertRefreshMax)
        res=res+"Physical width: %d mm\n" % (self.physicalWidth)
        res=res+"Physical height: %d mm\n" % (self.physicalHeight)
        return res

    def setID(self,id):
        self.id=id

    def setHorizSyncRange(self,min,max):
        self.horizSyncMin=min
        self.horizSyncMax=max

    def setVertRefreshRange(self,min,max):
        self.vertRefreshMin=min
        self.vertRefreshMax=max

    def setMem(self,mem):
        self.mem=mem

    def setPhysicalWidth(self, width):
        self.physicalWidth = width
    
    def setPhysicalHeight(self, height):
        self.physicalHeight = height
    
    def setModes(self,intdata):
        self.modes=[]

        # This is of the format xyxyxy....
        for i in range(0,len(intdata),2):
            modes.append((intdata[i],intdata[i+1]))

class usbDevice(device):

    def __init__(self,deviceclass,bus):
        device.__init__(self,deviceclass,bus)
        self.usbclass=""
        self.usbsubclass=""
        self.usbprotocol=""

    def __init__(self,table):
        device.__init__(self,table)
        self.usbclass=table["usbclass"]
        self.usbsubclass=table["usbsubclass"]
        self.usbprotocol=table["usbprotocol"]
        self.usbbus=table["usbbus"]
        self.usblevel=table["usblevel"]
        self.usbport=table["usbport"]
        self.vendorId=table["vendorid"]
        self.deviceId=table["deviceid"]
        self.usbmfr=table["usbmfr"]        
        self.usbprod=table["usbprod"]        
        

    def setUsbClass(self,usbclass):
        self.usbclass=usbclass

    def setUsbSubClass(self,usbclass):
        self.usbsubclass=usbclass

    def setUsbProtocol(self,protocol):
        self.usbprotocol=protocol


# Call the probefunction and return an array of
# objects with device information

def probe(devclass,bus,mode):
    res=_kudzu.probe(devclass,bus,mode)
    res2=[]
    for i in range(0,len(res)):
        dev=res[i]
        bus=dev["bus"]
        if(bus==BUS_PCI):
            res2.append(pciDevice(dev))
        elif(bus==BUS_SBUS):
            res2.append(sbusDevice(dev))
        elif(bus==BUS_PSAUX):
            res2.append(psauxDevice(dev))
        elif(bus==BUS_SERIAL):
            res2.append(serialDevice(dev))
        elif(bus==BUS_PARALLEL):
            res2.append(parallellDevice(dev))
        elif(bus==BUS_SCSI):
            res2.append(scsiDevice(dev))
        elif(bus==BUS_IDE):
            res2.append(ideDevice(dev))
        elif(bus==BUS_KEYBOARD):
            res2.append(keyboardDevice(dev))
        elif(bus==BUS_DDC):
            res2.append(ddcDevice(dev))
        elif(bus==BUS_USB):
            res2.append(usbDevice(dev))
    elif(bus==BUS_PCMCIA):
        res2.append(pcmciaDevice(dev))
        else:
            res2.append(device(dev))

    return res2

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