Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sqlmapproject
GitHub Repository: sqlmapproject/sqlmap
Path: blob/master/plugins/dbms/derby/connector.py
2992 views
1
#!/usr/bin/env python
2
3
"""
4
Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org)
5
See the file 'LICENSE' for copying permission
6
"""
7
8
try:
9
import drda
10
except:
11
pass
12
13
import logging
14
15
from lib.core.common import getSafeExString
16
from lib.core.data import conf
17
from lib.core.data import logger
18
from lib.core.exception import SqlmapConnectionException
19
from plugins.generic.connector import Connector as GenericConnector
20
21
class Connector(GenericConnector):
22
"""
23
Homepage: https://github.com/nakagami/pydrda/
24
User guide: https://github.com/nakagami/pydrda/blob/master/README.rst
25
API: https://www.python.org/dev/peps/pep-0249/
26
License: MIT
27
"""
28
29
def connect(self):
30
self.initConnection()
31
32
try:
33
self.connector = drda.connect(host=self.hostname, database=self.db, port=self.port)
34
except drda.OperationalError as ex:
35
raise SqlmapConnectionException(getSafeExString(ex))
36
37
self.initCursor()
38
self.printConnected()
39
40
def fetchall(self):
41
try:
42
return self.cursor.fetchall()
43
except drda.ProgrammingError as ex:
44
logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))
45
return None
46
47
def execute(self, query):
48
try:
49
self.cursor.execute(query)
50
except (drda.OperationalError, drda.ProgrammingError) as ex:
51
logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))
52
except drda.InternalError as ex:
53
raise SqlmapConnectionException(getSafeExString(ex))
54
55
try:
56
self.connector.commit()
57
except drda.OperationalError:
58
pass
59
60
def select(self, query):
61
self.execute(query)
62
return self.fetchall()
63
64