MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / getTables

Method getTables

plugins/dbms/sybase/enumeration.py:116–162  ·  view source on GitHub ↗
(self, bruteForce=None)

Source from the content-addressed store, hash-verified

114 return kb.data.cachedDbs
115
116 def getTables(self, bruteForce=None):
117 if len(kb.data.cachedTables) > 0:
118 return kb.data.cachedTables
119
120 self.forceDbmsEnum()
121
122 if conf.db == CURRENT_DB:
123 conf.db = self.getCurrentDb()
124
125 if conf.db:
126 dbs = conf.db.split(',')
127 else:
128 dbs = self.getDbs()
129
130 for db in dbs:
131 dbs[dbs.index(db)] = safeSQLIdentificatorNaming(db)
132
133 dbs = [_ for _ in dbs if _]
134
135 infoMsg = "fetching tables for database"
136 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)))
137 logger.info(infoMsg)
138
139 if any(isTechniqueAvailable(_) for _ in (PAYLOAD.TECHNIQUE.UNION, PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.QUERY)) or conf.direct:
140 blinds = [False, True]
141 else:
142 blinds = [True]
143
144 rootQuery = queries[DBMS.SYBASE].tables
145
146 for db in dbs:
147 for blind in blinds:
148 query = rootQuery.inband.query % db
149 retVal = pivotDumpTable("(%s) AS %s" % (query, kb.aliasName), ['%s.name' % kb.aliasName], blind=blind, alias=kb.aliasName)
150
151 if retVal:
152 for table in next(six.itervalues(retVal[0])):
153 if db not in kb.data.cachedTables:
154 kb.data.cachedTables[db] = [table]
155 else:
156 kb.data.cachedTables[db].append(table)
157 break
158
159 for db, tables in kb.data.cachedTables.items():
160 kb.data.cachedTables[db] = sorted(tables) if tables else tables
161
162 return kb.data.cachedTables
163
164 def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None, dumpMode=False):
165 self.forceDbmsEnum()

Callers 1

getColumnsMethod · 0.95

Calls 11

getCurrentDbMethod · 0.95
getDbsMethod · 0.95
isTechniqueAvailableFunction · 0.90
pivotDumpTableFunction · 0.90
infoMethod · 0.80
itervaluesMethod · 0.80
itemsMethod · 0.80
forceDbmsEnumMethod · 0.45
indexMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected