mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-03-03 19:55:47 +03:00
Fixes #3681
This commit is contained in:
parent
b35c8e557d
commit
c14c471490
|
@ -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):
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user