mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-22 17:46:37 +03:00
Adding support for Apache Ignite (H2 fork)
This commit is contained in:
parent
4772a9243a
commit
feb1df6a05
|
@ -247,7 +247,7 @@ HEURISTIC_NULL_EVAL = {
|
||||||
DBMS.PRESTO: "FROM_HEX(NULL)",
|
DBMS.PRESTO: "FROM_HEX(NULL)",
|
||||||
DBMS.ALTIBASE: "TDESENCRYPT(NULL,NULL)",
|
DBMS.ALTIBASE: "TDESENCRYPT(NULL,NULL)",
|
||||||
DBMS.MIMERSQL: "ASCII_CHAR(256)",
|
DBMS.MIMERSQL: "ASCII_CHAR(256)",
|
||||||
DBMS.CRATEDB: "(NULL~NULL)",
|
DBMS.CRATEDB: "MD5(NULL~NULL)", # Note: NULL~NULL also being evaluated on H2 and Ignite
|
||||||
DBMS.CUBRID: "(NULL SETEQ NULL)",
|
DBMS.CUBRID: "(NULL SETEQ NULL)",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ class FORK(object):
|
||||||
REDSHIFT = "Amazon Redshift"
|
REDSHIFT = "Amazon Redshift"
|
||||||
GREENPLUM = "Greenplum"
|
GREENPLUM = "Greenplum"
|
||||||
DRIZZLE = "Drizzle"
|
DRIZZLE = "Drizzle"
|
||||||
|
IGNITE = "Apache Ignite"
|
||||||
|
|
||||||
class CUSTOM_LOGGING(object):
|
class CUSTOM_LOGGING(object):
|
||||||
PAYLOAD = 9
|
PAYLOAD = 9
|
||||||
|
|
|
@ -18,7 +18,7 @@ from lib.core.enums import OS
|
||||||
from thirdparty.six import unichr as _unichr
|
from thirdparty.six import unichr as _unichr
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.4.2.10"
|
VERSION = "1.4.2.11"
|
||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
||||||
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
||||||
|
@ -257,7 +257,7 @@ MAXDB_SYSTEM_DBS = ("SYSINFO", "DOMAIN")
|
||||||
SYBASE_SYSTEM_DBS = ("master", "model", "sybsystemdb", "sybsystemprocs")
|
SYBASE_SYSTEM_DBS = ("master", "model", "sybsystemdb", "sybsystemprocs")
|
||||||
DB2_SYSTEM_DBS = ("NULLID", "SQLJ", "SYSCAT", "SYSFUN", "SYSIBM", "SYSIBMADM", "SYSIBMINTERNAL", "SYSIBMTS", "SYSPROC", "SYSPUBLIC", "SYSSTAT", "SYSTOOLS")
|
DB2_SYSTEM_DBS = ("NULLID", "SQLJ", "SYSCAT", "SYSFUN", "SYSIBM", "SYSIBMADM", "SYSIBMINTERNAL", "SYSIBMTS", "SYSPROC", "SYSPUBLIC", "SYSSTAT", "SYSTOOLS")
|
||||||
HSQLDB_SYSTEM_DBS = ("INFORMATION_SCHEMA", "SYSTEM_LOB")
|
HSQLDB_SYSTEM_DBS = ("INFORMATION_SCHEMA", "SYSTEM_LOB")
|
||||||
H2_SYSTEM_DBS = ("INFORMATION_SCHEMA",)
|
H2_SYSTEM_DBS = ("INFORMATION_SCHEMA",) + ("IGNITE", "ignite-sys-cache")
|
||||||
INFORMIX_SYSTEM_DBS = ("sysmaster", "sysutils", "sysuser", "sysadmin")
|
INFORMIX_SYSTEM_DBS = ("sysmaster", "sysutils", "sysuser", "sysadmin")
|
||||||
MONETDB_SYSTEM_DBS = ("tmp", "json", "profiler")
|
MONETDB_SYSTEM_DBS = ("tmp", "json", "profiler")
|
||||||
DERBY_SYSTEM_DBS = ("NULLID", "SQLJ", "SYS", "SYSCAT", "SYSCS_DIAG", "SYSCS_UTIL", "SYSFUN", "SYSIBM", "SYSPROC", "SYSSTAT")
|
DERBY_SYSTEM_DBS = ("NULLID", "SQLJ", "SYS", "SYSCAT", "SYSCS_DIAG", "SYSCS_UTIL", "SYSFUN", "SYSIBM", "SYSPROC", "SYSSTAT")
|
||||||
|
@ -267,7 +267,7 @@ PRESTO_SYSTEM_DBS = ("information_schema",)
|
||||||
ALTIBASE_SYSTEM_DBS = ("SYSTEM_",)
|
ALTIBASE_SYSTEM_DBS = ("SYSTEM_",)
|
||||||
MIMERSQL_SYSTEM_DBS = ("information_schema", "SYSTEM",)
|
MIMERSQL_SYSTEM_DBS = ("information_schema", "SYSTEM",)
|
||||||
CRATEDB_SYSTEM_DBS = ("information_schema", "pg_catalog", "sys")
|
CRATEDB_SYSTEM_DBS = ("information_schema", "pg_catalog", "sys")
|
||||||
CUBRID_SYSTEM_DBS = ("",)
|
CUBRID_SYSTEM_DBS = ("DBA",)
|
||||||
|
|
||||||
# Note: (<regular>) + (<forks>)
|
# Note: (<regular>) + (<forks>)
|
||||||
MSSQL_ALIASES = ("microsoft sql server", "mssqlserver", "mssql", "ms")
|
MSSQL_ALIASES = ("microsoft sql server", "mssqlserver", "mssql", "ms")
|
||||||
|
|
|
@ -7,10 +7,14 @@ See the file 'LICENSE' for copying permission
|
||||||
|
|
||||||
from lib.core.common import Backend
|
from lib.core.common import Backend
|
||||||
from lib.core.common import Format
|
from lib.core.common import Format
|
||||||
|
from lib.core.common import hashDBRetrieve
|
||||||
|
from lib.core.common import hashDBWrite
|
||||||
from lib.core.data import conf
|
from lib.core.data import conf
|
||||||
from lib.core.data import kb
|
from lib.core.data import kb
|
||||||
from lib.core.data import logger
|
from lib.core.data import logger
|
||||||
from lib.core.enums import DBMS
|
from lib.core.enums import DBMS
|
||||||
|
from lib.core.enums import FORK
|
||||||
|
from lib.core.enums import HASHDB_KEYS
|
||||||
from lib.core.session import setDbms
|
from lib.core.session import setDbms
|
||||||
from lib.core.settings import H2_ALIASES
|
from lib.core.settings import H2_ALIASES
|
||||||
from lib.request import inject
|
from lib.request import inject
|
||||||
|
@ -21,6 +25,16 @@ class Fingerprint(GenericFingerprint):
|
||||||
GenericFingerprint.__init__(self, DBMS.H2)
|
GenericFingerprint.__init__(self, DBMS.H2)
|
||||||
|
|
||||||
def getFingerprint(self):
|
def getFingerprint(self):
|
||||||
|
fork = hashDBRetrieve(HASHDB_KEYS.DBMS_FORK)
|
||||||
|
|
||||||
|
if fork is None:
|
||||||
|
if inject.checkBooleanExpression("EXISTS(SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='IGNITE')"):
|
||||||
|
fork = FORK.IGNITE
|
||||||
|
else:
|
||||||
|
fork = ""
|
||||||
|
|
||||||
|
hashDBWrite(HASHDB_KEYS.DBMS_FORK, fork)
|
||||||
|
|
||||||
value = ""
|
value = ""
|
||||||
wsOsFp = Format.getOs("web server", kb.headersFp)
|
wsOsFp = Format.getOs("web server", kb.headersFp)
|
||||||
|
|
||||||
|
@ -37,6 +51,8 @@ class Fingerprint(GenericFingerprint):
|
||||||
|
|
||||||
if not conf.extensiveFp:
|
if not conf.extensiveFp:
|
||||||
value += DBMS.H2
|
value += DBMS.H2
|
||||||
|
if fork:
|
||||||
|
value += " (%s fork)" % fork
|
||||||
return value
|
return value
|
||||||
|
|
||||||
actVer = Format.getDbms()
|
actVer = Format.getDbms()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user