Dealing with rare cases when getIdentifiedDbms is needed prior to DBMS isfingerprinted and there are multiples of dbmses inside details

This commit is contained in:
Miroslav Stampar 2012-10-28 01:11:50 +02:00
parent c1b8226329
commit bcdba7b7bb
2 changed files with 4 additions and 1 deletions

View File

@ -491,8 +491,9 @@ def checkSqlInjection(place, parameter, value):
if hasattr(test, "details"):
for dKey, dValue in test.details.items():
if dKey == "dbms":
injection.dbms = dValue
if not isinstance(dValue, list):
injection.dbms = Backend.setDbms(dValue)
Backend.setDbms(dValue)
else:
Backend.forceDbms(dValue[0], True)
elif dKey == "dbms_version" and injection.dbms_version is None and not conf.testFilter:

View File

@ -427,6 +427,8 @@ class Backend:
dbms = conf.dbms
elif len(Backend.getErrorParsedDBMSes()) > 0:
dbms = Backend.getErrorParsedDBMSes()[0]
elif kb.injection.dbms:
dbms = unArrayizeValue(kb.injection.dbms)
return aliasToDbmsEnum(dbms)