diff --git a/lib/core/common.py b/lib/core/common.py index 4567b10a1..cd64c5694 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -3900,9 +3900,18 @@ def normalizeUnicode(value): >>> normalizeUnicode(u'\u0161u\u0107uraj') == u'sucuraj' True + >>> normalizeUnicode(getUnicode(codecs.decode("666f6f00626172", "hex"))) == u'foobar' + True """ - return getUnicode(unicodedata.normalize("NFKD", value).encode("ascii", "ignore")) if isinstance(value, six.text_type) else value + retVal = value + + if isinstance(value, six.text_type): + charset = string.printable[:string.printable.find(' ') + 1] + retVal = unicodedata.normalize("NFKD", value) + retVal = "".join(_ for _ in retVal if _ in charset) + + return retVal def safeSQLIdentificatorNaming(name, isTable=False): """ diff --git a/lib/core/settings.py b/lib/core/settings.py index 0c65a3e99..b2b69afa2 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -18,7 +18,7 @@ from lib.core.enums import OS from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.3.5.97" +VERSION = "1.3.5.98" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)