Skip to content

Commit 44b00d6

Browse files
committed
Fixes #2312
1 parent afc3b30 commit 44b00d6

File tree

8 files changed

+35
-21
lines changed

8 files changed

+35
-21
lines changed

lib/core/common.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3154,7 +3154,16 @@ def unhandledExceptionMessage():
31543154
errMsg += "Operating system: %s\n" % PLATFORM
31553155
errMsg += "Command line: %s\n" % re.sub(r".+?\bsqlmap.py\b", "sqlmap.py", getUnicode(" ".join(sys.argv), encoding=sys.stdin.encoding))
31563156
errMsg += "Technique: %s\n" % (enumValueToNameLookup(PAYLOAD.TECHNIQUE, kb.technique) if kb.get("technique") else ("DIRECT" if conf.get("direct") else None))
3157-
errMsg += "Back-end DBMS: %s" % ("%s (fingerprinted)" % Backend.getDbms() if Backend.getDbms() is not None else "%s (identified)" % Backend.getIdentifiedDbms())
3157+
errMsg += "Back-end DBMS:"
3158+
3159+
if Backend.getDbms() is not None:
3160+
errMsg += " %s (fingerprinted)" % Backend.getDbms()
3161+
3162+
if Backend.getIdentifiedDbms() is not None and (Backend.getDbms() is None or Backend.getIdentifiedDbms() != Backend.getDbms()):
3163+
errMsg += " %s (identified)" % Backend.getIdentifiedDbms()
3164+
3165+
if not errMsg.endswith(')'):
3166+
errMsg += " None"
31583167

31593168
return errMsg
31603169

lib/core/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from lib.core.enums import OS
2020

2121
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
22-
VERSION = "1.0.12.13"
22+
VERSION = "1.0.12.14"
2323
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
2424
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
2525
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

plugins/dbms/hsqldb/enumeration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from lib.core.data import queries
1313
from lib.core.common import Backend
1414
from lib.core.common import unArrayizeValue
15+
from lib.core.enums import DBMS
1516
from lib.core.settings import HSQLDB_DEFAULT_SCHEMA
1617
from lib.request import inject
1718

@@ -27,7 +28,7 @@ def getBanner(self):
2728
infoMsg = "fetching banner"
2829
logger.info(infoMsg)
2930

30-
query = queries[Backend.getIdentifiedDbms()].banner.query
31+
query = queries[DBMS.HSQLDB].banner.query
3132
kb.data.banner = unArrayizeValue(inject.getValue(query, safeCharEncode=True))
3233

3334
return kb.data.banner

plugins/dbms/maxdb/enumeration.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from lib.core.data import logger
1616
from lib.core.data import paths
1717
from lib.core.data import queries
18+
from lib.core.enums import DBMS
1819
from lib.core.exception import SqlmapMissingMandatoryOptionException
1920
from lib.core.exception import SqlmapNoneDataException
2021
from lib.core.exception import SqlmapUserQuitException
@@ -42,7 +43,7 @@ def getDbs(self):
4243
infoMsg = "fetching database names"
4344
logger.info(infoMsg)
4445

45-
rootQuery = queries[Backend.getIdentifiedDbms()].dbs
46+
rootQuery = queries[DBMS.MAXDB].dbs
4647
randStr = randomStr()
4748
query = rootQuery.inband.query
4849
retVal = pivotDumpTable("(%s) AS %s" % (query, randStr), ['%s.schemaname' % randStr], blind=True)
@@ -76,7 +77,7 @@ def getTables(self, bruteForce=None):
7677
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, basestring) else db[0] for db in sorted(dbs)))
7778
logger.info(infoMsg)
7879

79-
rootQuery = queries[Backend.getIdentifiedDbms()].tables
80+
rootQuery = queries[DBMS.MAXDB].tables
8081

8182
for db in dbs:
8283
randStr = randomStr()
@@ -181,7 +182,7 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None, dumpMod
181182
else:
182183
return columnExists(paths.COMMON_COLUMNS)
183184

184-
rootQuery = queries[Backend.getIdentifiedDbms()].columns
185+
rootQuery = queries[DBMS.MAXDB].columns
185186

186187
for tbl in tblList:
187188
if conf.db is not None and len(kb.data.cachedColumns) > 0 \

plugins/dbms/mssqlserver/enumeration.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from lib.core.data import logger
2323
from lib.core.data import queries
2424
from lib.core.enums import CHARSET_TYPE
25+
from lib.core.enums import DBMS
2526
from lib.core.enums import EXPECTED
2627
from lib.core.enums import PAYLOAD
2728
from lib.core.exception import SqlmapNoneDataException
@@ -88,7 +89,7 @@ def getTables(self):
8889
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, basestring) else db[0] for db in sorted(dbs)))
8990
logger.info(infoMsg)
9091

91-
rootQuery = queries[Backend.getIdentifiedDbms()].tables
92+
rootQuery = queries[DBMS.MSSQL].tables
9293

9394
if any(isTechniqueAvailable(_) for _ in (PAYLOAD.TECHNIQUE.UNION, PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.QUERY)) or conf.direct:
9495
for db in dbs:
@@ -164,7 +165,7 @@ def getTables(self):
164165
def searchTable(self):
165166
foundTbls = {}
166167
tblList = conf.tbl.split(",")
167-
rootQuery = queries[Backend.getIdentifiedDbms()].search_table
168+
rootQuery = queries[DBMS.MSSQL].search_table
168169
tblCond = rootQuery.inband.condition
169170
tblConsider, tblCondParam = self.likeOrExact("table")
170171

@@ -263,7 +264,7 @@ def searchTable(self):
263264
self.dumpFoundTables(foundTbls)
264265

265266
def searchColumn(self):
266-
rootQuery = queries[Backend.getIdentifiedDbms()].search_column
267+
rootQuery = queries[DBMS.MSSQL].search_column
267268
foundCols = {}
268269
dbs = {}
269270
whereTblsQuery = ""

plugins/dbms/oracle/enumeration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from lib.core.data import logger
1818
from lib.core.data import queries
1919
from lib.core.enums import CHARSET_TYPE
20+
from lib.core.enums import DBMS
2021
from lib.core.enums import EXPECTED
2122
from lib.core.enums import PAYLOAD
2223
from lib.core.exception import SqlmapNoneDataException
@@ -30,7 +31,7 @@ def __init__(self):
3031
def getRoles(self, query2=False):
3132
infoMsg = "fetching database users roles"
3233

33-
rootQuery = queries[Backend.getIdentifiedDbms()].roles
34+
rootQuery = queries[DBMS.ORACLE].roles
3435

3536
if conf.user == "CU":
3637
infoMsg += " for current user"

plugins/dbms/sybase/enumeration.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from lib.core.data import paths
2020
from lib.core.data import queries
2121
from lib.core.dicts import SYBASE_TYPES
22+
from lib.core.enums import DBMS
2223
from lib.core.enums import PAYLOAD
2324
from lib.core.exception import SqlmapMissingMandatoryOptionException
2425
from lib.core.exception import SqlmapNoneDataException
@@ -36,7 +37,7 @@ def getUsers(self):
3637
infoMsg = "fetching database users"
3738
logger.info(infoMsg)
3839

39-
rootQuery = queries[Backend.getIdentifiedDbms()].users
40+
rootQuery = queries[DBMS.SYBASE].users
4041

4142
randStr = randomStr()
4243
query = rootQuery.inband.query
@@ -93,7 +94,7 @@ def getDbs(self):
9394
infoMsg = "fetching database names"
9495
logger.info(infoMsg)
9596

96-
rootQuery = queries[Backend.getIdentifiedDbms()].dbs
97+
rootQuery = queries[DBMS.SYBASE].dbs
9798
randStr = randomStr()
9899
query = rootQuery.inband.query
99100

@@ -142,7 +143,7 @@ def getTables(self, bruteForce=None):
142143
else:
143144
blinds = [True]
144145

145-
rootQuery = queries[Backend.getIdentifiedDbms()].tables
146+
rootQuery = queries[DBMS.SYBASE].tables
146147

147148
for db in dbs:
148149
for blind in blinds:
@@ -249,7 +250,7 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None, dumpMod
249250
else:
250251
return columnExists(paths.COMMON_COLUMNS)
251252

252-
rootQuery = queries[Backend.getIdentifiedDbms()].columns
253+
rootQuery = queries[DBMS.SYBASE].columns
253254

254255
if any(isTechniqueAvailable(_) for _ in (PAYLOAD.TECHNIQUE.UNION, PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.QUERY)) or conf.direct:
255256
blinds = [False, True]

txt/checksum.md5

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ec007a1424da78cfdae90da6ae49ed9b lib/controller/handler.py
2626
cc9c82cfffd8ee9b25ba3af6284f057e lib/controller/__init__.py
2727
cdffff6260c40ccb4e4092fc21d9d63f lib/core/agent.py
2828
eb0bd28b0bd9fbf67dcc3119116df377 lib/core/bigarray.py
29-
55f6745ac8157ba1b6b0ba1b4ce78d78 lib/core/common.py
29+
0858265d173bf1aecc9cd468ac7d43fe lib/core/common.py
3030
ab5ef8fe4e4beaef4016d458d0fdefe3 lib/core/convert.py
3131
e77cca1cb063016f71f6e6bdebf4ec73 lib/core/data.py
3232
1d042f0bc0557d3fd564ea5a46deb77e lib/core/datatype.py
@@ -45,7 +45,7 @@ e60456db5380840a586654344003d4e6 lib/core/readlineng.py
4545
b3a62d41a5af6cd7fa733b6227febb0c lib/core/replication.py
4646
dfb664b223ac3585d51e58839b777d9b lib/core/revision.py
4747
7c15dd2777af4dac2c89cab6df17462e lib/core/session.py
48-
731e3372164a2d0283444f90bbbb150b lib/core/settings.py
48+
f6750f9990821025ee93de4561b534bc lib/core/settings.py
4949
7af83e4f18cab6dff5e67840eb65be80 lib/core/shell.py
5050
23657cd7d924e3c6d225719865855827 lib/core/subprocessng.py
5151
c3ace7874a536d801f308cf1fd03df99 lib/core/target.py
@@ -137,7 +137,7 @@ b95216204096179fd50004c489ba5c6e plugins/dbms/db2/fingerprint.py
137137
0d257a96a54ec2f25798d1c2d8b92227 plugins/dbms/firebird/syntax.py
138138
80496d64b22c10ed4893b4149a162365 plugins/dbms/firebird/takeover.py
139139
e125fb5d8d75861532a01828d829d85e plugins/dbms/hsqldb/connector.py
140-
8fbc4653d0c880ca78278c8ae6823136 plugins/dbms/hsqldb/enumeration.py
140+
a6ae46720f32136613a6b44174a1086d plugins/dbms/hsqldb/enumeration.py
141141
b763ce42f66f7b81d05130bbd3e383a9 plugins/dbms/hsqldb/filesystem.py
142142
c9d59b7c60aa0f0b23f920f932547e40 plugins/dbms/hsqldb/fingerprint.py
143143
d278ad5f1c13fea871ed1120942244d5 plugins/dbms/hsqldb/__init__.py
@@ -152,14 +152,14 @@ e96b4721cfc65271a2de948c47474aaa plugins/dbms/informix/syntax.py
152152
5f130772d2295ae61140acba894eaceb plugins/dbms/informix/takeover.py
153153
cc9c82cfffd8ee9b25ba3af6284f057e plugins/dbms/__init__.py
154154
4c8667e8af763ddf82ee314c6681d4e1 plugins/dbms/maxdb/connector.py
155-
075fd66b8bbabed18aeb304c6c0ef2a2 plugins/dbms/maxdb/enumeration.py
155+
85a3d319af815c1d86341bdef4b03b2b plugins/dbms/maxdb/enumeration.py
156156
aa46f115a06c66b1e011aba98ec284bd plugins/dbms/maxdb/filesystem.py
157157
535b389c7bac381c06ca34b0fe48c8ae plugins/dbms/maxdb/fingerprint.py
158158
c24f2512f13dbaff9543fe6d96cbe53b plugins/dbms/maxdb/__init__.py
159159
df0766e0f322505dcbfca2fc792fe62f plugins/dbms/maxdb/syntax.py
160160
aeec4f12950e20c46da405d23ea08dbb plugins/dbms/maxdb/takeover.py
161161
579d582f3716c310689b4aa7317b57df plugins/dbms/mssqlserver/connector.py
162-
7003c3c82ca56b40c7c90aea6c20cd53 plugins/dbms/mssqlserver/enumeration.py
162+
4a83d1a8e16c07212e8aa339457858d0 plugins/dbms/mssqlserver/enumeration.py
163163
6c249bcdef486803686a8b2f11566637 plugins/dbms/mssqlserver/filesystem.py
164164
d01229e7161a5071934fc26b48a11e8c plugins/dbms/mssqlserver/fingerprint.py
165165
2fbe5e485bcd05511cd1d7cb8cbdbde4 plugins/dbms/mssqlserver/__init__.py
@@ -173,7 +173,7 @@ a4535cb3873ada344e6e61dbe1a546d3 plugins/dbms/mysql/__init__.py
173173
4ad721acc40a964fc67154dd4683870e plugins/dbms/mysql/syntax.py
174174
aa88b5d6198cd31d9ab2be664da9a265 plugins/dbms/mysql/takeover.py
175175
2f2b7b1f08a8e6bfbe2fd0467d477667 plugins/dbms/oracle/connector.py
176-
061b5f0a2cf2e61c8a03ef73ee43a869 plugins/dbms/oracle/enumeration.py
176+
51ad1f46aec55c0e06db755c4ced05ee plugins/dbms/oracle/enumeration.py
177177
97579ede42f5fa64397792a65d6c0781 plugins/dbms/oracle/filesystem.py
178178
82b3e501ebae93c5dc0ef2abccb10177 plugins/dbms/oracle/fingerprint.py
179179
ecfc3b8b1e97e41cad6681fc68f93998 plugins/dbms/oracle/__init__.py
@@ -194,7 +194,7 @@ f3318e79b1130e052242db8299eb1968 plugins/dbms/sqlite/filesystem.py
194194
cfd9cad568949aa8728b7ddcc5f5828e plugins/dbms/sqlite/syntax.py
195195
53b0be0cb6599d042bf6772e62b25ca5 plugins/dbms/sqlite/takeover.py
196196
579d582f3716c310689b4aa7317b57df plugins/dbms/sybase/connector.py
197-
7d58cbb4527d7a48ca05037f0b2ffe0a plugins/dbms/sybase/enumeration.py
197+
cd1e3f7d6487eb25d72507e693282c6e plugins/dbms/sybase/enumeration.py
198198
ca107f3d1b4854ce84386109d476d494 plugins/dbms/sybase/filesystem.py
199199
e095022426f2b986d069748ee2289af1 plugins/dbms/sybase/fingerprint.py
200200
d0c7cc8ec2aa716b2e5cd3b5ab805c3a plugins/dbms/sybase/__init__.py

0 commit comments

Comments
 (0)