Merge branch 'master' of github.com:sqlmapproject/sqlmap

This commit is contained in:
Bernardo Damele 2012-07-17 00:25:08 +01:00
commit 7198e3185b
2 changed files with 14 additions and 10 deletions

View File

@ -3050,12 +3050,15 @@ def getHostHeader(url):
Returns proper Host header value for a given target URL
"""
retVal = urlparse.urlparse(url).netloc
retVal = url
if re.search("http(s)?://\[.+\]", url, re.I):
retVal = extractRegexResult("http(s)?://\[(?P<result>.+)\]", url)
elif any(retVal.endswith(':%d' % _) for _ in (80, 443)):
retVal = retVal.split(':')[0]
if url:
retVal = urlparse.urlparse(url).netloc
if re.search("http(s)?://\[.+\]", url, re.I):
retVal = extractRegexResult("http(s)?://\[(?P<result>.+)\]", url)
elif any(retVal.endswith(':%d' % _) for _ in (80, 443)):
retVal = retVal.split(':')[0]
return retVal

View File

@ -75,11 +75,12 @@ class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
content = None
redurl = self._get_header_redirect(headers)
if not urlparse.urlsplit(redurl).netloc:
redurl = urlparse.urljoin(req.get_full_url(), redurl)
if redurl:
if not urlparse.urlsplit(redurl).netloc:
redurl = urlparse.urljoin(req.get_full_url(), redurl)
self._infinite_loop_check(req)
self._ask_redirect_choice(code, redurl)
self._infinite_loop_check(req)
self._ask_redirect_choice(code, redurl)
try:
content = fp.read()
@ -88,7 +89,7 @@ class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
dbgMsg += "redirect response content (%s)" % msg
logger.debug(dbgMsg)
if kb.redirectChoice == REDIRECTION.YES:
if redurl and kb.redirectChoice == REDIRECTION.YES:
req.headers[HTTPHEADER.HOST] = getHostHeader(redurl)
result = urllib2.HTTPRedirectHandler.http_error_302(self, req, fp, code, msg, headers)
else: