!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/bin/   drwxr-xr-x
Free 3.87 GB of 27.03 GB (14.32%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     go-rhn.sh (2.82 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/bin/bash
# This is a script to run to get a system bootstrapped for rhn
#
# This script needs to run as root

# create /var/spool/up2date if it doesnt exist
# use that dir since it's root read only and will
# need to be around for up2date anyway. Avoid all
# the /tmp madness that way

SPOOLDIR=/var/spool/up2date
if [ ! -d $SPOOLDIR ] ; then
	mkdir -p $SPOOLDIR
fi

SCRIPT_URL="http://rhn.redhat.com/bootstrap/update-up2date.py"

# this is a root only dir, shouldnt need to worry about predictable filenames
# but we can add a mkstemp here if needbe
FILENAME="$SPOOLDIR/update-up2date.py"


# we need to fetch a file from the network, heres
# rundown of the methods available to us:
#


fetchFile_lynx() {
    echo "using lynx"
    URL="$1"
    filename="$2"
    if [ ! -f /usr/bin/lynx ] ; then
	return 1
    fi

    lynx -source $URL > $filename
    return $?
}

fetchFile_wget() {
   echo "attempting to use wget"
   if [ ! -f /usr/bin/wget ] ; then
	return 1
   fi
   URL="$1"
   filename="$2"
   wget -q $URL -O $filename
   return $?
}

fetchFile_curl() {
   echo "Attempting to use curl"
   if [ ! -f /usr/bin/curl ] ; then
	return 1
   fi
   URL="$1"
   filename="$2"
   curl -o $filename $URL
   return $?
}

# this is just twisted
# most of the code for this is actually from nalin, so blame him ;->
fetchFile_bash2() {
    #FIXME: find a way to tell if were bash1/bash2
# Break up the URL.
    URL="$1"
    filename="$2"
    tmphost=`echo "$URL" | (IFS=/ read scheme blank host get; echo ${host})`
    get=`echo "$URL" | (IFS=/ read scheme blank host get; echo ${get})`
    host=`echo "$tmphost" | (IFS=: read host port; echo ${host})`
    port=`echo "$tmphost" | (IFS=: read host port; echo ${port})`

    if [ "x$port" == "x" ] ; then
        port=80
    fi

    # Save a copy of the stdout stream, and then redirect stdio to the web.
    exec 3>&1
    exec < /dev/tcp/${host}/${port} >&0

    # Send the query.  We even support virtual hosting by sending a Host: header.
    echo GET /${get} HTTP/1.1
    echo User-Agent: bash ${BASH_VERSION}
    echo Host: ${host}
    echo ""

   # Print the results, switching from stderr to stdout when a blank CR-LF
   # is sent without anything else.
   
   > $filename
   file="/dev/null"
   while read line ; do
        if [ "$line" = 
 ] ; then
                file="$filename"
                continue
        fi
        echo "$line" >> $file
   done

   #umm, one minor detail is that I havent quite figured out how to
   #get stdout back yet
   return 0
}

fetchmethods="fetchFile_lynx fetchFile_wget fetchFile_curl fetchFile_bash2"
fetchFile() {
    URL="$1"
    filename="$2"
    for method in $fetchmethods 
    do 
	$method $URL $filename
	retval=$?
	if [ $retval -ne 1 ] ; then
	    break
	fi
   done
}	
   
fetchFile "$SCRIPT_URL" "$FILENAME"
exit_status=$?

# okay, now run the script
chmod a+x $FILENAME
exec $FILENAME

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0032 ]--