diff --git a/lib/core/settings.py b/lib/core/settings.py index 1c72b5db9..727ecb022 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.6.11.2" +VERSION = "1.6.11.3" 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) diff --git a/lib/request/basic.py b/lib/request/basic.py index 7d06009e9..ae3bc2353 100644 --- a/lib/request/basic.py +++ b/lib/request/basic.py @@ -275,6 +275,8 @@ def decodePage(page, contentEncoding, contentType, percentDecode=True): >>> getText(decodePage(b"foo&bar", None, "text/html; charset=utf-8")) 'foo&bar' + >>> getText(decodePage(b" ", None, "text/html; charset=utf-8")) + '\\t' """ if not page or (conf.nullConnection and len(page) < 2): @@ -339,7 +341,7 @@ def decodePage(page, contentEncoding, contentType, percentDecode=True): if not kb.disableHtmlDecoding: # e.g. Ãëàâà if b"&#" in page: - page = re.sub(b"&#x([0-9a-f]{1,2});", lambda _: decodeHex(_.group(1) if len(_.group(1)) == 2 else "0%s" % _.group(1)), page) + page = re.sub(b"&#x([0-9a-f]{1,2});", lambda _: decodeHex(_.group(1) if len(_.group(1)) == 2 else b"0%s" % _.group(1)), page) page = re.sub(b"&#(\\d{1,3});", lambda _: six.int2byte(int(_.group(1))) if int(_.group(1)) < 256 else _.group(0), page) # e.g. %20%28%29