refactoring of hard coded dbms names

This commit is contained in:
Miroslav Stampar
2010-11-02 11:59:24 +00:00
parent 9d2c81baa9
commit 685a8e7d2c
35 changed files with 251 additions and 206 deletions

View File

@@ -8,12 +8,13 @@ See the file 'doc/COPYING' for copying permission
"""
from lib.core.data import logger
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "Microsoft Access")
GenericEnumeration.__init__(self, DBMS.ACCESS)
def getDbs(self):
warnMsg = "on Microsoft Access it is not possible to enumerate databases"

View File

@@ -20,6 +20,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import ACCESS_ALIASES
from lib.request.connect import Connect as Request
@@ -152,7 +153,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in ACCESS_ALIASES:
setDbms("Microsoft Access")
setDbms(DBMS.ACCESS)
if not conf.extensiveFp:
return True

View File

@@ -8,12 +8,13 @@ See the file 'doc/COPYING' for copying permission
"""
from lib.core.data import logger
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "Firebird")
GenericEnumeration.__init__(self, DBMS.FIREBIRD)
def getDbs(self):
warnMsg = "on Firebird it is not possible to enumerate databases"

View File

@@ -20,6 +20,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import FIREBIRD_ALIASES
from lib.request.connect import Connect as Request
@@ -103,7 +104,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in FIREBIRD_ALIASES:
setDbms("Firebird")
setDbms(DBMS.FIREBIRD)
self.getBanner()
@@ -131,7 +132,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("Firebird")
setDbms(DBMS.FIREBIRD)
self.getBanner()

View File

@@ -8,12 +8,13 @@ See the file 'doc/COPYING' for copying permission
"""
from lib.core.data import logger
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "SAP MaxDB")
GenericEnumeration.__init__(self, DBMS.MAXDB)
def getDbs(self):
warnMsg = "on SAP MaxDB it is not possible to enumerate databases"

View File

@@ -20,6 +20,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import MAXDB_ALIASES
from lib.request.connect import Connect as Request
@@ -105,7 +106,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in MAXDB_ALIASES:
setDbms("SAP MaxDB")
setDbms(DBMS.MAXDB)
self.getBanner()
@@ -133,7 +134,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("SAP MaxDB")
setDbms(DBMS.MAXDB)
self.getBanner()

View File

@@ -14,13 +14,14 @@ from lib.core.data import kb
from lib.core.data import logger
from lib.core.data import queries
from lib.core.exception import sqlmapNoneDataException
from lib.core.settings import DBMS
from lib.request import inject
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "Microsoft SQL Server")
GenericEnumeration.__init__(self, DBMS.MSSQL)
def getPrivileges(self):
warnMsg = "on Microsoft SQL Server it is not possible to fetch "

View File

@@ -17,6 +17,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import MSSQL_ALIASES
from lib.request import inject
from lib.request.connect import Connect as Request
@@ -71,7 +72,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in MSSQL_ALIASES and kb.dbmsVersion and kb.dbmsVersion[0].isdigit():
setDbms("Microsoft SQL Server %s" % kb.dbmsVersion[0])
setDbms("%s %s" % (DBMS.MSSQL, kb.dbmsVersion[0]))
self.getBanner()
@@ -133,9 +134,9 @@ class Fingerprint(GenericFingerprint):
break
if kb.dbmsVersion:
setDbms("Microsoft SQL Server %s" % kb.dbmsVersion[0])
setDbms("%s %s" % (DBMS.MSSQL, kb.dbmsVersion[0]))
else:
setDbms("Microsoft SQL Server")
setDbms(DBMS.MSSQL)
self.getBanner()

View File

@@ -7,8 +7,9 @@ Copyright (c) 2006-2010 sqlmap developers (http://sqlmap.sourceforge.net/)
See the file 'doc/COPYING' for copying permission
"""
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "MySQL")
GenericEnumeration.__init__(self, DBMS.MYSQL)

View File

@@ -19,6 +19,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import MYSQL_ALIASES
from lib.request import inject
from lib.request.connect import Connect as Request
@@ -141,7 +142,7 @@ class Fingerprint(GenericFingerprint):
"""
if conf.dbms in MYSQL_ALIASES and kb.dbmsVersion and kb.dbmsVersion[0].isdigit():
setDbms("MySQL %s" % kb.dbmsVersion[0])
setDbms("%s %s" % (DBMS.MYSQL, kb.dbmsVersion[0]))
if int(kb.dbmsVersion[0]) >= 5:
kb.data.has_information_schema = True
@@ -176,7 +177,7 @@ class Fingerprint(GenericFingerprint):
kb.data.has_information_schema = True
kb.dbmsVersion = [">= 5.0.0"]
setDbms("MySQL 5")
setDbms("%s 5" % DBMS.MYSQL)
self.getBanner()
@@ -214,7 +215,7 @@ class Fingerprint(GenericFingerprint):
else:
kb.dbmsVersion = ["< 5.0.0"]
setDbms("MySQL 4")
setDbms("%s 4" % DBMS.MYSQL)
self.getBanner()

View File

@@ -14,13 +14,14 @@ from lib.core.data import kb
from lib.core.data import logger
from lib.core.data import queries
from lib.core.exception import sqlmapNoneDataException
from lib.core.settings import DBMS
from lib.request import inject
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "Oracle")
GenericEnumeration.__init__(self, DBMS.ORACLE)
def getRoles(self, query2=False):
infoMsg = "fetching database users roles"

View File

@@ -17,6 +17,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import ORACLE_ALIASES
from lib.request import inject
from lib.request.connect import Connect as Request
@@ -64,7 +65,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in ORACLE_ALIASES:
setDbms("Oracle")
setDbms(DBMS.ORACLE)
self.getBanner()
@@ -100,7 +101,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("Oracle")
setDbms(DBMS.ORACLE)
self.getBanner()

View File

@@ -7,8 +7,9 @@ Copyright (c) 2006-2010 sqlmap developers (http://sqlmap.sourceforge.net/)
See the file 'doc/COPYING' for copying permission
"""
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "PostgreSQL")
GenericEnumeration.__init__(self, DBMS.POSTGRESQL)

View File

@@ -19,6 +19,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import PGSQL_ALIASES
from lib.core.settings import PGSQL_SYSTEM_DBS
from lib.request import inject
@@ -73,7 +74,7 @@ class Fingerprint(GenericFingerprint):
"""
if conf.dbms in PGSQL_ALIASES:
setDbms("PostgreSQL")
setDbms(DBMS.POSTGRESQL)
self.getBanner()
@@ -101,7 +102,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("PostgreSQL")
setDbms(DBMS.POSTGRESQL)
self.getBanner()

View File

@@ -10,12 +10,13 @@ See the file 'doc/COPYING' for copying permission
from lib.core.data import conf
from lib.core.data import logger
from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "SQLite")
GenericEnumeration.__init__(self, DBMS.SQLITE)
def getCurrentUser(self):
warnMsg = "on SQLite it is not possible to enumerate the current user"

View File

@@ -15,6 +15,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import SQLITE_ALIASES
from lib.request import inject
from lib.request.connect import Connect as Request
@@ -69,7 +70,7 @@ class Fingerprint(GenericFingerprint):
"""
if conf.dbms in SQLITE_ALIASES:
setDbms("SQLite")
setDbms(DBMS.SQLITE)
self.getBanner()
@@ -95,7 +96,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("SQLite")
setDbms(DBMS.SQLITE)
self.getBanner()

View File

@@ -10,9 +10,10 @@ See the file 'doc/COPYING' for copying permission
from lib.core.data import conf
from lib.core.data import logger
from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.core.settings import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration):
def __init__(self):
GenericEnumeration.__init__(self, "Sybase")
GenericEnumeration.__init__(self, DBMS.SYBASE)

View File

@@ -16,6 +16,7 @@ from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger
from lib.core.session import setDbms
from lib.core.settings import DBMS
from lib.core.settings import SYBASE_ALIASES
from lib.request import inject
from lib.request.connect import Connect as Request
@@ -63,7 +64,7 @@ class Fingerprint(GenericFingerprint):
def checkDbms(self):
if conf.dbms in SYBASE_ALIASES and kb.dbmsVersion and kb.dbmsVersion[0].isdigit():
setDbms("Sybase %s" % kb.dbmsVersion[0])
setDbms("%s %s" % (DBMS.SYBASE, kb.dbmsVersion[0]))
self.getBanner()
@@ -94,7 +95,7 @@ class Fingerprint(GenericFingerprint):
return False
setDbms("Sybase")
setDbms(DBMS.SYBASE)
self.getBanner()