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


Viewing file:     mod_log_config.pl (4.49 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# mod_log_config.pl
# Defines editors for logging

sub mod_log_config_directives
{
$rv = [ [ 'LogFormat', 1, 3, 'virtual', 1.2 ],
        [ 'TransferLog CustomLog', 1, 3, 'virtual', 1.2 ] ];
return &make_directives($rv, $_[0], "mod_log_config");
}

sub edit_LogFormat
{
if ($_[1]->{'version'} >= 1.3) {
    local($i, $v, $deffmt, @nick, @fmt, $rv);
    for($i=0; $_[0]->[$i]; $i++) {
        $vv = $_[0]->[$i]->{'words'};
        if ($vv->[1]) {
            push(@nick, $vv->[1]); push(@fmt, $vv->[0]);
            }
        else { $deffmt = $vv->[0]; }
        }
    $rv = &opt_input($deffmt, "LogFormat", "$text{'mod_log_config_common'}", 20);
    $rv .= "<br><b>$text{'mod_log_config_named'}</b><br>\n";
    $rv .= "<table border>\n".
           "<tr $tb> <td><b>$text{'mod_log_config_nick'}</b></td> <td><b>$text{'mod_log_config_format'}</b></td> </tr>\n";
    for($i=0; $i<=@nick; $i++) {
        $rv .= "<tr $cb> <td><input name=LogFormat_nick_$i size=10 ".
               "value=\"$nick[$i]\"></td>\n";
        $rv .= "<td><input name=LogFormat_fmt_$i size=40 ".
               "value='$fmt[$i]'></td> </tr>\n";
        }
    $rv .= "</table>\n";
    return (2, "$text{'mod_log_config_deflog'}", $rv);
    }
else {
    return (1, "$text{'mod_log_config_deflog'}",
        &opt_input($_[0]->[0]->{'words'}->[0],
               "LogFormat", "$text{'mod_log_config_default'}", 25));
    }
}
sub save_LogFormat
{
$in{'LogFormat'} =~ s/\"/\\\"/g;
if ($_[0]->{'version'} >= 1.3) {
    local(@rv, $i, $nick, $fmt);
    if (!$in{'LogFormat_def'}) { push(@rv, "\"$in{'LogFormat'}\""); }
    for($i=0; defined($in{"LogFormat_nick_$i"}); $i++) {
        $nick = $in{"LogFormat_nick_$i"}; $fmt =$in{"LogFormat_fmt_$i"};
        $fmt =~ s/\"/\\\"/g;
        if ($nick !~ /\S/ && $fmt !~ /\S/) { next; }
        $nick =~ /^\S+$/ || &error(&text('mod_log_config_enick', $nick));
        push(@rv, "\"$fmt\" $nick");
        }
    return ( \@rv );
    }
else {
    if ($in{'LogFormat_def'}) { return ( [ ] ); }
    elsif ($in{'LogFormat'} =~ /^\S+$/) { return ( [ $in{'LogFormat'} ] ); }
    else { return ( [ "\"$in{'LogFormat'}\"" ] ); }
    }
}

sub edit_TransferLog_CustomLog
{
local($rv, @all, $d, $i, $format, $dest);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_log_config_format'}</b></td> <td><b>$text{'mod_log_config_write'}</b></td> ".
      "<td><b>$text{'mod_log_config_filprog'}</b></td> ";
if ($_[2]->{'version'} >= 1.305) {
    $rv .= "<td><b>$text{'mod_log_config_ifset'}</b></td> ";
    }
$rv .= "</tr>\n";
@all = (@{$_[0]}, @{$_[1]});
for($i=0; $i<=@all; $i++) {
    $d = $all[$i];
    if (!$d) { $format = ""; $dest = ""; }
    elsif ($d->{'name'} eq "CustomLog") {
        $format = $d->{'words'}->[1];
        $dest = $d->{'words'}->[0];
        }
    else {
        $format = "";
        $dest = $d->{'words'}->[0];
        }
    $rv .= "<tr $cb>\n";
    $rv .= "<td><input type=radio name=Log_def_$i value=1 ".
              ($format ? "" : "checked")."> $text{'mod_log_config_default'}&nbsp;\n";
    $rv .= "<input type=radio name=Log_def_$i value=0 ".
           ($format ? "checked" : "")."> <input name=Log_cust_$i size=15 ".
           "value='$format'></td>\n";

    $rv .= "<td><input type=radio name=Log_prog_$i value=0 ".
           ($dest =~ /^\|/ ? "" : "checked")."> $text{'mod_log_config_file'}&nbsp;\n";
    $rv .= "<input type=radio name=Log_prog_$i value=1 ".
           ($dest =~ /^\|/ ? "checked" : "")."> $text{'mod_log_config_program'}</td>\n";

    $dest =~ s/^\|//g;
    $rv .= "<td><input name=Log_dest_$i size=30 value=\"".
           &html_escape($dest)."\"></td>\n";
    if ($_[2]->{'version'} >= 1.305) {
        local $ev = $d->{'words'}->[2] =~ /^env=(.*)$/ ? $1 : "";
        $rv .= "<td><input name=Log_env_$i size=8 value=\"$ev\"></td>";
        }
    $rv .= "</tr>\n";
    }
$rv .= "</table>\n";
return (2, "$text{'mod_log_config_log'}", $rv);
}
sub save_TransferLog_CustomLog
{
local($i, $def, $cust, $prog, $dest, $fileprog, @tl, @cl);
for($i=0; defined($in{"Log_dest_$i"}); $i++) {
    $def = $in{"Log_def_$i"}; $cust = $in{"Log_cust_$i"};
    $prog = $in{"Log_prog_$i"}; $dest = $in{"Log_dest_$i"};
    $env = $in{"Log_env_$i"};
    $cust =~ s/\"/\\\"/g;
    if ($cust !~ /\S/ && $dest !~ /\S/) { next; }
    if (!$def && $cust !~ /\S/) { &error(&text('mod_log_config_eformat', $dest)); }
    if ($dest !~ /\S/) { &error($text{'mod_log_config_enofilprog'}); }
    &allowed_auth_file($dest) ||
        &error(&text('mod_log_config_efilprog', $dest));
    $prog || &directory_exists($dest) ||
        &error(&text('mod_log_config_edir', $dest));

    $fileprog = !$prog ? $dest :
             $dest =~ /^\S+$/ ? "|$dest" : "\"|$dest\"";
    if ($def) {
        if ($env) { &error($text{'mod_log_config_eifset'}); }
        push(@tl, "$fileprog");
        }
    else {
        if ($env) { push(@cl, "$fileprog \"$cust\" env=$env"); }
        else { push(@cl, "$fileprog \"$cust\""); }
        }
    }
return ( \@tl, \@cl );
}

1;


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