From f8a01ddaf88e3735c60b1cee7a555615fd8c8550 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Wed, 15 Dec 2010 11:21:47 +0000 Subject: [PATCH] minor update --- lib/controller/controller.py | 23 ----------------------- lib/core/common.py | 15 +++++++++++++-- lib/core/session.py | 28 ---------------------------- lib/techniques/error/use.py | 4 ++-- 4 files changed, 15 insertions(+), 55 deletions(-) diff --git a/lib/controller/controller.py b/lib/controller/controller.py index de2bc7def..f699d2cea 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -36,12 +36,8 @@ from lib.core.exception import sqlmapNotVulnerableException from lib.core.exception import sqlmapSilentQuitException from lib.core.exception import sqlmapValueException from lib.core.exception import sqlmapUserQuitException -from lib.core.session import setBooleanBased -from lib.core.session import setError from lib.core.session import setInjection from lib.core.session import setMatchRatio -from lib.core.session import setStacked -from lib.core.session import setTimeBased from lib.core.target import initTargetEnv from lib.core.target import setupTargetEnv @@ -132,25 +128,6 @@ def __saveToSessionFile(): setInjection(inj) - place = inj.place - parameter = inj.parameter - - for stype, sdata in inj.data.items(): - payload = sdata.payload - - if stype == 1: - kb.booleanTest = payload - setBooleanBased(place, parameter, payload) - elif stype == 2: - kb.errorTest = payload - setError(place, parameter, payload) - elif stype == 4: - kb.stackedTest = payload - setStacked(place, parameter, payload) - elif stype == 5: - kb.timeTest = payload - setTimeBased(place, parameter, payload) - def start(): """ This function calls a function that performs checks on both URL diff --git a/lib/core/common.py b/lib/core/common.py index 413f0b8c7..c3bcc5198 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -1651,7 +1651,7 @@ def logHTTPTraffic(requestLogMsg, responseLogMsg): kb.locks.reqLock.release() -def getPublicTypeMembers(type_): +def getPublicTypeMembers(type_, onlyValues=False): """ Useful for getting members from types (e.g. in enums) """ @@ -1659,7 +1659,10 @@ def getPublicTypeMembers(type_): for name, value in getmembers(type_): if not name.startswith('__'): - retVal.append((name, value)) + if not onlyValues: + retVal.append((name, value)) + else: + retVal.append(value) return retVal @@ -1743,3 +1746,11 @@ def parseSqliteTableSchema(value): table[conf.tbl] = columns kb.data.cachedColumns[conf.db] = table + +def getTechniqueData(technique=None): + retVal = None + + if technique and technique in kb.injection.data: + retVal = kb.injection.data[technique] + + return retVal diff --git a/lib/core/session.py b/lib/core/session.py index df73183ae..644e4deb4 100644 --- a/lib/core/session.py +++ b/lib/core/session.py @@ -358,34 +358,6 @@ def resumeConfKb(expression, url, value): warnMsg += "but you did not provided it this time" logger.warn(warnMsg) - elif expression == "Boolean-based blind injection" and url == conf.url: - kb.booleanTest = unSafeFormatString(value[:-1]) - - logMsg = "resuming boolean-based blind injection " - logMsg += "'%s' from session file" % kb.booleanTest - logger.info(logMsg) - - elif expression == "Error-based injection" and url == conf.url: - kb.errorTest = unSafeFormatString(value[:-1]) - - logMsg = "resuming error-based injection " - logMsg += "'%s' from session file" % kb.errorTest - logger.info(logMsg) - - elif expression == "Stacked queries" and url == conf.url: - kb.stackedTest = unSafeFormatString(value[:-1]) - - logMsg = "resuming stacked queries syntax " - logMsg += "'%s' from session file" % kb.stackedTest - logger.info(logMsg) - - elif expression == "Time-based blind injection" and url == conf.url: - kb.timeTest = unSafeFormatString(value[:-1]) - - logMsg = "resuming time-based blind injection " - logMsg += "'%s' from session file" % kb.timeTest - logger.info(logMsg) - elif expression == "DBMS" and url == conf.url: dbms = unSafeFormatString(value[:-1]) dbms = dbms.lower() diff --git a/lib/techniques/error/use.py b/lib/techniques/error/use.py index 2afafa80a..c166ae898 100644 --- a/lib/techniques/error/use.py +++ b/lib/techniques/error/use.py @@ -21,7 +21,7 @@ from lib.core.data import kb from lib.core.data import logger from lib.core.data import queries from lib.core.enums import DBMS -from lib.core.session import setError +from lib.core.enums import PAYLOAD from lib.core.unescaper import unescaper from lib.request.connect import Connect as Request @@ -32,7 +32,7 @@ def errorUse(expression): """ output = None - vector = agent.cleanupPayload(kb.injection.data[2].vector) + vector = agent.cleanupPayload(kb.injection.data[PAYLOAD.TECHNIQUE.ERROR].vector) query = unescaper.unescape(vector) query = agent.prefixQuery(query) query = agent.suffixQuery(query)