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

@@ -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):