Skip to content

Commit a2fcab4

Browse files
committed
Fixes #5018
1 parent 0b775b6 commit a2fcab4

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

lib/core/compat.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,27 @@ def whseed(self, a=None):
167167

168168
def patchHeaders(headers):
169169
if headers is not None and not hasattr(headers, "headers"):
170+
if isinstance(headers, dict):
171+
class _(dict):
172+
def __getitem__(self, key):
173+
for key_ in self:
174+
if key_.lower() == key.lower():
175+
return super(_, self).__getitem__(key_)
176+
177+
raise KeyError(key)
178+
179+
def get(self, key, default=None):
180+
try:
181+
return self[key]
182+
except KeyError:
183+
return default
184+
185+
headers = _(headers)
186+
170187
headers.headers = ["%s: %s\r\n" % (header, headers[header]) for header in headers]
171188

189+
return headers
190+
172191
def cmp(a, b):
173192
"""
174193
>>> cmp("a", "b")

lib/core/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from thirdparty.six import unichr as _unichr
2121

2222
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
23-
VERSION = "1.6.3.5"
23+
VERSION = "1.6.3.6"
2424
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
2525
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
2626
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

lib/request/connect.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ class _(dict):
642642
if hasattr(conn, "redurl"):
643643
responseHeaders[HTTP_HEADER.LOCATION] = conn.redurl
644644

645-
patchHeaders(responseHeaders)
645+
responseHeaders = patchHeaders(responseHeaders)
646646
kb.serverHeader = responseHeaders.get(HTTP_HEADER.SERVER, kb.serverHeader)
647647
else:
648648
code = None
@@ -724,7 +724,7 @@ class _(dict):
724724
page = ex.read() if not skipRead else None
725725
responseHeaders = ex.info()
726726
responseHeaders[URI_HTTP_HEADER] = ex.geturl()
727-
patchHeaders(responseHeaders)
727+
responseHeaders = patchHeaders(responseHeaders)
728728
page = decodePage(page, responseHeaders.get(HTTP_HEADER.CONTENT_ENCODING), responseHeaders.get(HTTP_HEADER.CONTENT_TYPE), percentDecode=not crawling)
729729
except socket.timeout:
730730
warnMsg = "connection timed out while trying "
@@ -1535,7 +1535,7 @@ def _(value):
15351535
kb.permissionFlag = True
15361536
singleTimeWarnMessage("potential permission problems detected ('%s')" % message)
15371537

1538-
patchHeaders(headers)
1538+
headers = patchHeaders(headers)
15391539

15401540
if content or response:
15411541
return page, headers, code

0 commit comments

Comments
 (0)