Adding some initial support for DM8 (#5894)

This commit is contained in:
Miroslav Stampar 2025-05-08 15:30:29 +02:00
parent bee6698807
commit 45d5a88150
4 changed files with 24 additions and 4 deletions

View File

@ -175,7 +175,7 @@ bdd1b5b3eb42cffdc1be78b8fe4e1bb2ec17cd86440a7aeb08fc599205089e94 lib/core/decor
9219f0bd659e4e22f4238ca67830adcb1e86041ce7fd3a8ae0e842f2593ae043 lib/core/defaults.py
123859300c89a741009f679459291d6028968c609c0c3f485b3fc5cd616065f0 lib/core/dicts.py
65fb5a2fc7b3bb502cc2db684370f213ab76bff875f3cf72ef2b9ace774efda9 lib/core/dump.py
0e28c66ea9dfa1b721cfca63c364bdc139f53ebc8f9c57126b0af7dc6b433dcc lib/core/enums.py
20cae8064045fbb3a257bca27cf90fad6972cc3307608f2c67c29c34a0583d58 lib/core/enums.py
64bf6a5c2e456306a7b4f4c51f077412daf6c697fed232d8e23b77fd1a4c736e lib/core/exception.py
93c256111dc753967169988e1289a0ea10ec77bfb8e2cbd1f6725e939bfbc235 lib/core/gui.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/core/__init__.py
@ -188,7 +188,7 @@ c6a182f6b7d3b0ad6f0888ea2a4de4148f0770549038d7de8bc3267b4c6635f7 lib/core/readl
63ae69713c6ea9abfa10e71dfab8f2dcf42432177a38d2c1e98785bf1468674c lib/core/replication.py
5bad5bc7115051cef7b84efa73fbafbf5e1db46eef32a445056b56cda750b66f lib/core/revision.py
0dcb52c9c76a4b0acf2e9038f7d8f08c14543cef3cf7032831c6c0a99376ad24 lib/core/session.py
f2f4ae2166c3ff771baffaf5c4540e273ed6b583254a55b7a80adc160b7a6396 lib/core/settings.py
0bbe808ad64238a5105f754f552bbb45baa0b5075923a2ee4df2aca7dfc3a640 lib/core/settings.py
a1e4f2860bffc73bbf2e5db293fa49dcb600ea35f950cda43dc953b3160ab3db lib/core/shell.py
841716e87b90a3b598515910841f7cf8d33bb87c24a27fba1a80e36a831cbcd7 lib/core/subprocessng.py
9731092f195e346716929323ea3c93247b23b9b92b0f32d3fd0acc3adf9876cc lib/core/target.py
@ -406,7 +406,7 @@ eb59dd2ce04fa676375166549b532e0a5b6cb4c1666b7b2b780446d615aefb07 plugins/dbms/m
057180682be97f3604e9f8e6bd160080a3ae154e45417ad71735c3a398ed4dfd plugins/dbms/oracle/connector.py
78e46d8d3635df6320cb6681b15f8cfaa6b5a99d6d2faf4a290a78e0c34b4431 plugins/dbms/oracle/enumeration.py
742ad0eb5c11920952314caaf85bb8d1e617c68b7ba6564f66bce4a8630219e7 plugins/dbms/oracle/filesystem.py
14efe3828c8693952bf9d9e2925091a5b4b6862a242b943525c268a3bc4735b9 plugins/dbms/oracle/fingerprint.py
43a7237962b33272676453fe459a2c961cc01487fe1357868c6c399a444d7729 plugins/dbms/oracle/fingerprint.py
04653ad487de6927e9fcd29e8c5668da8210a02ad3d4ac89707bd1c38307c9b5 plugins/dbms/oracle/__init__.py
d5c9bba081766f14d14e2898d1a041f97961bebac3cf3e891f8942b31c28b47e plugins/dbms/oracle/syntax.py
4c83f4d043e5492b0b0ec1db677cbc61f450c8bd6f2314ee8cb4555b00bb64a6 plugins/dbms/oracle/takeover.py

View File

@ -107,6 +107,7 @@ class FORK(object):
IRIS = "Iris"
YUGABYTEDB = "YugabyteDB"
OPENGAUSS = "OpenGauss"
DM8 = "DM8"
class CUSTOM_LOGGING(object):
PAYLOAD = 9

View File

@ -19,7 +19,7 @@ from lib.core.enums import OS
from thirdparty import six
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.9.5.4"
VERSION = "1.9.5.5"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
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)

View File

@ -9,10 +9,14 @@ import re
from lib.core.common import Backend
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 kb
from lib.core.data import logger
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.settings import ORACLE_ALIASES
from lib.request import inject
@ -23,6 +27,16 @@ class Fingerprint(GenericFingerprint):
GenericFingerprint.__init__(self, DBMS.ORACLE)
def getFingerprint(self):
fork = hashDBRetrieve(HASHDB_KEYS.DBMS_FORK)
if fork is None:
if inject.checkBooleanExpression("NULL_EQU(NULL,NULL)=1"):
fork = FORK.DM8
else:
fork = ""
hashDBWrite(HASHDB_KEYS.DBMS_FORK, fork)
value = ""
wsOsFp = Format.getOs("web server", kb.headersFp)
@ -39,6 +53,8 @@ class Fingerprint(GenericFingerprint):
if not conf.extensiveFp:
value += DBMS.ORACLE
if fork:
value += " (%s fork)" % fork
return value
actVer = Format.getDbms()
@ -57,6 +73,9 @@ class Fingerprint(GenericFingerprint):
if htmlErrorFp:
value += "\n%shtml error message fingerprint: %s" % (blank, htmlErrorFp)
if fork:
value += "\n%sfork fingerprint: %s" % (blank, fork)
return value
def checkDbms(self):