diff --git a/src/sqlmap-master/plugins/dbms/mysql/connector.py b/src/sqlmap-master/plugins/dbms/mysql/connector.py index e965bfe..266cb93 100644 --- a/src/sqlmap-master/plugins/dbms/mysql/connector.py +++ b/src/sqlmap-master/plugins/dbms/mysql/connector.py @@ -13,11 +13,12 @@ except: import logging import struct -from lib.core.common import getSafeExString -from lib.core.data import conf -from lib.core.data import logger -from lib.core.exception import SqlmapConnectionException -from plugins.generic.connector import Connector as GenericConnector +from lib.core.common import getSafeExString # 用于安全获取异常字符串的函数 +from lib.core.data import conf # sqlmap的配置管理 +from lib.core.data import logger # sqlmap的日志记录模块 +from lib.core.exception import SqlmapConnectionException # 自定义的连接异常 +from plugins.generic.connector import Connector as GenericConnector # 基础连接类 + class Connector(GenericConnector): """ @@ -30,17 +31,28 @@ class Connector(GenericConnector): """ def connect(self): + """ + 初始化到MySQL数据库的连接。 + 使用提供的凭据和配置设置建立连接。 + """ self.initConnection() try: - self.connector = pymysql.connect(host=self.hostname, user=self.user, passwd=self.password, db=self.db, port=self.port, connect_timeout=conf.timeout, use_unicode=True) + self.connector = pymysql.connect(host=self.hostname, user=self.user, passwd=self.password, db=self.db, port=self.port, connect_timeout=conf.timeout, use_unicode=True) # 确保使用Unicode进行字符编码 except (pymysql.OperationalError, pymysql.InternalError, pymysql.ProgrammingError, struct.error) as ex: + # 如果在连接期间发生错误,抛出连接异常 raise SqlmapConnectionException(getSafeExString(ex)) - self.initCursor() - self.printConnected() + self.initCursor() # 初始化用于执行查询的游标 + self.printConnected() # 记录连接成功的信息 def fetchall(self): + """ + 从游标结果集中获取所有行。 + + 返回: + 从数据库获取的行列表,或者在发生错误时返回None。 + """ try: return self.cursor.fetchall() except pymysql.ProgrammingError as ex: @@ -48,6 +60,17 @@ class Connector(GenericConnector): return None def execute(self, query): + + """ + 在数据库上执行SQL查询。 + + 参数: + query (str): 要执行的SQL查询。 + + 返回: + bool: 如果查询成功执行,返回True;否则返回False。 + """ + retVal = False try: @@ -63,6 +86,15 @@ class Connector(GenericConnector): return retVal def select(self, query): + """ + 执行SELECT SQL查询并返回结果。 + + 参数: + query (str): 要执行的SELECT SQL查询。 + + 返回: + 从数据库获取的行列表,或者如果执行失败则返回None。 + """ retVal = None if self.execute(query):