Path: blob/master/plugins/dbms/snowflake/connector.py
3556 views
#!/usr/bin/env python12"""3Copyright (c) 2006-2026 sqlmap developers (https://sqlmap.org)4See the file 'LICENSE' for copying permission5"""67try:8import snowflake.connector9except:10pass1112import logging1314from lib.core.common import getSafeExString15from lib.core.convert import getText16from lib.core.data import conf17from lib.core.data import logger18from lib.core.exception import SqlmapConnectionException19from plugins.generic.connector import Connector as GenericConnector2021class Connector(GenericConnector):22"""23Homepage: https://www.snowflake.com/24User guide: https://docs.snowflake.com/en/developer-guide/python-connector/python-connector25API: https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api26"""2728def __init__(self):29GenericConnector.__init__(self)3031def connect(self):32self.initConnection()3334try:35self.connector = snowflake.connector.connect(36user=self.user,37password=self.password,38account=self.account,39warehouse=self.warehouse,40database=self.db,41schema=self.schema42)43cursor = self.connector.cursor()44cursor.execute("SELECT CURRENT_VERSION()")45cursor.close()4647except Exception as ex:48raise SqlmapConnectionException(getSafeExString(ex))4950self.initCursor()51self.printConnected()5253def fetchall(self):54try:55return self.cursor.fetchall()56except Exception as ex:57logger.log(logging.WARNING if conf.dbmsHandler else logging.DEBUG, "(remote) '%s'" % getSafeExString(ex))58return None5960def execute(self, query):61try:62self.cursor.execute(getText(query))63except Exception as ex:64logger.log(logging.WARNING if conf.dbmsHandler else logging.DEBUG, "(remote) '%s'" % getSafeExString(ex))65return None6667def select(self, query):68self.execute(query)69return self.fetchall()707172