From 12afb9b8ac0fb90009a4063632dc24e20500ea23 Mon Sep 17 00:00:00 2001 From: Dominika Liberda Date: Thu, 24 Dec 2020 05:12:58 +0100 Subject: [PATCH] fixed improper whitespace handling in GET/POST params --- src/server.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/server.sh b/src/server.sh index 4ccb081..9dcac5d 100755 --- a/src/server.sh +++ b/src/server.sh @@ -64,7 +64,9 @@ while read param; do r[url]="$(echo -ne "$(echo -n $param | sed -E 's/GET //;s/HTTP\/[0-9]+\.[0-9]+//;s/ //g;s/\%/\\x/g;s/\/*\r//g;s/\/\/*/\//g')")" data="$(echo ${r[url]} | sed -E 's/^(.*)\?//;s/\&/ /g')" if [[ "$data" != "${r[url]}" ]]; then + data="$(echo ${r[url]} | sed -E 's/^(.*)\?//')" declare -A get_data + IFS='&' for i in $data; do name="$(echo $i | sed -E 's/\=(.*)$//')" value="$(echo $i | sed "s/$name\=//")" @@ -78,7 +80,9 @@ while read param; do # below shamelessly copied from GET, should be moved to a function data="$(echo ${r[url]} | sed -E 's/^(.*)\?//;s/\&/ /g')" if [[ "$data" != "${r[url]}" ]]; then + data="$(echo ${r[url]} | sed -E 's/^(.*)\?//')" declare -A post_data + IFS='&' for i in $data; do name="$(echo $i | sed -E 's/\=(.*)$//')" value="$(echo $i | sed "s/$name\=//")"