diff --git a/lib/core/agent.py b/lib/core/agent.py index e44650c76..754578b16 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -12,6 +12,7 @@ import re from xml.etree import ElementTree as ET from lib.core.common import getCompiledRegex +from lib.core.common import getErrorParsedDBMSes from lib.core.common import isDBMSVersionAtLeast from lib.core.common import isTechniqueAvailable from lib.core.common import randomInt @@ -545,7 +546,7 @@ class Agent: conditionIndex = query.index(" FROM ") inbandQuery += query[conditionIndex:] - if kb.dbms == DBMS.ORACLE: + if kb.dbms == DBMS.ORACLE or DBMS.ORACLE in getErrorParsedDBMSes(): if " FROM " not in inbandQuery: inbandQuery += " FROM DUAL" diff --git a/lib/core/unescaper.py b/lib/core/unescaper.py index 02681e1a9..0cad913c6 100644 --- a/lib/core/unescaper.py +++ b/lib/core/unescaper.py @@ -7,6 +7,7 @@ Copyright (c) 2006-2010 sqlmap developers (http://sqlmap.sourceforge.net/) See the file 'doc/COPYING' for copying permission """ +from lib.core.common import getErrorParsedDBMSes from lib.core.data import kb from lib.core.datatype import advancedDict @@ -16,6 +17,8 @@ class Unescaper(advancedDict): return self[kb.dbms](expression, quote=quote) elif hasattr(kb.misc, "testedDbms") and kb.misc.testedDbms is not None: return self[kb.misc.testedDbms](expression, quote=quote) + elif getErrorParsedDBMSes(): + return self[getErrorParsedDBMSes()[0]](expression, quote=quote) elif dbms is not None: return self[dbms](expression, quote=quote) else: