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

Method isDba

plugins/generic/users.py:77–98  ·  view source on GitHub ↗
(self, user=None)

Source from the content-addressed store, hash-verified

75 return kb.data.currentUser
76
77 def isDba(self, user=None):
78 infoMsg = "testing if current user is DBA"
79 logger.info(infoMsg)
80
81 query = None
82
83 if Backend.isDbms(DBMS.MYSQL):
84 self.getCurrentUser()
85 if Backend.isDbms(DBMS.MYSQL) and Backend.isFork(FORK.DRIZZLE):
86 kb.data.isDba = "root" in (kb.data.currentUser or "")
87 elif kb.data.currentUser:
88 query = queries[Backend.getIdentifiedDbms()].is_dba.query % kb.data.currentUser.split("@")[0]
89 elif Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE) and user is not None:
90 query = queries[Backend.getIdentifiedDbms()].is_dba.query2 % user
91 else:
92 query = queries[Backend.getIdentifiedDbms()].is_dba.query
93
94 if query:
95 query = agent.forgeCaseStatement(query)
96 kb.data.isDba = inject.checkBooleanExpression(query) or False
97
98 return kb.data.isDba
99
100 def getUsers(self):
101 infoMsg = "fetching database users"

Callers 3

actionFunction · 0.45
udfInjectCustomMethod · 0.45
initEnvMethod · 0.45

Calls 6

getCurrentUserMethod · 0.95
infoMethod · 0.80
isDbmsMethod · 0.80
isForkMethod · 0.80
getIdentifiedDbmsMethod · 0.80
forgeCaseStatementMethod · 0.80

Tested by

no test coverage detected