3232from lib .core .common import paramToDict
3333from lib .core .common import parseTargetUrl
3434from lib .core .common import readInput
35+ from lib .core .convert import urldecode
3536from lib .core .data import conf
3637from lib .core .data import kb
3738from lib .core .data import logger
@@ -66,17 +67,19 @@ def __setRequestParams():
6667 raise sqlmapSyntaxException , errMsg
6768
6869 if conf .data :
69- conf .parameters ["POST" ] = conf .data .replace ("%" , "%%" )
70- __paramDict = paramToDict ("POST" , conf .data )
70+ urlDecodedData = urldecode (conf .data ).replace ("%" , "%%" )
71+ conf .parameters ["POST" ] = urlDecodedData
72+ __paramDict = paramToDict ("POST" , urlDecodedData )
7173
7274 if __paramDict :
7375 conf .paramDict ["POST" ] = __paramDict
7476 __testableParameters = True
7577
7678 # Perform checks on Cookie parameters
7779 if conf .cookie :
78- conf .parameters ["Cookie" ] = conf .cookie .replace ("%" , "%%" )
79- __paramDict = paramToDict ("Cookie" , conf .cookie )
80+ urlDecodedCookie = urldecode (conf .cookie ).replace ("%" , "%%" )
81+ conf .parameters ["Cookie" ] = urlDecodedCookie
82+ __paramDict = paramToDict ("Cookie" , urlDecodedCookie )
8083
8184 if __paramDict :
8285 conf .paramDict ["Cookie" ] = __paramDict
@@ -86,7 +89,7 @@ def __setRequestParams():
8689 if conf .httpHeaders :
8790 for httpHeader , headerValue in conf .httpHeaders :
8891 if httpHeader == "User-Agent" :
89- conf .parameters ["User-Agent" ] = headerValue .replace ("%" , "%%" )
92+ conf .parameters ["User-Agent" ] = urldecode ( headerValue ) .replace ("%" , "%%" )
9093
9194 condition = not conf .testParameter
9295 condition |= "User-Agent" in conf .testParameter
0 commit comments