From 71cf0bd2a5b21ec8b2780eb56e3ba6c705eb21c8 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sat, 18 Dec 2010 13:08:37 +0000 Subject: [PATCH] minor update --- plugins/dbms/mysql/fingerprint.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/dbms/mysql/fingerprint.py b/plugins/dbms/mysql/fingerprint.py index fbd1d789b..1b6affeb0 100644 --- a/plugins/dbms/mysql/fingerprint.py +++ b/plugins/dbms/mysql/fingerprint.py @@ -179,7 +179,8 @@ class Fingerprint(GenericFingerprint): return False # Determine if it is MySQL >= 5.0.0 - if inject.checkBooleanExpression("%s=(SELECT %s FROM information_schema.TABLES LIMIT 0, 1)" % (randInt, randInt)): + #if inject.checkBooleanExpression("%s=(SELECT %s FROM information_schema.TABLES LIMIT 0, 1)" % (randInt, randInt)): + if inject.checkBooleanExpression("EXISTS(SELECT %s FROM information_schema.TABLES)" % randInt): kb.data.has_information_schema = True kb.dbmsVersion = [">= 5.0.0"] @@ -217,6 +218,12 @@ class Fingerprint(GenericFingerprint): else: kb.dbmsVersion = [">= 5.0.0", "<= 5.0.1"] + # For cases when information_schema is missing + elif inject.checkBooleanExpression("DATABASE() LIKE SCHEMA()"): + kb.dbmsVersion = [">= 5.0.2"] + setDbms("%s 5" % DBMS.MYSQL) + self.getBanner() + # Otherwise assume it is MySQL < 5.0.0 else: kb.dbmsVersion = ["< 5.0.0"]