首页 > Oracle > Oracle 通过any权限获得数据库dba权限!
2014
01-07

Oracle 通过any权限获得数据库dba权限!

在我们给数据库用户授权的时候,权限都是严格控制,但有时候不能避免授权any的系统权限,比如select any table, create any table等。但有时候往往这些any权限的操作很大,一般指授予给DBA用户,否则可能会出现数据库不安全的状态,下面举个例子说明一个用户如果具有了create any procedure和execute any procedure权限,就可以通过这种方式获取数据库DBA权限。

1. 创建一个测试用户,并授予create any procedure和execute any procedure权限

2. 此时jerry这个用户有了这两个权限,我们在这个用户下创建一个存储过程,过程如下

3. 传入grant dba to jerry到这个存储过程

4. 退出jerry用户,重新登录后,可以看到jerry用户已经拥有了dba的权限

通过如上的过程,一个普通用户就通过一个小小的漏洞就获得了数据库的dba权限,这样对于一个黑客来说是非常有利的,所以对于数据库的权限,还是要严格控制,对于重要的系统,控制到表层级的权限。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL