modifying redirection code for only two choices

This commit is contained in:
Miroslav Stampar
2012-03-18 17:27:08 +00:00
parent c03d0e24fb
commit 0fc4288a7c
5 changed files with 14 additions and 18 deletions

View File

@@ -29,6 +29,7 @@ from lib.core.settings import UPPER_RATIO_BOUND
from lib.core.threads import getCurrentThreadData
def comparison(page, headers, code=None, getRatioValue=False, pageLength=None):
print "AA: ", page[:100]
if page is None and pageLength is None:
return None

View File

@@ -305,11 +305,10 @@ class Connect:
# Get HTTP response
if hasattr(conn, 'redurl'):
page = threadData.lastRedirectMsg[1] if kb.redirectChoice == REDIRECTION.IGNORE\
else kb.pageTemplate if kb.redirectChoice == REDIRECTION.ORIGINAL\
page = threadData.lastRedirectMsg[1] if kb.redirectChoice == REDIRECTION.NO\
else conn.read()
skipLogTraffic = kb.redirectChoice != REDIRECTION.FOLLOW
code = conn.redcode if kb.redirectChoice != REDIRECTION.ORIGINAL else kb.originalCode
skipLogTraffic = kb.redirectChoice == REDIRECTION.NO
code = conn.redcode
else:
page = conn.read()

View File

@@ -40,13 +40,10 @@ class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
def _ask_redirect_choice(self, redcode, redurl):
if kb.redirectChoice is None and kb.originalPage:
msg = "sqlmap got a %d redirect to " % redcode
msg += "'%s'. What do you want to do? " % redurl
msg += "\n[1] Follow the redirection (default)"
msg += "\n[2] Stay on the original page"
msg += "\n[3] Ignore"
choice = readInput(msg, default="1")
msg += "'%s'. Do you want to follow? [Y/n] " % redurl
choice = readInput(msg, default="Y")
kb.redirectChoice = choice
kb.redirectChoice = choice.upper()
def _process_http_redirect(self, result, headers, code, content, msg, redurl):
content = decodePage(content, headers.get(HTTPHEADER.CONTENT_ENCODING), headers.get(HTTPHEADER.CONTENT_TYPE))
@@ -93,7 +90,7 @@ class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
dbgMsg += "redirect response content (%s)" % msg
logger.debug(dbgMsg)
if kb.redirectChoice == REDIRECTION.FOLLOW or kb.originalPage is None:
if kb.redirectChoice == REDIRECTION.YES or kb.originalPage is None:
req.headers[HTTPHEADER.HOST] = getHostHeader(redurl)
result = urllib2.HTTPRedirectHandler.http_error_302(self, req, fp, code, msg, headers)
else: