diff --git a/plugins/dbms/oracle/enumeration.py b/plugins/dbms/oracle/enumeration.py index 66c676cb2..dda8f6d11 100644 --- a/plugins/dbms/oracle/enumeration.py +++ b/plugins/dbms/oracle/enumeration.py @@ -79,9 +79,6 @@ class Enumeration(GenericEnumeration): # In Oracle we get the list of roles as string roles.add(role) - if isAdminFromPrivileges(roles): - areAdmins.add(user) - if user in kb.data.cachedUsersRoles: kb.data.cachedUsersRoles[user] = list(roles.union(kb.data.cachedUsersRoles[user])) else: @@ -162,4 +159,8 @@ class Enumeration(GenericEnumeration): errMsg += "for the database users" raise SqlmapNoneDataException(errMsg) + for user, privileges in kb.data.cachedUsersRoles.items(): + if isAdminFromPrivileges(privileges): + areAdmins.add(user) + return kb.data.cachedUsersRoles, areAdmins