mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-28 10:29:04 +00:00
Added support for time-based blind SQL injection via stacked queries too. Need to add vectors for some DBMS yet.
This commit is contained in:
@@ -413,8 +413,11 @@ def getValue(expression, blind=True, inband=True, error=True, time=True, fromUse
|
||||
value = __goInferenceProxy(expression, fromUser, expected, batch, resumeValue, unpack, charsetType, firstChar, lastChar)
|
||||
found = value or (value is None and expectingNone)
|
||||
|
||||
if time and kb.timeTest and not found:
|
||||
kb.technique = PAYLOAD.TECHNIQUE.TIME
|
||||
if time and (kb.timeTest or kb.stackedTest) and not found:
|
||||
if kb.timeTest:
|
||||
kb.technique = PAYLOAD.TECHNIQUE.TIME
|
||||
elif kb.stackedTest:
|
||||
kb.technique = PAYLOAD.TECHNIQUE.STACKED
|
||||
|
||||
while len(kb.responseTimes) < MIN_TIME_RESPONSES:
|
||||
_ = Request.queryPage(content=True)
|
||||
|
||||
@@ -45,7 +45,7 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
|
||||
partialValue = ""
|
||||
finalValue = ""
|
||||
asciiTbl = getCharset(charsetType)
|
||||
timeBasedCompare = (kb.technique == PAYLOAD.TECHNIQUE.TIME)
|
||||
timeBasedCompare = (kb.technique in (PAYLOAD.TECHNIQUE.TIME, PAYLOAD.TECHNIQUE.STACKED))
|
||||
|
||||
# Set kb.partRun in case "common prediction" feature (a.k.a. "good
|
||||
# samaritan") is used
|
||||
|
||||
Reference in New Issue
Block a user