[Q]dbms_repcat_admin能带来什么安全隐患
[A]如果一个用户能执行dbms_repcat_admin包,将获得极大的系统权限。
以下情况可能获得该包的执行权限:
1、在sys下grant execute on dbms_repcat_admin to public[|user_name]
2、用户拥有execute any procedure特权(仅限于9i以下,9i必须显示授权)
如果用户通过执行如下语句:
exec sys.dbms_repcat_admin.grant_admin_any_schema('user_name');
该用户将获得极大的系统特权
可以从user_sys_privs中获得详细信息
[Q]在不知道用户密码的时候,怎么样跳转到另外一个用户执行操作后并不影响该用户?
[A]我们通过如下的方法,可以安全使用该用户,然后再跳转回来,在某些时候比较有用
需要Alter user权限或DBA权限:
SQL> select password from dba_users where username='SCOTT';
PASSWORD
-----------------------------
F894844C34402B67
SQL> alter user scott identified by lion;
User altered.
SQL> connect scott/lion
Connected.
REM Do whatever you like...
SQL> connect system/manager
Connected.
SQL> alter user scott identified by values 'F894844C34402B67';
User altered.
SQL> connect scott/tiger
Connected.