diff --git a/lib/controller/checks.py b/lib/controller/checks.py index 1751d3f4e..769fba56f 100644 --- a/lib/controller/checks.py +++ b/lib/controller/checks.py @@ -49,7 +49,6 @@ from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapSilentQuitException from lib.core.exception import sqlmapUserQuitException -from lib.core.session import setDynamicMarkings from lib.core.settings import CONSTANT_RATIO from lib.core.settings import UNKNOWN_DBMS_VERSION from lib.core.settings import LOWER_RATIO_BOUND diff --git a/lib/controller/controller.py b/lib/controller/controller.py index 28453cab5..5f0c0f3c2 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -192,6 +192,9 @@ def __saveToHashDB(): if not hashDBRetrieve(HASHDB_KEYS.KB_CHARS): hashDBWrite(HASHDB_KEYS.KB_CHARS, kb.chars, True) + if not hashDBRetrieve(HASHDB_KEYS.KB_DYNAMIC_MARKINGS): + hashDBWrite(HASHDB_KEYS.KB_DYNAMIC_MARKINGS, kb.dynamicMarkings, True) + def __saveToResultsFile(): if not conf.resultsFP: return diff --git a/lib/core/enums.py b/lib/core/enums.py index 67c32e10e..e803fddb3 100644 --- a/lib/core/enums.py +++ b/lib/core/enums.py @@ -142,6 +142,7 @@ class HASHDB_KEYS: CONF_TMP_PATH = "CONF_TMP_PATH" KB_XP_CMDSHELL_AVAILABLE = "KB_XP_CMDSHELL_AVAILABLE" KB_INJECTIONS = "KB_INJECTIONS" + KB_DYNAMIC_MARKINGS = "KB_DYNAMIC_MARKINGS" class REDIRECTION: FOLLOW = "1" diff --git a/lib/core/session.py b/lib/core/session.py index 57d771f08..63a64b76a 100644 --- a/lib/core/session.py +++ b/lib/core/session.py @@ -36,22 +36,6 @@ def unSafeFormatString(value): retVal = retVal.replace("__LEFT_SQUARE_BRACKET__", "[").replace("__RIGHT_SQUARE_BRACKET__", "]") return retVal -def setDynamicMarkings(markings): - """ - Save information retrieved about dynamic markings to the - session file. - """ - - condition = ( - ( not kb.resumedQueries - or ( kb.resumedQueries.has_key(conf.url) and - not kb.resumedQueries[conf.url].has_key("Dynamic markings") - ) ) - ) - - if condition: - dataToSessionFile("[%s][%s][%s][Dynamic markings][%s]\n" % (conf.url, None, None, base64pickle(markings))) - def setDbms(dbms): """ @param dbms: database management system to be set into the knowledge @@ -124,15 +108,6 @@ def setOs(): if condition: dataToSessionFile("[%s][%s][%s][OS][%s]\n" % (conf.url, kb.injection.place, safeFormatString(conf.parameters[kb.injection.place]), Backend.getOs())) -def setXpCmdshellAvailability(available): - condition = ( - not kb.resumedQueries or ( kb.resumedQueries.has_key(conf.url) and - not kb.resumedQueries[conf.url].has_key("xp_cmdshell availability") ) - ) - - if condition: - dataToSessionFile("[%s][%s][%s][xp_cmdshell availability][%s]\n" % (conf.url, kb.injection.place, safeFormatString(conf.parameters[kb.injection.place]), str(available).lower())) - def resumeConfKb(expression, url, value): if expression == "Dynamic markings" and url == conf.url: kb.dynamicMarkings = base64unpickle(value[:-1]) diff --git a/lib/core/target.py b/lib/core/target.py index 5ec72b533..eb6915146 100644 --- a/lib/core/target.py +++ b/lib/core/target.py @@ -211,6 +211,7 @@ def __resumeHashDBValues(): kb.absFilePaths = hashDBRetrieve(HASHDB_KEYS.KB_ABS_FILE_PATHS, True) or kb.absFilePaths kb.chars = hashDBRetrieve(HASHDB_KEYS.KB_CHARS, True) or kb.chars + kb.dynamicMarkings = hashDBRetrieve(HASHDB_KEYS.KB_DYNAMIC_MARKINGS, True) or kb.dynamicMarkings kb.brute.tables = hashDBRetrieve(HASHDB_KEYS.KB_BRUTE_TABLES, True) or kb.brute.tables kb.brute.columns = hashDBRetrieve(HASHDB_KEYS.KB_BRUTE_COLUMNS, True) or kb.brute.columns kb.xpCmdshellAvailable = hashDBRetrieve(HASHDB_KEYS.KB_XP_CMDSHELL_AVAILABLE) or kb.xpCmdshellAvailable