|
42 | 42 | from lib.core.exception import SqlmapDataException |
43 | 43 | from lib.core.exception import SqlmapNotVulnerableException |
44 | 44 | from lib.core.exception import SqlmapUserQuitException |
| 45 | +from lib.core.settings import GET_VALUE_UPPERCASE_KEYWORDS |
45 | 46 | from lib.core.settings import MAX_TECHNIQUES_PER_VALUE |
46 | 47 | from lib.core.settings import SQL_SCALAR_REGEX |
47 | 48 | from lib.core.threads import getCurrentThreadData |
@@ -345,8 +346,7 @@ def getValue(expression, blind=True, union=True, error=True, time=True, fromUser |
345 | 346 | kb.safeCharEncode = safeCharEncode |
346 | 347 | kb.resumeValues = resumeValue |
347 | 348 |
|
348 | | - # Note: following keywords are expected to be in uppercase |
349 | | - for keyword in ("SELECT", "FROM", "WHERE"): |
| 349 | + for keyword in GET_VALUE_UPPERCASE_KEYWORDS: |
350 | 350 | expression = re.sub("(?i)(\A|\(|\)|\s)%s(\Z|\(|\)|\s)" % keyword, r"\g<1>%s\g<2>" % keyword, expression) |
351 | 351 |
|
352 | 352 | if suppressOutput is not None: |
@@ -418,7 +418,7 @@ def getValue(expression, blind=True, union=True, error=True, time=True, fromUser |
418 | 418 | found = (value is not None) or (value is None and expectingNone) or count >= MAX_TECHNIQUES_PER_VALUE |
419 | 419 |
|
420 | 420 | if found and conf.dnsDomain: |
421 | | - _ = "".join(filter(None, (key if isTechniqueAvailable(value) else None for key, value in {"E": PAYLOAD.TECHNIQUE.ERROR, "Q": PAYLOAD.TECHNIQUE.QUERY, "U": PAYLOAD.TECHNIQUE.UNION}.items()))) |
| 421 | + _ = "".join(filter(None, (key if isTechniqueAvailable(value) else None for key, value in {'E': PAYLOAD.TECHNIQUE.ERROR, 'Q': PAYLOAD.TECHNIQUE.QUERY, 'U': PAYLOAD.TECHNIQUE.UNION}.items()))) |
422 | 422 | warnMsg = "option '--dns-domain' will be ignored " |
423 | 423 | warnMsg += "as faster techniques are usable " |
424 | 424 | warnMsg += "(%s) " % _ |
|
0 commit comments