mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-25 19:13:48 +03:00
Update for Issue #118
This commit is contained in:
parent
f8c9868cb6
commit
922ea9d1f4
|
@ -137,8 +137,8 @@ def checkSqlInjection(place, parameter, value):
|
|||
continue
|
||||
|
||||
# Skip tests if title is not included by the given filter
|
||||
if conf.tstF:
|
||||
if not any(re.search(conf.tstF, str(item), re.I) for item in (test.title, test.vector,\
|
||||
if conf.testFilter:
|
||||
if not any(re.search(conf.testFilter, str(item), re.I) for item in (test.title, test.vector,\
|
||||
test.details.dbms if "details" in test and "dbms" in test.details else "")):
|
||||
debugMsg = "skipping test '%s' because " % title
|
||||
debugMsg += "its name/vector/dbms is not included by the given filter"
|
||||
|
@ -478,7 +478,7 @@ def checkSqlInjection(place, parameter, value):
|
|||
injection.dbms = Backend.setDbms(dValue)
|
||||
else:
|
||||
Backend.forceDbms(dValue[0], True)
|
||||
elif dKey == "dbms_version" and injection.dbms_version is None and not conf.tstF:
|
||||
elif dKey == "dbms_version" and injection.dbms_version is None and not conf.testFilter:
|
||||
injection.dbms_version = Backend.setVersion(dValue)
|
||||
elif dKey == "os" and injection.os is None:
|
||||
injection.os = Backend.setOs(dValue)
|
||||
|
|
|
@ -1330,9 +1330,9 @@ def __cleanupOptions():
|
|||
if conf.dbms:
|
||||
conf.dbms = conf.dbms.capitalize()
|
||||
|
||||
if conf.tstF:
|
||||
if not any([char in conf.tstF for char in ('.', ')', '(', ']', '[')]):
|
||||
conf.tstF = conf.tstF.replace('*', '.*')
|
||||
if conf.testFilter:
|
||||
if not any([char in conf.testFilter for char in ('.', ')', '(', ']', '[')]):
|
||||
conf.testFilter = conf.testFilter.replace('*', '.*')
|
||||
|
||||
if conf.timeSec not in kb.explicitSettings:
|
||||
if conf.tor:
|
||||
|
|
|
@ -194,7 +194,7 @@ optDict = {
|
|||
"mobile": "boolean",
|
||||
"pageRank": "boolean",
|
||||
"smart": "boolean",
|
||||
"tstF": "string",
|
||||
"testFilter": "string",
|
||||
"wizard": "boolean",
|
||||
"verbose": "integer"
|
||||
},
|
||||
|
|
|
@ -519,3 +519,6 @@ BOLD_PATTERNS = ("' injectable", "might be injectable", "' is vulnerable", "is n
|
|||
|
||||
# Generic www root directory names
|
||||
GENERIC_DOC_ROOT_DIRECTORY_NAMES = ("htdocs", "wwwroot", "www")
|
||||
|
||||
# Maximum length of a help part containing switch/option name(s)
|
||||
MAX_HELP_OPTION_LENGTH = 18
|
||||
|
|
|
@ -18,6 +18,7 @@ from lib.core.data import logger
|
|||
from lib.core.defaults import defaults
|
||||
from lib.core.settings import BASIC_HELP_ITEMS
|
||||
from lib.core.settings import IS_WIN
|
||||
from lib.core.settings import MAX_HELP_OPTION_LENGTH
|
||||
from lib.core.settings import VERSION_STRING
|
||||
|
||||
def cmdLineParser():
|
||||
|
@ -629,7 +630,7 @@ def cmdLineParser():
|
|||
action="store_true",
|
||||
help="Conduct through tests only if positive heuristic(s)")
|
||||
|
||||
miscellaneous.add_option("--test-filter", dest="tstF",
|
||||
miscellaneous.add_option("--test-filter", dest="testFilter",
|
||||
help="Select tests by payloads and/or titles (e.g. ROW)")
|
||||
|
||||
miscellaneous.add_option("--wizard", dest="wizard",
|
||||
|
@ -677,8 +678,8 @@ def cmdLineParser():
|
|||
# Dirty hack to display longer options without breaking into two lines
|
||||
def _(self, *args):
|
||||
_ = parser.formatter._format_option_strings(*args)
|
||||
if len(_) > 18:
|
||||
_ = "%.16s.." % _
|
||||
if len(_) > MAX_HELP_OPTION_LENGTH:
|
||||
_ = ("%%.%ds.." % (MAX_HELP_OPTION_LENGTH - parser.formatter.indent_increment)) % _
|
||||
return _
|
||||
|
||||
parser.formatter._format_option_strings = parser.formatter.format_option_strings
|
||||
|
|
|
@ -669,7 +669,7 @@ pageRank = False
|
|||
smart = False
|
||||
|
||||
# Select tests by payloads and/or titles (e.g. ROW)
|
||||
tstF =
|
||||
testFilter =
|
||||
|
||||
# Simple wizard interface for beginner users.
|
||||
# Valid: True or False
|
||||
|
|
Loading…
Reference in New Issue
Block a user