电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1175 人浏览分享

渗透测试之地基服务篇:服务攻防之数据库Oracle(上)

[复制链接]
1175 0
简介

渗透测试-地基篇

该篇章目的是重新牢固地基 加强每日训练操作的笔记 在记录地基笔记中会有很多跳跃性思维
的操作和方式方法 望大家能共同加油学到东西。

请注意:

本文仅用于技术讨论与研究 对于所有笔记中复现的这些终端或者服务器 都是自行搭建的环境进行渗透
的我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的如果列出的技
术用于其他任何目标 本站及作者概不负责。

名言:

你对这行的兴趣 决定你在这行的成就!

一、前言

数据库作为业务平台信息技术的核心和基础承载着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产 数据库
的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的数据库中往往储存着等极其重要和敏感的信息。这些信息一
旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见 数据库安全至关重要。所以对数
据库的保护是一项必须的 关键的 重要的工作任务。

通过前几期钓鱼 内网攻防篇章落幕后 引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境 只要存在
业系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作带小
伙伴们了解和学习数据库如何渗透的!

如果连Oracle不会安装 怎么进行下一步的研究Oracle数据库安全!

二、Oracle安装

1、Oracle_11g_64位安装

双击setup进行安装:

QQ截图20210906150606.png

选择是继续安装:

QQ截图20210906150701.png

去掉勾选:

100.png

选择是:

99.png

选择创建和配置数据库:

98.png

选择桌面类:

96.png

在数据库版本选择标准版:

92.png

在字符集选择UTF8:

91.png

这里必须输入数据库名和密码:

90.png

点击完成即可:

89.png

2、安装NET Framework 3.5

这里需要安装.NET Framework 3.5:

86.png

服务器管理器中选择即可:


83.png

选择安装:

82.png

然后等待安装即可:

81.png

点击口令关系设置:

80.png

完成查看设置:

79.png

78.png

77.png

到和一步就完成安装了,这里查看了windows服务状态已经开启了Oracle的服务!

三、sqldevelope安装

继续安装sqldevelope_19.2_64位 进行Oracle管理数据环境!这是绿色版的软件 直接双击打开即可!

76.png

双击打开sqldeveloper:等待安装

75.png

选择否即可:

69.png

点击左上角+号:

68.png

填入数据库用户名密码:(这是在创建设置的)

67.png

输入完成后点击保存:

66.png

成功登录数据库:

65.png

测试查询:

63.png

成功登录本地Oracle数据库进行查看!

内网中经常会遇到站库分离的Oracle 在打下站点后可以通过配置文件连接上数据库进行渗透

二、Oracle权限

ORACLE系统提供三种权限:Object 对象级 System 系统级 Role 角色级 这些权限可以授予给用户
特殊用户public或角色。
如果授予一个权限给特殊用 Public  用户public是oracle预定义的 每个用户享有这个用户享有的权限
那么就意味作将该权限授予了该数据库的所有用户。

权限被大体分为两类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)


1、系统权限

系统权限就是我们常见的CREATE SESSION、ALTER SESSION等权限,这些权限通常通过角色来进行分配

oracle中有几个常见的预定义角色:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构
RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构
CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构

一般普通用户拥有connect、resource角色,而管理员拥有connect、resource、dba角色

3、实体权限

简单说就是用户对表 视 存储过程等有什么权限
  1. 表权限:SELECT、DELETE、UPDATE、INSERT、ALTER
  2. 视图权限:SELECT、DELTE、INSERT、UPDATE
  3. 过程、函数、程序包权限:EXECUTE、DEBUG
复制代码

4、权限查询

1)查看所有角色:
  1. select * from dba_roles;
复制代码

62.png

2)当前用户被激活的全部角色:
  1. select * from session_roles;
复制代码

61.png

3)当前用户被授予的角色:
  1. select * from user_role_privs;
复制代码

60.png

4)当前用户是否为DBA:
  1. select t.DEFAULT_ROLE from user_role_privs t where t.granted_role='DBA';
复制代码

59.png

5)当前用户所拥有的全部权限:
  1. select * from session_privs;
复制代码

58.png

6)当前用户的系统权限:
  1. select * from user_sys_privs;
复制代码

57.png

7)当前用户的表级权限:
  1. select * from user_tab_privs;
复制代码

56.png

8)查询某个用户所拥有的系统权限:
  1. select * from dba_sys_privs;
复制代码

29.png

9)查看角色(只能查看登陆用户拥有的角色)所包含的权限:
  1. select * from role_sys_privs;
复制代码

28.png

10)查看用户的java权限(用户名必须大写):
  1. select * from user_java_policy where grantee_name='SCOTT';
复制代码

26.png

  1. -- 下面这样在sqlplus中输出会友好一些
  2. COL TYPE_NAME FOR A30;
  3. COL NAME FOR A30;
  4. COL ACTION FOR A10;
  5. SELECT TYPE_NAME, NAME, ACTION FROM user_java_policy WHERE grantee_name = 'TEST4';
复制代码

5、权限更改

可以通过GRANT 和 REVOKE 命令来对账户进行权限的授予和撤回一般这些操作会由DBA
用户(SYS用户和SYSTEM用户)来执行
而权限的赋予通常也是通过角色(Role)这个 桥梁 来做的 当然也可以直接赋给user 举个例子 创建一个用户
并给该用户赋予create session和create procedure:

1)先创建一个test/test的用户
复制代码

22.png

2)然后创建一个role
  1. create role testrole;
复制代码

21.png

3)然后将connect和create procedure赋给testrole:
  1. grant connect,create procedure to testrole;
复制代码

20.png

4)再将testrole这个角色给用户test
  1. grant testrole to test;
复制代码


19.png

5)这样我们可以将testrole给多个用户 修改权限时只需要添加/删除角色的权限即可
方便批量管理 类似Active Directory中的组

6)如果想要收回某个权限,则使用revoke:
  1. revoke create procedure from testrole;
复制代码

18.png

7)修改用户密码:
  1. alter user test identified by test;
复制代码

8)删除用户和角色:
  1. drop user test cascade;

  2. drop role testrole;
复制代码

17.png

通过以上的命令学习 我们在今后遇到oracle就可以进行多种需求操作了!就不会因为无知
而不知道如何下手了!加油小伙伴们~

五、总结

今天学习了Oracle的版本安装 还学习了各种基础的命令操作 也是在渗透中最急需了解的命令内容
学到了非常多的小技巧和干货 希望小伙伴能实际操作复现一遍!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.