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


Viewing file:     save_user.cgi (1.69 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# save_user.cgi
# Create, update or delete a password file user

require './htaccess-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});
@dirs = &list_directories();
($dir) = grep { $_->[0] eq $in{'dir'} } @dirs;
&can_access_dir($dir->[0]) || &error($text{'dir_ecannot'});
&lock_file($dir->[1]);

&switch_user();
$users = $dir->[2] == 3 ? &list_digest_users($dir->[1])
            : &list_users($dir->[1]);
if (!$in{'new'}) {
    $user = $users->[$in{'idx'}];
    $loguser = $user->{'user'};
    }
else {
    $loguser = $in{'htuser'};
    }

if ($in{'delete'}) {
    # Just delete this user
    &delete_user($user);
    }
else {
    # Validate inputs
    $in{'htuser'} || &error($text{'save_euser1'});
    $in{'htuser'} =~ /:/ && &error($text{'save_euser2'});
    if ($in{'new'} || $user->{'user'} ne $in{'htuser'}) {
        ($clash) = grep { $_->{'user'} eq $in{'htuser'} } @$users;
        $clash && &error($text{'save_eclash'});
        }
    !$in{'htpass_def'} && $in{'htpass'} =~ /:/ &&
        &error($text{'save_epass'});

    # Actually save
    $user->{'user'} = $in{'htuser'};
    if (!$in{'htpass_def'}) {
        if ($dir->[2] == 3) {
            $user->{'pass'} = &digest_password($in{'htuser'},
                    $in{'dom'}, $in{'htpass'});
            }
        else {
            $user->{'pass'} = &encrypt_password(
                    $in{'htpass'}, undef, $dir->[2]);
            }
        }
    $user->{'enabled'} = $in{'enabled'};
    if ($dir->[2] == 3) {
        $in{'dom'} =~ /^\S+$/ && $in{'dom'} !~ /:/ ||
            &error($text{'save_edom'});
        $user->{'dom'} = $in{'dom'};
        $user->{'digest'} = 1;
        }
    if ($in{'new'}) {
        &create_user($user, $dir->[1]);
        }
    else {
        &modify_user($user);
        }
    }
&switch_back();

&unlock_file($dir->[1]);
&webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "modify",
        "user", $loguser, $user);
&redirect("");


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