Fiz um parser de parametros CGI para bash:
parse_cgi_params(){
# Validate CGI query format
PARAMSTR=$1
export CGI_PARAM_STR=$PARAMSTR
while ! [ -z $PARAMSTR ]; do
[[ $PARAMSTR =~ "^&?([0-9a-zA-Z_]+)=?([0-9a-zA-Z._]*)" ]]
PAIR=${BASH_REMATCH[0]}
KEY=${BASH_REMATCH[1]}
VALUE=${BASH_REMATCH[2]}
PLENGTH=${#PAIR}
PARAMSTR=${PARAMSTR:$PLENGTH}
[ -z $PAIR ] && PARAMSTR=""
export CGI_PARAM_${KEY}="$VALUE"
done
}
Alguma vulnerabilidade óbvia?
