mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-07-15 18:52:31 +03:00
just in case commit to prevent join string iteration over 'None' values
This commit is contained in:
parent
68ae8ea5b2
commit
a6ade08c28
|
@ -64,7 +64,7 @@ class Enumeration(GenericEnumeration):
|
||||||
else:
|
else:
|
||||||
dbs = self.getDbs()
|
dbs = self.getDbs()
|
||||||
|
|
||||||
for db in dbs:
|
for db in filter(None, dbs):
|
||||||
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
||||||
|
|
||||||
infoMsg = "fetching tables for database"
|
infoMsg = "fetching tables for database"
|
||||||
|
|
|
@ -77,6 +77,8 @@ class Enumeration(GenericEnumeration):
|
||||||
for db in dbs:
|
for db in dbs:
|
||||||
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
||||||
|
|
||||||
|
dbs = filter(None, dbs)
|
||||||
|
|
||||||
infoMsg = "fetching tables for database"
|
infoMsg = "fetching tables for database"
|
||||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db for db in sorted(dbs)))
|
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db for db in sorted(dbs)))
|
||||||
logger.info(infoMsg)
|
logger.info(infoMsg)
|
||||||
|
|
|
@ -120,6 +120,8 @@ class Enumeration(GenericEnumeration):
|
||||||
for db in dbs:
|
for db in dbs:
|
||||||
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
||||||
|
|
||||||
|
dbs = filter(None, dbs)
|
||||||
|
|
||||||
infoMsg = "fetching tables for database"
|
infoMsg = "fetching tables for database"
|
||||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db for db in sorted(dbs)))
|
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db for db in sorted(dbs)))
|
||||||
logger.info(infoMsg)
|
logger.info(infoMsg)
|
||||||
|
|
|
@ -252,6 +252,8 @@ class Enumeration:
|
||||||
else:
|
else:
|
||||||
users = []
|
users = []
|
||||||
|
|
||||||
|
users = filter(None, users)
|
||||||
|
|
||||||
if isTechniqueAvailable(PAYLOAD.TECHNIQUE.UNION) or isTechniqueAvailable(PAYLOAD.TECHNIQUE.ERROR) or conf.direct:
|
if isTechniqueAvailable(PAYLOAD.TECHNIQUE.UNION) or isTechniqueAvailable(PAYLOAD.TECHNIQUE.ERROR) or conf.direct:
|
||||||
if Backend.isDbms(DBMS.MSSQL) and Backend.isVersionWithin(("2005", "2008")):
|
if Backend.isDbms(DBMS.MSSQL) and Backend.isVersionWithin(("2005", "2008")):
|
||||||
query = rootQuery.inband.query2
|
query = rootQuery.inband.query2
|
||||||
|
@ -447,6 +449,8 @@ class Enumeration:
|
||||||
else:
|
else:
|
||||||
users = []
|
users = []
|
||||||
|
|
||||||
|
users = filter(None, users)
|
||||||
|
|
||||||
# Set containing the list of DBMS administrators
|
# Set containing the list of DBMS administrators
|
||||||
areAdmins = set()
|
areAdmins = set()
|
||||||
|
|
||||||
|
@ -830,6 +834,8 @@ class Enumeration:
|
||||||
for db in dbs:
|
for db in dbs:
|
||||||
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
||||||
|
|
||||||
|
dbs = filter(None, dbs)
|
||||||
|
|
||||||
if bruteForce:
|
if bruteForce:
|
||||||
resumeAvailable = False
|
resumeAvailable = False
|
||||||
|
|
||||||
|
@ -998,6 +1004,8 @@ class Enumeration:
|
||||||
for col in colList:
|
for col in colList:
|
||||||
colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
|
colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
|
||||||
|
|
||||||
|
colList = filter(None, colList)
|
||||||
|
|
||||||
if conf.tbl:
|
if conf.tbl:
|
||||||
if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2):
|
if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2):
|
||||||
conf.tbl = conf.tbl.upper()
|
conf.tbl = conf.tbl.upper()
|
||||||
|
@ -1388,7 +1396,7 @@ class Enumeration:
|
||||||
lengths[column] = 0
|
lengths[column] = 0
|
||||||
entries[column] = BigArray()
|
entries[column] = BigArray()
|
||||||
|
|
||||||
colList = sorted(colList, key=lambda x: len(x) if x else MAX_INT)
|
colList = filter(None, sorted(colList, key=lambda x: len(x) if x else MAX_INT))
|
||||||
|
|
||||||
for column in colList:
|
for column in colList:
|
||||||
infoMsg = "fetching number of distinct "
|
infoMsg = "fetching number of distinct "
|
||||||
|
@ -1550,7 +1558,7 @@ class Enumeration:
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
colList = kb.data.cachedColumns[safeSQLIdentificatorNaming(conf.db)][safeSQLIdentificatorNaming(tbl, True)].keys()
|
colList = filter(None, kb.data.cachedColumns[safeSQLIdentificatorNaming(conf.db)][safeSQLIdentificatorNaming(tbl, True)].keys())
|
||||||
colString = ", ".join(column for column in sorted(colList))
|
colString = ", ".join(column for column in sorted(colList))
|
||||||
rootQuery = queries[Backend.getIdentifiedDbms()].dump_table
|
rootQuery = queries[Backend.getIdentifiedDbms()].dump_table
|
||||||
|
|
||||||
|
@ -1856,7 +1864,7 @@ class Enumeration:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
conf.tbl = table
|
conf.tbl = table
|
||||||
conf.col = ",".join(column for column in sorted(columns))
|
conf.col = ",".join(column for column in filter(None, sorted(columns)))
|
||||||
kb.data.cachedColumns = {}
|
kb.data.cachedColumns = {}
|
||||||
kb.data.dumpedTable = {}
|
kb.data.dumpedTable = {}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user