mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-22 09:36:35 +03:00
actual implementation of issue #75, still some work to do
This commit is contained in:
parent
3a94953ae2
commit
ee3aeb8dcf
|
@ -798,6 +798,9 @@ class Agent:
|
|||
|
||||
return unescaper.unescape(lengthExpr)
|
||||
|
||||
def forgeQueryOutputLengthZero(self, expression):
|
||||
return self.forgeCaseStatement(self.forgeQueryOutputLength(expression))
|
||||
|
||||
def forgeCaseStatement(self, expression):
|
||||
"""
|
||||
Take in input a query string and return its CASE statement query
|
||||
|
|
|
@ -1740,7 +1740,12 @@ class Enumeration:
|
|||
elif Backend.isDbms(DBMS.FIREBIRD):
|
||||
query = rootQuery.blind.query % (index, column, tbl)
|
||||
|
||||
value = inject.getValue(query, inband=False, error=False, dump=True)
|
||||
# Skip enumeration of cells that have a value length of 0
|
||||
if not inject.checkBooleanExpression(agent.forgeQueryOutputLengthZero(query)):
|
||||
logger.debug(query)
|
||||
value = ""
|
||||
else:
|
||||
value = inject.getValue(query, inband=False, error=False, dump=True)
|
||||
|
||||
lengths[column] = max(lengths[column], len(value) if value else 0)
|
||||
entries[column].append(value)
|
||||
|
|
Loading…
Reference in New Issue
Block a user