diff --git a/lib/techniques/brute/use.py b/lib/techniques/brute/use.py
index 5f6d40c03..4bf9392c8 100644
--- a/lib/techniques/brute/use.py
+++ b/lib/techniques/brute/use.py
@@ -35,7 +35,9 @@ def tableExists(tableFile):
length = len(tables)
for table in tables:
- query = agent.prefixQuery("%s" % safeStringFormat("AND EXISTS(SELECT %d FROM %s)", (randomInt(1), table if not conf.db else "%s.%s" % (conf.db, table))))
+ if conf.db and '(*)' not in conf.db:
+ table = "%s.%s" % (conf.db, table)
+ query = agent.prefixQuery("%s" % safeStringFormat("AND EXISTS(SELECT %d FROM %s)", (randomInt(1), table)))
query = agent.postfixQuery(query)
result = Request.queryPage(agent.payload(newValue=query))
@@ -71,7 +73,11 @@ def columnExists(columnFile):
raise sqlmapMissingMandatoryOptionException, errMsg
columns = getFileItems(columnFile)
- table = conf.tbl if not conf.db else ("%s.%s" % (conf.db, conf.tbl))
+ if conf.db and '(*)' not in conf.db:
+ table = "%s.%s" % (conf.db, conf.tbl)
+ else:
+ table = conf.tbl
+
retVal = []
infoMsg = "checking column existence using items from '%s'" % columnFile
logger.info(infoMsg)
diff --git a/plugins/dbms/access/fingerprint.py b/plugins/dbms/access/fingerprint.py
index 76e686a9e..5aa2738af 100644
--- a/plugins/dbms/access/fingerprint.py
+++ b/plugins/dbms/access/fingerprint.py
@@ -191,4 +191,4 @@ class Fingerprint(GenericFingerprint):
return False
def forceDbmsEnum(self):
- conf.db = "Access"
+ conf.db = "Access (*)"
diff --git a/plugins/dbms/firebird/fingerprint.py b/plugins/dbms/firebird/fingerprint.py
index 139f2b73c..41026d474 100644
--- a/plugins/dbms/firebird/fingerprint.py
+++ b/plugins/dbms/firebird/fingerprint.py
@@ -149,4 +149,4 @@ class Fingerprint(GenericFingerprint):
return False
def forceDbmsEnum(self):
- conf.db = "Firebird"
+ conf.db = "Firebird (*)"
diff --git a/plugins/dbms/maxdb/fingerprint.py b/plugins/dbms/maxdb/fingerprint.py
index 44968d492..db2fcd327 100644
--- a/plugins/dbms/maxdb/fingerprint.py
+++ b/plugins/dbms/maxdb/fingerprint.py
@@ -151,4 +151,4 @@ class Fingerprint(GenericFingerprint):
return False
def forceDbmsEnum(self):
- conf.db = "SAP MaxDB"
+ conf.db = "SAP MaxDB (*)"
diff --git a/plugins/dbms/sqlite/fingerprint.py b/plugins/dbms/sqlite/fingerprint.py
index ec3890f12..eeac695db 100644
--- a/plugins/dbms/sqlite/fingerprint.py
+++ b/plugins/dbms/sqlite/fingerprint.py
@@ -114,4 +114,4 @@ class Fingerprint(GenericFingerprint):
return False
def forceDbmsEnum(self):
- conf.db = "SQLite"
+ conf.db = "SQLite (*)"
diff --git a/plugins/generic/enumeration.py b/plugins/generic/enumeration.py
index 9bd587a7c..af4b17245 100644
--- a/plugins/generic/enumeration.py
+++ b/plugins/generic/enumeration.py
@@ -1155,7 +1155,7 @@ class Enumeration:
if kb.dbms == DBMS.ORACLE:
query = rootQuery.blind.count % conf.tbl.upper()
- elif kb.dbms == DBMS.SQLITE:
+ elif kb.dbms in (DBMS.SQLITE, DBMS.ACCESS):
query = rootQuery.blind.count % conf.tbl
else:
query = rootQuery.blind.count % (conf.db, conf.tbl)
diff --git a/xml/queries.xml b/xml/queries.xml
index 20bd4944c..6197f50c9 100644
--- a/xml/queries.xml
+++ b/xml/queries.xml
@@ -364,6 +364,10 @@
+
+
+
+