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


Viewing file:     mod_ls.pl (4.4 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# mod_ls.pl

sub mod_ls_directives
{
local $rv = [
    [ 'DirFakeUser', 0, 2, 'virtual anon global', 1.15 ],
    [ 'DirFakeGroup', 0, 2, 'virtual anon global', 1.15 ],
    [ 'DirFakeMode', 0, 2, 'virtual anon global', 1.16 ],
    [ 'LsDefaultOptions', 0, 2, 'virtual anon global', 1.16 ],
    [ 'ListOptions', 0, 2, 'virtual anon global directory ftpaccess', 1.208 ],
    [ 'ShowDotFiles', 0, 2, 'virtual anon global', '0.99-1.206' ],
    ];
return &make_directives($rv, $_[0], "mod_ls");
}

sub edit_DirFakeGroup
{
local $rv;
local $w = $_[0]->{'words'}->[0];
$rv .= sprintf "<input type=radio name=DirFakeGroup value=off %s> %s\n",
    lc($w) eq 'off' ? "checked" : "", $text{'no'};
$rv .= sprintf "<input type=radio name=DirFakeGroup value='' %s> %s\n",
    lc($w) ? "" : "checked", $text{'default'};
$rv .= sprintf "<input type=radio name=DirFakeGroup value=on %s> %s\n",
    lc($w) eq 'on' ? "checked" : "", $text{'mod_ls_fakeasgroup'};

$rv .= "<table border cellpadding=0 cellspacing=0><tr><td>";
local $a = $_[0]->{'words'}->[1];
$rv .= sprintf "<input type=radio name=DirFakeGroup_m value=0 %s> %s\n",
    $a ? "" : "checked", "<tt>ftp</tt>";
$rv .= sprintf "<input type=radio name=DirFakeGroup_m value=1 %s> %s\n",
    $a eq "~" ? "checked" : "", $text{'mod_ls_fakesamegroup'};
$rv .= sprintf "<input type=radio name=DirFakeGroup_m value=2 %s>\n",
    $a eq "~" || !$a ? "" : "checked";
$rv .= sprintf "<input name=DirFakeGroup_a size=12 value='%s'>\n",
    $a eq "~" ? "" : $a;
$rv .= "</td></tr></table>\n";

return (2, $text{'mod_ls_fakegroup'}, $rv);
}
sub save_DirFakeGroup
{
if (!$in{'DirFakeGroup'}) {
    return ( [ ] );
    }
else {
    local $s = $in{'DirFakeGroup'};
    if ($in{'DirFakeGroup_m'} == 1) {
        $s .= " ~";
        }
    elsif ($in{'DirFakeGroup_m'} == 2) {
        $in{'DirFakeGroup_a'} =~ /^\S+$/ ||
            &error($text{'mod_ls_efakegroup'});
        $s .= " ".$in{'DirFakeGroup_a'};
        }
    return ( [ $s ] );
    }
}

sub edit_DirFakeUser
{
local $rv;
local $w = $_[0]->{'words'}->[0];
$rv .= sprintf "<input type=radio name=DirFakeUser value=off %s> %s\n",
    lc($w) eq 'off' ? "checked" : "", $text{'no'};
$rv .= sprintf "<input type=radio name=DirFakeUser value='' %s> %s\n",
    lc($w) ? "" : "checked", $text{'default'};
$rv .= sprintf "<input type=radio name=DirFakeUser value=on %s> %s\n",
    lc($w) eq 'on' ? "checked" : "", $text{'mod_ls_fakeasuser'};

$rv .= "<table border cellpadding=0 cellspacing=0><tr><td>";
local $a = $_[0]->{'words'}->[1];
$rv .= sprintf "<input type=radio name=DirFakeUser_m value=0 %s> %s\n",
    $a ? "" : "checked", "<tt>ftp</tt>";
$rv .= sprintf "<input type=radio name=DirFakeUser_m value=1 %s> %s\n",
    $a eq "~" ? "checked" : "", $text{'mod_ls_fakesameuser'};
$rv .= sprintf "<input type=radio name=DirFakeUser_m value=2 %s>\n",
    $a eq "~" || !$a ? "" : "checked";
$rv .= sprintf "<input name=DirFakeUser_a size=12 value='%s'>\n",
    $a eq "~" ? "" : $a;
$rv .= "</td></tr></table>\n";

return (2, $text{'mod_ls_fakeuser'}, $rv);
}
sub save_DirFakeUser
{
if (!$in{'DirFakeUser'}) {
    return ( [ ] );
    }
else {
    local $s = $in{'DirFakeUser'};
    if ($in{'DirFakeUser_m'} == 1) {
        $s .= " ~";
        }
    elsif ($in{'DirFakeUser_m'} == 2) {
        $in{'DirFakeUser_a'} =~ /^\S+$/ ||
            &error($text{'mod_ls_efakeuser'});
        $s .= " ".$in{'DirFakeUser_a'};
        }
    return ( [ $s ] );
    }
}

sub edit_DirFakeMode
{
return (1, $text{'mod_ls_fakemode'},
    &opt_input($_[0]->{'value'}, "DirFakeMode", $text{'mod_ls_nofake'}, 5));
}
sub save_DirFakeMode
{
return &parse_opt("DirFakeMode", '0[0-7]{3}', $text{'mod_ls_efakemode'});
}

sub edit_LsDefaultOptions
{
return (1, $text{'mod_ls_ls'},
    &opt_input($_[0]->{'value'}, "LsDefaultOptions", $text{'default'}, 20));
}
sub save_LsDefaultOptions
{
return &parse_opt("LsDefaultOptions", '\S', $text{'mod_ls_els'});
}

sub edit_ShowDotFiles
{
return (1, $text{'mod_ls_dotfiles'},
    &choice_input($_[0]->{'value'}, "ShowDotFiles", "",
              "$text{'yes'},on", "$text{'no'},off",
              "$text{'default'},"));
}
sub save_ShowDotFiles
{
return &parse_choice("ShowDotFiles", "");
}

sub edit_ListOptions
{
local $rv = &opt_input($_[0]->{'words'}->[0], "ListOptions",
               $text{'default'}, 20);
$rv .= sprintf "<input type=checkbox name=ListOptions_strict value=1 %s> %s\n",
        lc($_[0]->{'words'}->[1]) eq 'strict' ? "checked" : "",
        $text{'mod_ls_strict'};
return (2, $text{'mod_ls_options'}, $rv);
}
sub save_ListOptions
{
if ($in{"ListOptions_def"}) {
    return ( [ ] );
    }
else {
    local $rv = '"'.$in{"ListOptions"}.'"';
    $rv .= " strict" if ($in{'ListOptions_strict'});
    return ( [ $rv ] );
    }
}



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