Bem, vc não diz mas em primeiro lugar, entendo que vc está focando nos 
privilégios de sistema : obviamente, um privilégio de acesso/DDL/DML impróprio 
nas tabelas do aplicativo pode ** detonar ** o aplicativo, deixando-o fora de 
combate rapidinho, mas isso vai ser tratado/está sendo tratado numa outra 
atuação...
 Com isso em mente, eu diria :
 
 a) faltam aí checar os privilégios UNLIMITED TABLESPACE (que permite criar 
objs na tablespace SYSTEM, talvez até eventualmente lotando-a e assim 
derrubando o banco, ou no mínimo causando problemas de 
performance/administração), de DEBUG, ADMINISTER, , de FLASHBACK e de EXPORT :  
em tese não se derruba um banco com eles MAS podem causar lentidão e pros de 
acesso se mal-usados
 
 b) falta checar os privilégios de EXECUTE nas packages internas pertencentes 
ao SYS e aos schemas internos (algumas dessas são mega-poderosas, com LARGA 
margem para exploit
 
 c) muito importante : falta checar os privilégios de sistema recebidos por 
ROLES, principalmente a role DBA e as roles de operadores do database : 
acredite ou não, ainda hoje vc encontra aplicativo que "exige" que o usuário 
dono das tabs dele receba role de DBA, de DBOPER, ou coisa assim...
 
  []s
  
    Chiappa
    
OBS : => vc pode se basear no script abaixo, que lista TODOS os privs, seja 
recebidos diretamente, seja por role, seja privs de execute, adapte-o pra sua 
necessiadde...


set echo off
set verify off
set pages 9999
col granted_role form a28
col owner form a15
col table_name form a33
col privilege form a33
ACCEPT username  prompt 'Enter Username : '
PROMPT Roles granted to user
SELECT granted_role,admin_option,default_role
FROM dba_role_privs
WHERE grantee=UPPER('&username')
ORDER BY 1;
PROMPT Table Privileges granted to a user through roles
SELECT granted_role, owner, table_name, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_tab_privs
WHERE granted_role=grantee
ORder by 1,2,3,4;
PROMPT System Privileges assigned to a user through roles
SELECT granted_role, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_sys_privs
WHERE granted_role=grantee
 ORDER BY 1,2;
PROMPT Table privileges assigned directly to a user
SELECT owner, table_name, privilege
FROM dba_tab_privs
WHERE grantee=UPPER('&username')
ORDER BY 1,2,3;
PROMPT System privileges assigned directly to a user
SELECT privilege, admin_option
FROM  dba_sys_privs
WHERE grantee=UPPER('&username') ORDER BY 1;
undefine username
/
  • [oracle_br] Usuários c... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
    • Re: [oracle_br] U... Andre Santos andre.psantos...@gmail.com [oracle_br]
    • [oracle_br] Re: U... jlchia...@yahoo.com.br [oracle_br]
      • Re: [oracle_b... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
        • Re: [orac... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
          • Re: [... jlchia...@yahoo.com.br [oracle_br]
            • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]

Responder a