This commit is contained in:
Miroslav Stampar 2019-05-19 07:52:38 +02:00
parent b35c8e557d
commit c14c471490
3 changed files with 11 additions and 5 deletions

View File

@ -14,11 +14,13 @@ import lib.core.convert
import lib.core.option import lib.core.option
import lib.request.connect import lib.request.connect
import lib.utils.search import lib.utils.search
import lib.utils.sqlalchemy
import thirdparty.ansistrm.ansistrm import thirdparty.ansistrm.ansistrm
from lib.request.templates import getPageTemplate from lib.request.templates import getPageTemplate
from lib.core.common import filterNone from lib.core.common import filterNone
from lib.core.common import getSafeExString
from lib.core.common import isListLike from lib.core.common import isListLike
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.common import readInput from lib.core.common import readInput
@ -67,6 +69,7 @@ def resolveCrossReferences():
lib.utils.search.setHTTPHandlers = _setHTTPHandlers lib.utils.search.setHTTPHandlers = _setHTTPHandlers
lib.controller.checks.setVerbosity = setVerbosity lib.controller.checks.setVerbosity = setVerbosity
lib.controller.checks.setWafFunctions = _setWafFunctions lib.controller.checks.setWafFunctions = _setWafFunctions
lib.utils.sqlalchemy.getSafeExString = getSafeExString
thirdparty.ansistrm.ansistrm.stdoutencode = stdoutencode thirdparty.ansistrm.ansistrm.stdoutencode = stdoutencode
def pympTempLeakPatch(tempDir): def pympTempLeakPatch(tempDir):

View File

@ -18,7 +18,7 @@ from lib.core.enums import OS
from thirdparty.six import unichr as _unichr from thirdparty.six import unichr as _unichr
# sqlmap version (<major>.<minor>.<month>.<monthly commit>) # sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.3.5.107" VERSION = "1.3.5.108"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} 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) VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

View File

@ -35,6 +35,9 @@ from lib.core.exception import SqlmapFilePathException
from lib.core.exception import SqlmapMissingDependence from lib.core.exception import SqlmapMissingDependence
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
def getSafeExString(ex, encoding=None): # Cross-referenced function
raise NotImplementedError
class SQLAlchemy(GenericConnector): class SQLAlchemy(GenericConnector):
def __init__(self, dialect=None): def __init__(self, dialect=None):
GenericConnector.__init__(self) GenericConnector.__init__(self)
@ -77,7 +80,7 @@ class SQLAlchemy(GenericConnector):
except SqlmapFilePathException: except SqlmapFilePathException:
raise raise
except Exception as ex: except Exception as ex:
raise SqlmapConnectionException("SQLAlchemy connection issue ('%s')" % ex.msg) raise SqlmapConnectionException("SQLAlchemy connection issue ('%s')" % getSafeExString(ex))
self.printConnected() self.printConnected()
else: else:
@ -90,16 +93,16 @@ class SQLAlchemy(GenericConnector):
retVal.append(tuple(row)) retVal.append(tuple(row))
return retVal return retVal
except _sqlalchemy.exc.ProgrammingError as ex: except _sqlalchemy.exc.ProgrammingError as ex:
logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % ex.message if hasattr(ex, "message") else ex) logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))
return None return None
def execute(self, query): def execute(self, query):
try: try:
self.cursor = self.connector.execute(query) self.cursor = self.connector.execute(query)
except (_sqlalchemy.exc.OperationalError, _sqlalchemy.exc.ProgrammingError) as ex: except (_sqlalchemy.exc.OperationalError, _sqlalchemy.exc.ProgrammingError) as ex:
logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % ex.message if hasattr(ex, "message") else ex) logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))
except _sqlalchemy.exc.InternalError as ex: except _sqlalchemy.exc.InternalError as ex:
raise SqlmapConnectionException(ex[1]) raise SqlmapConnectionException(getSafeExString(ex))
def select(self, query): def select(self, query):
self.execute(query) self.execute(query)