Skip to content

Commit

Permalink
Fixes #5536
Browse files Browse the repository at this point in the history
  • Loading branch information
stamparm committed Oct 6, 2023
1 parent e0ec2fc commit 1740f63
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from thirdparty.six import unichr as _unichr

# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.7.9.3"
VERSION = "1.7.10.0"
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)
Expand Down
2 changes: 1 addition & 1 deletion lib/request/connect.py
Original file line number Diff line number Diff line change
Expand Up @@ -641,7 +641,7 @@ class _(dict):
responseHeaders = conn.info()
responseHeaders[URI_HTTP_HEADER] = conn.geturl() if hasattr(conn, "geturl") else url

if hasattr(conn, "redurl"):
if getattr(conn, "redurl", None) is not None:
responseHeaders[HTTP_HEADER.LOCATION] = conn.redurl

responseHeaders = patchHeaders(responseHeaders)
Expand Down
12 changes: 10 additions & 2 deletions lib/request/redirecthandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"""

import io
import re
import time
import types

Expand Down Expand Up @@ -71,6 +72,7 @@ def _redirect_request(self, req, fp, code, msg, headers, newurl):
def http_error_302(self, req, fp, code, msg, headers):
start = time.time()
content = None
forceRedirect = False
redurl = self._get_header_redirect(headers) if not conf.ignoreRedirects else None

try:
Expand Down Expand Up @@ -111,12 +113,18 @@ def http_error_302(self, req, fp, code, msg, headers):
redurl = _urllib.parse.urljoin(req.get_full_url(), redurl)

self._infinite_loop_check(req)
self._ask_redirect_choice(code, redurl, req.get_method())
if conf.scope:
if not re.search(conf.scope, redurl, re.I):
redurl = None
else:
forceRedirect = True
else:
self._ask_redirect_choice(code, redurl, req.get_method())
except ValueError:
redurl = None
result = fp

if redurl and kb.choices.redirect == REDIRECTION.YES:
if redurl and (kb.choices.redirect == REDIRECTION.YES or forceRedirect):
parseResponse(content, headers)

req.headers[HTTP_HEADER.HOST] = getHostHeader(redurl)
Expand Down

0 comments on commit 1740f63

Please sign in to comment.