mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-15 12:19:03 +00:00
fix for one of those more complex bugs (comparison was returning None while original page and/or page template were already had already DBMS error inside)
This commit is contained in:
@@ -58,7 +58,7 @@ def comparison(page, headers=None, getSeqMatcher=False, pageLength=None):
|
||||
return re.search(conf.regexp, page, re.I | re.M) is not None
|
||||
|
||||
# In case of an DBMS error page return None
|
||||
if wasLastRequestDBMSError():
|
||||
if kb.errorIsNone and wasLastRequestDBMSError():
|
||||
return None
|
||||
|
||||
# Dynamic content lines to be excluded before comparison
|
||||
|
||||
@@ -40,6 +40,7 @@ from lib.core.enums import PLACE
|
||||
from lib.core.exception import sqlmapConnectionException
|
||||
from lib.core.exception import sqlmapSyntaxException
|
||||
from lib.core.settings import MIN_TIME_RESPONSES
|
||||
from lib.core.threads import getCurrentThreadData
|
||||
from lib.request.basic import decodePage
|
||||
from lib.request.basic import forgeHeaders
|
||||
from lib.request.basic import parseResponse
|
||||
|
||||
@@ -13,11 +13,12 @@ from lib.core.data import kb
|
||||
from lib.request.connect import Connect as Request
|
||||
|
||||
def getPageTemplate(payload, place):
|
||||
retVal = kb.originalPage
|
||||
retVal = kb.originalPage, kb.errorIsNone
|
||||
|
||||
if payload and place:
|
||||
if (payload, place) not in kb.pageTemplates:
|
||||
kb.pageTemplates[(payload, place)], _ = Request.queryPage(payload, place, content=True)
|
||||
page, _ = Request.queryPage(payload, place, content=True)
|
||||
kb.pageTemplates[(payload, place)] = (page, kb.lastParserStatus is None)
|
||||
|
||||
retVal = kb.pageTemplates[(payload, place)]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user