mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2026-05-13 17:06:53 +00:00
Patch for known NCHAR/UNION-query SQLi problems
This commit is contained in:
parent
c6557e2b45
commit
78ba33737e
4 changed files with 13 additions and 1 deletions
|
|
@ -157,12 +157,20 @@ def _oneShotUnionUse(expression, unpack=True, limited=False):
|
|||
warnMsg += "(probably due to its length and/or content): "
|
||||
warnMsg += safecharencode(trimmed)
|
||||
logger.warn(warnMsg)
|
||||
|
||||
elif re.search(r"ORDER BY [^ ]+\Z", expression):
|
||||
debugMsg = "retrying failed SQL query without the ORDER BY clause"
|
||||
singleTimeDebugMessage(debugMsg)
|
||||
|
||||
expression = re.sub(r"\s*ORDER BY [^ ]+\Z", "", expression)
|
||||
retVal = _oneShotUnionUse(expression, unpack, limited)
|
||||
|
||||
elif kb.nchar and re.search(r" AS N(CHAR|VARCHAR)", agent.nullAndCastField(expression)):
|
||||
debugMsg = "turning off NATIONAL CHARACTER casting" # NOTE: in some cases there are "known" incompatibilities between original columns and NCHAR (e.g. http://testphp.vulnweb.com/artists.php?artist=1)
|
||||
singleTimeDebugMessage(debugMsg)
|
||||
|
||||
kb.nchar = False
|
||||
retVal = _oneShotUnionUse(expression, unpack, limited)
|
||||
else:
|
||||
vector = kb.injection.data[PAYLOAD.TECHNIQUE.UNION].vector
|
||||
kb.unionDuplicates = vector[7]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue