diff --git a/lib/controller/checks.py b/lib/controller/checks.py index e8fda54ec..62b0004d7 100644 --- a/lib/controller/checks.py +++ b/lib/controller/checks.py @@ -128,7 +128,7 @@ def checkSqlInjection(place, parameter, value): # then attempt to identify with a simple DBMS specific boolean-based # test what the DBMS may be if not injection.dbms and PAYLOAD.TECHNIQUE.BOOLEAN in injection.data: - if not Backend.getIdentifiedDbms() and kb.heuristicDbms is None: + if not Backend.getIdentifiedDbms() and kb.heuristicDbms is None and not kb.droppingRequests: kb.heuristicDbms = heuristicCheckDbms(injection) # If the DBMS has already been fingerprinted (via DBMS-specific diff --git a/lib/core/option.py b/lib/core/option.py index d7b66b28f..9061e1b18 100755 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -1902,6 +1902,7 @@ def _setKnowledgeBaseAttributes(flushAll=True): kb.dnsMode = False kb.dnsTest = None kb.docRoot = None + kb.droppingRequests = False kb.dumpColumns = None kb.dumpTable = None kb.dumpKeyboardInterrupt = False diff --git a/lib/core/settings.py b/lib/core/settings.py index fbf6e075b..83fcc7eb8 100755 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import OS # sqlmap version (...) -VERSION = "1.1.5.11" +VERSION = "1.1.5.12" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" 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) diff --git a/lib/request/connect.py b/lib/request/connect.py index befe8b972..3f466db95 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -642,6 +642,7 @@ class Connect(object): if kb.testMode and kb.testType not in (None, PAYLOAD.TECHNIQUE.TIME, PAYLOAD.TECHNIQUE.STACKED): singleTimeWarnMessage("there is a possibility that the target (or WAF/IPS/IDS) is dropping 'suspicious' requests") + kb.droppingRequests = True warnMsg = "connection timed out to the target URL" elif "Connection reset" in tbMsg: if not conf.disablePrecon: @@ -650,6 +651,7 @@ class Connect(object): if kb.testMode: singleTimeWarnMessage("there is a possibility that the target (or WAF/IPS/IDS) is resetting 'suspicious' requests") + kb.droppingRequests = True warnMsg = "connection reset to the target URL" elif "URLError" in tbMsg or "error" in tbMsg: warnMsg = "unable to connect to the target URL" diff --git a/txt/checksum.md5 b/txt/checksum.md5 index f0b8e5e5c..8cee30e6c 100644 --- a/txt/checksum.md5 +++ b/txt/checksum.md5 @@ -21,7 +21,7 @@ c55b400b72acc43e0e59c87dd8bb8d75 extra/shellcodeexec/windows/shellcodeexec.x32. 310efc965c862cfbd7b0da5150a5ad36 extra/sqlharvest/__init__.py 7713aa366c983cdf1f3dbaa7383ea9e1 extra/sqlharvest/sqlharvest.py 7afe836fd97271ccba67b4c0da2482ff lib/controller/action.py -3446d524306f5f9648624a60e209ee6d lib/controller/checks.py +fec857280fd553ee7e9b49fdfe104402 lib/controller/checks.py 130d1c16708668b8d89605b6b5b38bf5 lib/controller/controller.py 52a3969f57170e935e3fc0156335bf2c lib/controller/handler.py 310efc965c862cfbd7b0da5150a5ad36 lib/controller/__init__.py @@ -40,13 +40,13 @@ b9ff4e622c416116bee6024c0f050349 lib/core/enums.py 310efc965c862cfbd7b0da5150a5ad36 lib/core/__init__.py 9ba39bf66e9ecd469446bdbbeda906c3 lib/core/log.py edcfce0850771e6454acef244d5c5760 lib/core/optiondict.py -636485a22f158bec137d63c73aeace5c lib/core/option.py +80060cb3b090d6de0503c02848d60171 lib/core/option.py 5f2f56e6c5f274408df61943f1e080c0 lib/core/profiling.py 40be71cd774662a7b420caeb7051e7d5 lib/core/readlineng.py d8e9250f3775119df07e9070eddccd16 lib/core/replication.py 785f86e3f963fa3798f84286a4e83ff2 lib/core/revision.py 40c80b28b3a5819b737a5a17d4565ae9 lib/core/session.py -00b923cc4daaefe16525a88fa949d189 lib/core/settings.py +c1a41006c25d16699e988ec2adb0895d lib/core/settings.py d91291997d2bd2f6028aaf371bf1d3b6 lib/core/shell.py 2ad85c130cc5f2b3701ea85c2f6bbf20 lib/core/subprocessng.py 8136241fdbdb99a5dc0e51ba72918f6e lib/core/target.py @@ -68,7 +68,7 @@ ad74fc58fc7214802fd27067bce18dd2 lib/core/unescaper.py 403d873f1d2fd0c7f73d83f104e41850 lib/request/basicauthhandler.py a79f7c4259418fbc66229a1cb2e945bd lib/request/basic.py ef48de622b0a6b4a71df64b0d2785ef8 lib/request/comparison.py -f58d13b6d6ff0078742d6fce09219849 lib/request/connect.py +aa43e66ab7e6afb6d276327287a5f168 lib/request/connect.py fb6b788d0016ab4ec5e5f661f0f702ad lib/request/direct.py cc1163d38e9b7ee5db2adac6784c02bb lib/request/dns.py 5dcdb37823a0b5eff65cd1018bcf09e4 lib/request/httpshandler.py