mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2026-01-07 23:29:03 +00:00
Finalizes implementation for #739
This commit is contained in:
@@ -4504,7 +4504,7 @@ def parseRequestFile(reqFile):
|
||||
continue
|
||||
|
||||
if not(conf.scope and not re.search(conf.scope, url, re.I)):
|
||||
yield (url, method, None, cookie, None)
|
||||
yield (url, method, None, cookie, tuple())
|
||||
|
||||
def _parseBurpLog(content):
|
||||
"""
|
||||
|
||||
@@ -285,26 +285,37 @@ def _setRequestFromFile():
|
||||
textual file, parses it and saves the information into the knowledge base.
|
||||
"""
|
||||
|
||||
if not conf.requestFile:
|
||||
return
|
||||
if conf.requestFile:
|
||||
conf.requestFile = safeExpandUser(conf.requestFile)
|
||||
seen = set()
|
||||
|
||||
seen = set()
|
||||
if not os.path.isfile(conf.requestFile):
|
||||
errMsg = "specified HTTP request file '%s' " % conf.requestFile
|
||||
errMsg += "does not exist"
|
||||
raise SqlmapFilePathException(errMsg)
|
||||
|
||||
conf.requestFile = safeExpandUser(conf.requestFile)
|
||||
infoMsg = "parsing HTTP request from '%s'" % conf.requestFile
|
||||
logger.info(infoMsg)
|
||||
|
||||
if not os.path.isfile(conf.requestFile):
|
||||
errMsg = "specified HTTP request file '%s' " % conf.requestFile
|
||||
errMsg += "does not exist"
|
||||
raise SqlmapFilePathException(errMsg)
|
||||
for target in parseRequestFile(conf.requestFile):
|
||||
url = target[0]
|
||||
if url not in seen:
|
||||
kb.targets.add(target)
|
||||
seen.add(url)
|
||||
|
||||
infoMsg = "parsing HTTP request from '%s'" % conf.requestFile
|
||||
logger.info(infoMsg)
|
||||
if conf.secondReq:
|
||||
conf.secondReq = safeExpandUser(conf.secondReq)
|
||||
|
||||
for target in parseRequestFile(conf.requestFile):
|
||||
url = target[0]
|
||||
if url not in seen:
|
||||
kb.targets.add(target)
|
||||
seen.add(url)
|
||||
if not os.path.isfile(conf.secondReq):
|
||||
errMsg = "specified second-order HTTP request file '%s' " % onf.secondReq
|
||||
errMsg += "does not exist"
|
||||
raise SqlmapFilePathException(errMsg)
|
||||
|
||||
infoMsg = "parsing second-order HTTP request from '%s'" % conf.secondReq
|
||||
logger.info(infoMsg)
|
||||
|
||||
target = parseRequestFile(conf.secondReq).next()
|
||||
kb.secondReq = target
|
||||
|
||||
def _setCrawler():
|
||||
if not conf.crawlDepth:
|
||||
@@ -1823,6 +1834,7 @@ def _setKnowledgeBaseAttributes(flushAll=True):
|
||||
kb.rowXmlMode = False
|
||||
kb.safeCharEncode = False
|
||||
kb.safeReq = AttribDict()
|
||||
kb.secondReq = None
|
||||
kb.singleLogFlags = set()
|
||||
kb.skipSeqMatcher = False
|
||||
kb.reduceTests = None
|
||||
|
||||
@@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME
|
||||
from lib.core.enums import OS
|
||||
|
||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||
VERSION = "1.2.6.25"
|
||||
VERSION = "1.2.6.26"
|
||||
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)
|
||||
|
||||
@@ -1237,8 +1237,8 @@ class Connect(object):
|
||||
|
||||
if conf.secondUrl:
|
||||
page, headers, code = Connect.getPage(url=conf.secondUrl, cookie=cookie, ua=ua, silent=silent, auxHeaders=auxHeaders, response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
|
||||
elif conf.secondReq:
|
||||
pass
|
||||
elif kb.secondReq:
|
||||
page, headers, code = Connect.getPage(url=kb.secondReq[0], post=kb.secondReq[2], method=kb.secondReq[1], cookie=kb.secondReq[3], silent=silent, auxHeaders=dict(auxHeaders, **dict(kb.secondReq[4])), response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
|
||||
|
||||
threadData.lastQueryDuration = calculateDeltaSeconds(start)
|
||||
threadData.lastPage = page
|
||||
|
||||
Reference in New Issue
Block a user