!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/libexec/webmin/qmailadmin/   drwxr-xr-x
Free 49.58 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:     save_virt.cgi (1.64 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# save_virt.cgi
# Save or delete a new or existing virtual mapping

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'vsave_err'});

@virts = &list_virts();
$v = $virts[$in{'idx'}] if ($in{'idx'} ne '');

if ($in{'delete'}) {
    # delete some virt
    $logv = $v;
    &delete_virt($v);
    }
else {
    # saving or creating .. check inputs
    if ($in{'from_mode'} == 1) {
        $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
            &error(&text('vsave_edomain', $in{'domain'}));
        $newv{'domain'} = $in{'domain'};
        }
    elsif ($in{'from_mode'} == 2) {
        $in{'user'} =~ /^[^\@: ]+$/ ||
            &error(&text('vsave_euser', $in{'user'}));
        $in{'domain2'} =~ /^[A-Za-z0-9\.\-]+$/ ||
            &error(&text('vsave_edomain', $in{'domain2'}));
        $newv{'domain'} = $in{'domain2'};
        $newv{'user'} = $in{'user'};
        }
    if ($in{'prepend_mode'} == 1) {
        $in{'prepend'} =~ /^[^\@: ]+$/ ||
            &error(&text('vsave_eprepend', $in{'prepend'}));
        $newv{'prepend'} = $in{'prepend'};
        }
    elsif ($in{'prepend_mode'} == 0) {
        $in{'from_mode'} || &error($text{'vsave_eboth'});
        }
    elsif ($in{'prepend_mode'} == 2) {
        if ($in{'from_mode'} == 1) {
            $newv{'prepend'} = $in{'domain'};
            $newv{'prepend'} =~ s/\.(.*)$//;
            }
        elsif ($in{'from_mode'} == 2) {
            $newv{'prepend'} = $in{'domain2'};
            $newv{'prepend'} =~ s/\.(.*)$//;
            }
        else {
            $newv{'prepend'} = 'catchall';
            }
        }
    if ($in{'new'}) { &create_virt(\%newv); }
    else { &modify_virt($v, \%newv); }
    $logv = \%newv;
    }
&restart_qmail();
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
        "virt", $logv->{'user'} ? "$logv->{'user'}\@$logv->{'domain'}" :
            $logv->{'domain'}, $logv);
&redirect("list_virts.cgi");


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