同步操作将从 yeqingchen1/sqlmap 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env python"""Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)See the file 'LICENSE' for copying permission"""import impimport loggingimport osimport sysimport tracebackimport warnings_sqlalchemy = Nonetry:f, pathname, desc = imp.find_module("sqlalchemy", sys.path[1:])_ = imp.load_module("sqlalchemy", f, pathname, desc)if hasattr(_, "dialects"):_sqlalchemy = _warnings.simplefilter(action="ignore", category=_sqlalchemy.exc.SAWarning)except ImportError:passtry:import MySQLdb # used by SQLAlchemy in case of MySQLwarnings.filterwarnings("error", category=MySQLdb.Warning)except ImportError:passfrom lib.core.data import conffrom lib.core.data import loggerfrom lib.core.exception import SqlmapConnectionExceptionfrom lib.core.exception import SqlmapFilePathExceptionfrom lib.core.exception import SqlmapMissingDependencefrom plugins.generic.connector import Connector as GenericConnectordef getSafeExString(ex, encoding=None): # Cross-referenced functionraise NotImplementedErrorclass SQLAlchemy(GenericConnector):def __init__(self, dialect=None):GenericConnector.__init__(self)self.dialect = dialectdef connect(self):if _sqlalchemy:self.initConnection()try:if not self.port and self.db:if not os.path.exists(self.db):raise SqlmapFilePathException("the provided database file '%s' does not exist" % self.db)_ = conf.direct.split("//", 1)conf.direct = "%s////%s" % (_[0], os.path.abspath(self.db))if self.dialect:conf.direct = conf.direct.replace(conf.dbms, self.dialect, 1)if self.dialect == "sqlite":engine = _sqlalchemy.create_engine(conf.direct, connect_args={"check_same_thread": False})elif self.dialect == "oracle":engine = _sqlalchemy.create_engine(conf.direct)else:engine = _sqlalchemy.create_engine(conf.direct, connect_args={})self.connector = engine.connect()except (TypeError, ValueError):if "_get_server_version_info" in traceback.format_exc():try:import pymssqlif int(pymssql.__version__[0]) < 2:raise SqlmapConnectionException("SQLAlchemy connection issue (obsolete version of pymssql ('%s') is causing problems)" % pymssql.__version__)except ImportError:passelif "invalid literal for int() with base 10: '0b" in traceback.format_exc():raise SqlmapConnectionException("SQLAlchemy connection issue ('https://bitbucket.org/zzzeek/sqlalchemy/issues/3975')")raiseexcept SqlmapFilePathException:raiseexcept Exception as ex:raise SqlmapConnectionException("SQLAlchemy connection issue ('%s')" % getSafeExString(ex))self.printConnected()else:raise SqlmapMissingDependence("SQLAlchemy not available")def fetchall(self):try:retVal = []for row in self.cursor.fetchall():retVal.append(tuple(row))return retValexcept _sqlalchemy.exc.ProgrammingError as ex:logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))return Nonedef execute(self, query):try:self.cursor = self.connector.execute(query)except (_sqlalchemy.exc.OperationalError, _sqlalchemy.exc.ProgrammingError) as ex:logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))except _sqlalchemy.exc.InternalError as ex:raise SqlmapConnectionException(getSafeExString(ex))def select(self, query):self.execute(query)return self.fetchall()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。