diff --git a/plugins/generic/enumeration.py b/plugins/generic/enumeration.py index b292fe062..2961e04aa 100644 --- a/plugins/generic/enumeration.py +++ b/plugins/generic/enumeration.py @@ -896,7 +896,10 @@ class Enumeration: raise sqlmapMissingMandatoryOptionException, errMsg if "." in conf.tbl: - conf.db, conf.tbl = conf.tbl.split(".") + if not conf.db: + conf.db, conf.tbl = conf.tbl.split(".") + elif Backend.getIdentifiedDbms() == DBMS.MSSQL: + conf.tbl = "dbo.%s" % conf.tbl self.forceDbmsEnum() @@ -977,7 +980,7 @@ class Enumeration: query = rootQuery.inband.query % (conf.db, conf.db, conf.db, conf.db, conf.db, conf.db, - conf.db, conf.tbl) + conf.db, conf.tbl if '.' not in conf.tbl else conf.tbl.split('.')[1]) query += condQuery.replace("[DB]", conf.db) elif Backend.getIdentifiedDbms() == DBMS.SQLITE: query = rootQuery.inband.query % conf.tbl @@ -1016,7 +1019,8 @@ class Enumeration: query += condQuery elif Backend.getIdentifiedDbms() in DBMS.MSSQL: - query = rootQuery.blind.count % (conf.db, conf.db, conf.tbl) + query = rootQuery.blind.count % (conf.db, conf.db, \ + conf.tbl if '.' not in conf.tbl else conf.tbl.split('.')[1]) query += condQuery.replace("[DB]", conf.db) elif Backend.getIdentifiedDbms() == DBMS.FIREBIRD: @@ -1055,7 +1059,7 @@ class Enumeration: query = rootQuery.blind.query % (conf.db, conf.db, conf.db, conf.db, conf.db, conf.db, - conf.tbl) + conf.tbl if '.' not in conf.tbl else conf.tbl.split('.')[1]) query += condQuery.replace("[DB]", conf.db) field = condition.replace("[DB]", conf.db) elif Backend.getIdentifiedDbms() == DBMS.FIREBIRD: @@ -1203,7 +1207,10 @@ class Enumeration: return if "." in conf.tbl: - conf.db, conf.tbl = conf.tbl.split(".") + if not conf.db: + conf.db, conf.tbl = conf.tbl.split(".") + elif Backend.getIdentifiedDbms() == DBMS.MSSQL: + conf.tbl = "dbo.%s" % conf.tbl self.forceDbmsEnum() diff --git a/xml/queries.xml b/xml/queries.xml index 5f629e6c4..e15d7ea14 100644 --- a/xml/queries.xml +++ b/xml/queries.xml @@ -183,17 +183,17 @@ - - + + - + - +