Minor update of fingerprinting methods

This commit is contained in:
Miroslav Stampar
2025-02-10 23:17:16 +01:00
parent f144f10ebe
commit 4dd98cc8f3
4 changed files with 11 additions and 6 deletions

View File

@@ -45,10 +45,13 @@ class Fingerprint(GenericFingerprint):
# Reference: https://dev.mysql.com/doc/relnotes/mysql/<major>.<minor>/en/
versions = (
(90100, 90102), # MySQL 9.1
(90000, 90002), # MySQL 9.0
(80400, 80404), # MySQL 8.4
(80300, 80302), # MySQL 8.3
(80200, 80202), # MySQL 8.2
(80100, 80102), # MySQL 8.1
(80000, 80037), # MySQL 8.0
(80000, 80041), # MySQL 8.0
(60000, 60014), # MySQL 6.0
(50700, 50745), # MySQL 5.7
(50600, 50652), # MySQL 5.6

View File

@@ -133,7 +133,9 @@ class Fingerprint(GenericFingerprint):
infoMsg = "actively fingerprinting %s" % DBMS.PGSQL
logger.info(infoMsg)
if inject.checkBooleanExpression("RANDOM_NORMAL(0.0, 1.0) IS NOT NULL"):
if inject.checkBooleanExpression("JSON_QUERY(NULL::jsonb, '$') IS NULL"):
Backend.setVersion(">= 17.0")
elif inject.checkBooleanExpression("RANDOM_NORMAL(0.0, 1.0) IS NOT NULL"):
Backend.setVersion(">= 16.0")
elif inject.checkBooleanExpression("REGEXP_COUNT(NULL,NULL) IS NULL"):
Backend.setVersion(">= 15.0")