!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)

/var/www/html/phpMyAdmin/scripts/   drwxr-xr-x
Free 50.99 GB of 127.8 GB (39.9%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     upgrade.pl (4.88 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
#
# $Id: upgrade.pl,v 1.7 2006/01/17 17:03:02 cybot_tm Exp $
#
# upgrade.pl - automatic phpmyadmin upgrader
#
#
# 2005-05-08, swix@users.sourceforge.net:
# - created script
#
# 2005-10-29  swix@users.sourceforge.net:
# - some fixes & improvements
#

use strict;
my $source_url = "http://phpmyadmin.net/home_page/version.php";


#
# usage
#

if (!$ARGV[0] || (($ARGV[0] eq "--force") && !$ARGV[1])) {
    print "\n";
    print "usage: $0 [--force] <target_directory>\n\n";
    print "  The location specified by <target_directory> will be backed up and replaced\n";
    print "  by the latest stable version of phpMyAdmin.\n";
    print "  Your config.inc.php file will be preserved.\n\n";
    exit(0);
}

my $forced;
my $targetdirectory;

if ($ARGV[0] eq "--force") {
    $forced = 1;
    $targetdirectory = $ARGV[1];
} else {
    $forced = 0;
    $targetdirectory = $ARGV[0];
}

if ($targetdirectory =~ /^(.*)\/$/) {
    # remove trailing slash, if any
    $targetdirectory = $1;
}

if (!-d $targetdirectory) {
    print "error: target directory ($targetdirectory) does not exists\n";
    exit(0);
}

if (!-f "$targetdirectory/config.inc.php") {
    print "error: target directory doesn't seem to contain phpMyAdmin\n";
    exit(0);
}


#
# get current release information
#

my $version;
my $filename;
my $directory;
my $releasedate;
my @urls;
my @today;
my $installedversion;

if (open(LATEST, "wget -o /dev/null -O - $source_url|")) {

    $version = <LATEST>; chomp($version);
    $releasedate = <LATEST>; chomp($releasedate);
    $filename = "phpMyAdmin-" . $version . ".tar.gz";
    $directory = "phpMyAdmin-" . $version;

    my $i = 0;

    while (my $line = <LATEST>) {
        chomp($line);
        if ($line =~ /http/) {
            $urls[$i++] = $line;
        }
    }

    close(LATEST);

} else {

    print "error: open of $source_url failed.\n";
    exit(0);

}


if (-d $directory) {
    print "error: target directory ($directory) already exists, exiting\n";
    exit(0);
}

#
# check the installed version
#

if (open(DEFINES, $targetdirectory .'/libraries/Config.class.php')) {
    my $versionStatus = 0;
    $installedversion = "unknownversion";

    while (my $line = <DEFINES>) {

        next unless $line =~ /'PMA_VERSION',\ '(.*)?'\);$/;
        $installedversion = $1;

        # take care of "pl", "rc" and "dev": dev < rc < pl

        my $converted_installedversion = $installedversion;
        $converted_installedversion =~ s/dev/aaa/g;
        $converted_installedversion =~ s/rc/bbb/g;
        $converted_installedversion =~ s/pl/ccc/g;

        my $converted_version = $version;
        $converted_version =~ s/dev/aaa/g;
        $converted_version =~ s/rc/bbb/g;
        $converted_version =~ s/pl/ccc/g;

        if ($converted_installedversion gt $converted_version && !$forced) {
            print "Local version ($installedversion) newer than latest stable release ($version), not updating.  (use \"--force\")\n";
            exit(0);

        } elsif ($installedversion eq $version && !$forced) {
            print "Local version ($version) already up to date, not updating  (you can use \"--force\")\n";
            exit(0);

        } else {
            $versionStatus = 1;
        }
    }
    if (!$versionStatus && !$forced) {
        print "Old version could not be identified, not updating  (use \"--force\" if you are sure) \n";
        exit(0);
    }
}

#
# ask for confirmation
#

print "\n";
print "phpMyAdmin upgrade summary:\n";
print "---------------------------\n";
print "     phpMyAdmin Path: $targetdirectory\n";
print "   Installed version: $installedversion\n";
print "    Upgraded version: $version\n\n";
print "Proceed with upgrade?  [Y/n] ";
my $kbdinput = <STDIN>; chomp($kbdinput);
if (lc(substr($kbdinput,0,1)) ne "y" && length($kbdinput) >= 1) {
    print "Aborting.\n";
    exit(0);
} else {
    print "Proceeding...\n\n";
}


#
# get file
#

if (!-f $filename) {

    print "getting phpMyAdmin $version\n";
    foreach my $url (@urls) {

        print "trying $url...\n";
        system("wget -o /dev/null $url");
        if (-f $filename) {
            print "-> ok\n";
            last;
        }
    }
} else {
    print "already got $filename, not downloading\n";
}


if (!-f $filename) {
    print "error: $filename download failed\n";
    exit(0);
}



#
# setup
#

print "installing...\n";

system("tar xzf $filename");
if (!$directory) {
    print "error: $directory still not exists after untar...\n";
    exit(0);
}

@today = localtime(time); $today[4]++; $today[5]+=1900;
my $timestamp = sprintf("%04d%02d%02d%02d%02d", $today[5], $today[4], $today[3], $today[2], $today[1]);

my $backupdir = $targetdirectory . "-" . $timestamp . "-" . $installedversion;
print "- backup directory: $backupdir\n";

system("cp $directory/config.inc.php $directory/config.inc-dist.php");
print "- original distribution config.inc.php renamed to config.inc-dist.php\n";

system("cp $targetdirectory/config.inc.php $directory/config.inc.php");
print "- previous config.inc.php copied to the new setup\n";

system("mv $targetdirectory $backupdir");
system("mv $directory $targetdirectory");
system("rm $filename");

print "\ndone!  phpMyAdmin $version installed in $targetdirectory\n";
print "backup of your old installation in $backupdir\n";
print "Enjoy! :-)\n\n";

:: 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 ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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