diff --git a/lib/core/settings.py b/lib/core/settings.py index cd2a27009..f6f19a995 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -48,6 +48,8 @@ DUMP_STOP_MARKER = "__STOP__" PAYLOAD_DELIMITER = "\x00" +MIN_TIME_RESPONSES = 10 + # System variables IS_WIN = subprocess.mswindows # The name of the operating system dependent module imported. The following diff --git a/lib/request/inject.py b/lib/request/inject.py index 0f0bdf544..530d433f6 100644 --- a/lib/request/inject.py +++ b/lib/request/inject.py @@ -29,6 +29,7 @@ from lib.core.data import logger from lib.core.data import queries from lib.core.enums import DBMS from lib.core.exception import sqlmapNotVulnerableException +from lib.core.settings import MIN_TIME_RESPONSES from lib.request.connect import Connect as Request from lib.request.direct import direct from lib.request.templates import getPageTemplate @@ -414,6 +415,10 @@ def getValue(expression, blind=True, inband=True, error=True, time=True, fromUse if time and kb.timeTest and not value: kb.technique = 5 + + while len(kb.responseTimes) < MIN_TIME_RESPONSES: + _ = Request.queryPage(content=True) + value = __goInferenceProxy(expression, fromUser, expected, batch, resumeValue, unpack, charsetType, firstChar, lastChar) kb.unionNegative = oldParamNegative