minor bug fix to properly identify if user is admin on Oracle across all techniques

This commit is contained in:
Bernardo Damele 2013-01-18 09:22:53 +00:00
parent 1599b5e37f
commit a92ae93847

View File

@ -79,9 +79,6 @@ class Enumeration(GenericEnumeration):
# In Oracle we get the list of roles as string # In Oracle we get the list of roles as string
roles.add(role) roles.add(role)
if isAdminFromPrivileges(roles):
areAdmins.add(user)
if user in kb.data.cachedUsersRoles: if user in kb.data.cachedUsersRoles:
kb.data.cachedUsersRoles[user] = list(roles.union(kb.data.cachedUsersRoles[user])) kb.data.cachedUsersRoles[user] = list(roles.union(kb.data.cachedUsersRoles[user]))
else: else:
@ -162,4 +159,8 @@ class Enumeration(GenericEnumeration):
errMsg += "for the database users" errMsg += "for the database users"
raise SqlmapNoneDataException(errMsg) raise SqlmapNoneDataException(errMsg)
for user, privileges in kb.data.cachedUsersRoles.items():
if isAdminFromPrivileges(privileges):
areAdmins.add(user)
return kb.data.cachedUsersRoles, areAdmins return kb.data.cachedUsersRoles, areAdmins