This commit is contained in:
Miroslav Stampar 2020-12-17 13:34:23 +01:00
parent d9e6e678e8
commit 85c6d0d5c1
3 changed files with 15 additions and 1 deletions

View File

@ -1868,6 +1868,8 @@ def _cleanupOptions():
if conf.exclude: if conf.exclude:
regex = False regex = False
original = conf.exclude
if any(_ in conf.exclude for _ in ('+', '*')): if any(_ in conf.exclude for _ in ('+', '*')):
try: try:
re.compile(conf.exclude) re.compile(conf.exclude)
@ -1882,6 +1884,12 @@ def _cleanupOptions():
else: else:
conf.exclude = re.sub(r"(\w+)\$", r"\g<1>\$", conf.exclude) conf.exclude = re.sub(r"(\w+)\$", r"\g<1>\$", conf.exclude)
class _(six.text_type):
pass
conf.exclude = _(conf.exclude)
conf.exclude._original = original
if conf.binaryFields: if conf.binaryFields:
conf.binaryFields = conf.binaryFields.replace(" ", "") conf.binaryFields = conf.binaryFields.replace(" ", "")
conf.binaryFields = re.split(PARAMETER_SPLITTING_REGEX, conf.binaryFields) conf.binaryFields = re.split(PARAMETER_SPLITTING_REGEX, conf.binaryFields)

View File

@ -18,7 +18,7 @@ from lib.core.enums import OS
from thirdparty.six import unichr as _unichr from thirdparty.six import unichr as _unichr
# sqlmap version (<major>.<minor>.<month>.<monthly commit>) # sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.4.12.23" VERSION = "1.4.12.24"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} 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) VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

View File

@ -194,6 +194,9 @@ class Search(object):
else: else:
whereDbsQuery = "" whereDbsQuery = ""
if dbCond and conf.exclude:
whereDbsQuery += " AND %s NOT LIKE '%s'" % (dbCond, re.sub(r"\.[*+]", '%', conf.exclude._original))
logger.info(infoMsg) logger.info(infoMsg)
tblQuery = "%s%s" % (tblCond, tblCondParam) tblQuery = "%s%s" % (tblCond, tblCondParam)
@ -431,6 +434,9 @@ class Search(object):
else: else:
infoMsgDb = " across all databases" infoMsgDb = " across all databases"
if conf.exclude:
whereDbsQuery += " AND %s NOT LIKE '%s'" % (dbCond, re.sub(r"\.[*+]", '%', conf.exclude._original))
logger.info("%s%s%s" % (infoMsg, infoMsgTbl, infoMsgDb)) logger.info("%s%s%s" % (infoMsg, infoMsgTbl, infoMsgDb))
colQuery = "%s%s" % (colCond, colCondParam) colQuery = "%s%s" % (colCond, colCondParam)