!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/mount/   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:     edit_mount.cgi (4.11 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# edit_mount.cgi
# Display a form for editing or creating a permanent or temporary mounting.

require './mount-lib.pl';
&error_setup($text{'edit_err'});
&ReadParse();
if (defined($in{index})) {
    if ($in{temp}) {
        # Edit a temporary mount, existing only in the mnttab
        @mlist = &list_mounted();
        @minfo = @{$mlist[$in{index}]};
        $mnow = 1; $msave = 0;
        }
    else {
        # Edit a permanent mount, which may or may not be currently
        # mounted.
        @mlist = &list_mounts();
        @minfo = @{$mlist[$in{index}]};
        $msave = 1; $mnow = (&get_mounted($minfo[0], $minfo[1]) >= 0);
        }
    if ($in{index} >= @mlist) {
        &error($text{'edit_egone'});
        }
    &can_edit_fs(@minfo) && !$access{'only'} ||
        &error($text{'edit_ecannot'});
    $type = $minfo[2];
    &ui_print_header(undef, $text{'edit_title'}, "");
    $newm = 0;
    }
else {
    # creating a new mount (temporary or permanent)
    $type = $in{type};
    &ui_print_header(undef, $text{'create_title'}, "");
    $newm = 1;
    }
@mmodes = &mount_modes($type);
$msave = ($mmodes[0]==0 ? 0 : $msave);
$mnow = ($mmodes[1]==0 ? $msave : $mnow);

# Start of the form
print &ui_form_start("save_mount.cgi", "post");
print &ui_hidden("return", $in{'return'});
if (!$newm) {
    print &ui_hidden("old", $in{'index'});
    print &ui_hidden("temp", $in{'temp'});
    print &ui_hidden("oldmnow", $mnow);
    print &ui_hidden("oldmsave", $msave);
    }
print &ui_hidden("type", $type);
print &ui_table_start(&text('edit_header', &fstype_name($type)),
              "width=100%", 2, [ "width=20%" ]);

# Mount point
if ($type eq "swap") {
    $mfield = "<i>$text{'edit_swap'}</i>";
    }
else {
    local $dir = $minfo[0] || $in{'newdir'};
    if (@access_fs == 1) {
        # Make relative to first allowed dir
        $dir =~ s/^$access_fs[0]\///;
        }
    $mfield = &ui_textbox("directory", $dir, 40);
    if ($access{'browse'}) {
        $mfield .= " ".&file_chooser_button("directory", 1);
        }
    }
print &ui_table_row(&hlink($text{'edit_dir'}, "edit_dir"),
            $mfield);

# Total and free space
if (!$newm) {
    ($size,$free) = &disk_space($type, $minfo[0]);
    if ($size) {
        print &ui_table_row($text{'edit_usage'},
            "<b>$text{'edit_size'}</b> ".
            &nice_size($size*1024)." ".
            "<b>$text{'edit_free'}</b> ".
            &nice_size($free*1024));
        }
    }

# Show save mount options
if ($mmodes[0] != 0) {
    @opts = ( [ 2, $text{'edit_boot'} ] );
    if ($mmodes[0] != 1) {
        push(@opts, [ 1, $text{'edit_save'} ]);
        }
    if (!$newm && $mmodes[1] == 0) {
        push(@opts, [ 0, $text{'edit_delete'} ]);
        }
    else {
        push(@opts, [ 0, $text{'edit_dont'} ]);
        }
    print &ui_table_row($text{'edit_savemount'},
        &ui_radio("msave", $minfo[5] eq "yes" || $newm ? 2 :
                   $minfo[5] eq "no" ? 1 :
                   $minfo[5] eq "" && !$newm ? 0 : undef,
              \@opts));
    }

# Show mount now options
if ($mmodes[1] == 1 && ($mmodes[3] == 0 || !$mnow)) {
    print &ui_table_row($text{'edit_now'},
        &ui_radio("mmount", $mnow || $newm ? 1 : 0,
              [ [ 1, $text{'edit_mount'} ],
                [ 0, $mmodes[0] == 0 ? $text{'edit_delete'} :
                 $newm ? $text{'edit_dont2'} :
                     $text{'edit_unmount'} ] ]));
    }

# Show fsck order options
if ($mmodes[2]) {
    $second = $minfo[4] > 1 ? $minfo[4] : 2;
    print &ui_table_row($text{'edit_order'},
        &ui_radio("order", $newm || $minfo[4] == 0 ? 0 :
                   $minfo[4] == 1 ? 1 :
                   $second,
              [ [ 0, $text{'no'} ],
                [ 1, $text{'edit_first'} ],
                [ $second, $text{'edit_second'} ] ]));
    }

# Show filesystem-specific mount source
&generate_location($type, $minfo[1] || $in{'newdev'});
print &ui_table_end();

if (!defined($access{'opts'}) || $access{'opts'} =~ /$type/) {
    # generate mount options
    print &ui_table_start($text{'edit_adv'}, "width=100%", 4,
                  [ "width=20%" ]);
    &parse_options($type, $minfo[3]);
    &generate_options($type, $newm);
    print &ui_table_end();
    }

# Save and other buttons
if ($newm) {
    print &ui_form_end([ [ undef, $text{'create'} ] ]);
    }
elsif ($mnow && $minfo[2] ne "swap") {
    &foreign_require("proc");
    print &ui_hidden("lsoffs", $minfo[0]);
    print &ui_form_end([ [ undef, $text{'save'} ],
                 $proc::has_fuser_command ?
                ( [ 'lsof', $text{'edit_list'} ] ) : ( ) ]);
    }
else {
    print &ui_form_end([ [ undef, $text{'save'} ] ]);
    }

&ui_print_footer($in{'return'}, $text{'index_return'});


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