mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-22 07:29:01 +00:00
Dealing with basesting (one baby step closer to Py3 salvation)
This commit is contained in:
@@ -21,6 +21,7 @@ from lib.core.settings import CURRENT_DB
|
||||
from lib.utils.brute import columnExists
|
||||
from lib.utils.pivotdumptable import pivotDumpTable
|
||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||
from thirdparty import six
|
||||
|
||||
class Enumeration(GenericEnumeration):
|
||||
def __init__(self):
|
||||
@@ -71,7 +72,7 @@ class Enumeration(GenericEnumeration):
|
||||
dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
|
||||
|
||||
infoMsg = "fetching tables for database"
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, basestring) else db[0] for db in sorted(dbs)))
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, six.string_types) else db[0] for db in sorted(dbs)))
|
||||
logger.info(infoMsg)
|
||||
|
||||
rootQuery = queries[DBMS.MAXDB].tables
|
||||
|
||||
@@ -28,8 +28,8 @@ from lib.core.enums import PAYLOAD
|
||||
from lib.core.exception import SqlmapNoneDataException
|
||||
from lib.core.settings import CURRENT_DB
|
||||
from lib.request import inject
|
||||
|
||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||
from thirdparty import six
|
||||
|
||||
class Enumeration(GenericEnumeration):
|
||||
def getPrivileges(self, *args):
|
||||
@@ -83,7 +83,7 @@ class Enumeration(GenericEnumeration):
|
||||
dbs = [_ for _ in dbs if _]
|
||||
|
||||
infoMsg = "fetching tables for database"
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, basestring) else db[0] for db in sorted(dbs)))
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, six.string_types) else db[0] for db in sorted(dbs)))
|
||||
logger.info(infoMsg)
|
||||
|
||||
rootQuery = queries[DBMS.MSSQL].tables
|
||||
@@ -219,7 +219,7 @@ class Enumeration(GenericEnumeration):
|
||||
values = inject.getValue(query, blind=False, time=False)
|
||||
|
||||
if not isNoneValue(values):
|
||||
if isinstance(values, basestring):
|
||||
if isinstance(values, six.string_types):
|
||||
values = [values]
|
||||
|
||||
for foundTbl in values:
|
||||
@@ -353,7 +353,7 @@ class Enumeration(GenericEnumeration):
|
||||
values = inject.getValue(query, blind=False, time=False)
|
||||
|
||||
if not isNoneValue(values):
|
||||
if isinstance(values, basestring):
|
||||
if isinstance(values, six.string_types):
|
||||
values = [values]
|
||||
|
||||
for foundTbl in values:
|
||||
|
||||
@@ -26,6 +26,7 @@ from lib.core.settings import CURRENT_DB
|
||||
from lib.utils.brute import columnExists
|
||||
from lib.utils.pivotdumptable import pivotDumpTable
|
||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||
from thirdparty import six
|
||||
|
||||
class Enumeration(GenericEnumeration):
|
||||
def getUsers(self):
|
||||
@@ -128,7 +129,7 @@ class Enumeration(GenericEnumeration):
|
||||
dbs = [_ for _ in dbs if _]
|
||||
|
||||
infoMsg = "fetching tables for database"
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, basestring) else db[0] for db in sorted(dbs)))
|
||||
infoMsg += "%s: %s" % ("s" if len(dbs) > 1 else "", ", ".join(db if isinstance(db, six.string_types) else db[0] for db in sorted(dbs)))
|
||||
logger.info(infoMsg)
|
||||
|
||||
if any(isTechniqueAvailable(_) for _ in (PAYLOAD.TECHNIQUE.UNION, PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.QUERY)) or conf.direct:
|
||||
@@ -279,7 +280,7 @@ class Enumeration(GenericEnumeration):
|
||||
columns = {}
|
||||
|
||||
for name, type_ in filterPairValues(zip(retVal[0]["%s.name" % kb.aliasName], retVal[0]["%s.usertype" % kb.aliasName])):
|
||||
columns[name] = SYBASE_TYPES.get(int(type_) if isinstance(type_, basestring) and type_.isdigit() else type_, type_)
|
||||
columns[name] = SYBASE_TYPES.get(int(type_) if hasattr(type_, "isdigit") and type_.isdigit() else type_, type_)
|
||||
|
||||
table[safeSQLIdentificatorNaming(tbl, True)] = columns
|
||||
kb.data.cachedColumns[safeSQLIdentificatorNaming(conf.db)] = table
|
||||
|
||||
@@ -605,7 +605,7 @@ class Databases:
|
||||
|
||||
if values is None:
|
||||
values = inject.getValue(query, blind=False, time=False)
|
||||
if values and isinstance(values[0], basestring):
|
||||
if values and isinstance(values[0], six.string_types):
|
||||
values = [values]
|
||||
|
||||
if Backend.isDbms(DBMS.MSSQL) and isNoneValue(values):
|
||||
@@ -658,7 +658,7 @@ class Databases:
|
||||
if len(columnData) == 1:
|
||||
columns[name] = None
|
||||
else:
|
||||
key = int(columnData[1]) if isinstance(columnData[1], basestring) and columnData[1].isdigit() else columnData[1]
|
||||
key = int(columnData[1]) if isinstance(columnData[1], six.string_types) and columnData[1].isdigit() else columnData[1]
|
||||
if Backend.isDbms(DBMS.FIREBIRD):
|
||||
columnData[1] = FIREBIRD_TYPES.get(key, columnData[1])
|
||||
elif Backend.isDbms(DBMS.INFORMIX):
|
||||
@@ -829,7 +829,7 @@ class Databases:
|
||||
|
||||
colType = unArrayizeValue(inject.getValue(query, union=False, error=False))
|
||||
|
||||
key = int(colType) if isinstance(colType, basestring) and colType.isdigit() else colType
|
||||
key = int(colType) if hasattr(colType, "isdigit") and colType.isdigit() else colType
|
||||
if Backend.isDbms(DBMS.FIREBIRD):
|
||||
colType = FIREBIRD_TYPES.get(key, colType)
|
||||
elif Backend.isDbms(DBMS.INFORMIX):
|
||||
|
||||
@@ -45,6 +45,7 @@ from lib.core.settings import NULL
|
||||
from lib.request import inject
|
||||
from lib.utils.hash import attackDumpedTable
|
||||
from lib.utils.pivotdumptable import pivotDumpTable
|
||||
from thirdparty import six
|
||||
|
||||
class Entries:
|
||||
"""
|
||||
@@ -244,7 +245,7 @@ class Entries:
|
||||
logger.warn(warnMsg)
|
||||
|
||||
if not isNoneValue(entries):
|
||||
if isinstance(entries, basestring):
|
||||
if isinstance(entries, six.string_types):
|
||||
entries = [entries]
|
||||
elif not isListLike(entries):
|
||||
entries = []
|
||||
@@ -259,7 +260,7 @@ class Entries:
|
||||
if entry is None or len(entry) == 0:
|
||||
continue
|
||||
|
||||
if isinstance(entry, basestring):
|
||||
if isinstance(entry, six.string_types):
|
||||
colEntry = entry
|
||||
else:
|
||||
colEntry = unArrayizeValue(entry[index]) if index < len(entry) else u''
|
||||
|
||||
@@ -35,6 +35,7 @@ from lib.core.settings import METADB_SUFFIX
|
||||
from lib.request import inject
|
||||
from lib.utils.brute import columnExists
|
||||
from lib.utils.brute import tableExists
|
||||
from thirdparty import six
|
||||
|
||||
class Search:
|
||||
"""
|
||||
@@ -204,7 +205,7 @@ class Search:
|
||||
if values and Backend.getIdentifiedDbms() in (DBMS.SQLITE, DBMS.FIREBIRD):
|
||||
newValues = []
|
||||
|
||||
if isinstance(values, basestring):
|
||||
if isinstance(values, six.string_types):
|
||||
values = [values]
|
||||
for value in values:
|
||||
dbName = "SQLite" if Backend.isDbms(DBMS.SQLITE) else "Firebird"
|
||||
|
||||
Reference in New Issue
Block a user