mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-09-20 11:02:27 +03:00
Optimize Apache Doris detection with more reliable logic
- Use VERSION()='5.7.99' as primary fingerprint (Apache Doris hardcoded value) - Add dual verification: VERSION()='5.7.99' AND @@VERSION_COMMENT LIKE '%Doris%' - Prioritize StarRocks detection to avoid confusion - Provide fallback detection for restricted environments - Based on official Doris documentation: version() always returns '5.7.99' This implementation follows best practices: 1. StarRocks checked first (returns real versions like 5.1.0) 2. Combined verification for Apache Doris (5.7.99 + banner) 3. Fallback to version-only detection when VERSION_COMMENT inaccessible 4. Leverages the fact that MySQL never released version 5.7.99
This commit is contained in:
parent
70ae4236de
commit
6583472ccf
|
@ -105,12 +105,12 @@ class Fingerprint(GenericFingerprint):
|
|||
fork = FORK.PERCONA
|
||||
elif inject.checkBooleanExpression("AURORA_VERSION() LIKE '%'"): # Reference: https://aws.amazon.com/premiumsupport/knowledge-center/aurora-version-number/
|
||||
fork = FORK.AURORA
|
||||
elif inject.checkBooleanExpression("VERSION() LIKE '5.7.99'"): # Reference: Apache Doris returns fixed version 5.7.99 for MySQL compatibility
|
||||
fork = FORK.DORIS
|
||||
elif inject.checkBooleanExpression("@@VERSION_COMMENT LIKE '%Doris%'"): # Reference: Apache Doris version comment contains 'Doris'
|
||||
fork = FORK.DORIS
|
||||
elif inject.checkBooleanExpression("@@VERSION_COMMENT LIKE '%StarRocks%'"): # Reference: StarRocks version comment contains 'StarRocks'
|
||||
elif inject.checkBooleanExpression("@@VERSION_COMMENT LIKE '%StarRocks%'"): # Reference: StarRocks version comment contains 'StarRocks' - check first to avoid confusion
|
||||
fork = FORK.STARROCKS
|
||||
elif inject.checkBooleanExpression("VERSION()='5.7.99' AND @@VERSION_COMMENT LIKE '%Doris%'"): # Reference: Apache Doris hardcoded version 5.7.99 + banner confirmation
|
||||
fork = FORK.DORIS
|
||||
elif inject.checkBooleanExpression("VERSION()='5.7.99'"): # Reference: Apache Doris hardcoded version 5.7.99 (fallback if VERSION_COMMENT inaccessible)
|
||||
fork = FORK.DORIS
|
||||
else:
|
||||
fork = ""
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user