diff --git a/lib/core/option.py b/lib/core/option.py index ab25de377..8eb51d4a4 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -80,9 +80,10 @@ from lib.core.settings import ACCESS_ALIASES from lib.core.settings import FIREBIRD_ALIASES from lib.core.settings import MAXDB_ALIASES from lib.core.settings import SYBASE_ALIASES +from lib.core.settings import BURP_SPLITTER +from lib.core.settings import MAX_NUMBER_OF_THREADS from lib.core.settings import TIME_DELAY_CANDIDATES from lib.core.settings import UNKNOWN_DBMS_VERSION -from lib.core.settings import BURP_SPLITTER from lib.core.settings import WEBSCARAB_SPLITTER from lib.core.update import update from lib.parse.configfile import configFileParser @@ -1397,8 +1398,8 @@ def __basicOptionValidation(): errMsg = "switch --predict-output is incompatible with switch --threads" raise sqlmapSyntaxException, errMsg - if conf.threads > 10: - errMsg = "maximum number of used threads is 10 avoiding possible stability issues" + if conf.threads > MAX_NUMBER_OF_THREADS: + errMsg = "maximum number of used threads is %d avoiding possible connection issues" % MAX_NUMBER_OF_THREADS raise sqlmapSyntaxException, errMsg if conf.forms and not conf.url: diff --git a/lib/core/settings.py b/lib/core/settings.py index bddd19553..02dfff10b 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -220,3 +220,6 @@ URI_HTTP_HEADER = "URI" # Uri format which could be injectable (e.g. www.site.com/id82) URI_INJECTABLE_REGEX = r".*/([^\.*?]+)\Z" + +# Maximum number of threads (avoiding connection issues and/or DoS) +MAX_NUMBER_OF_THREADS = 10