简介
渗透测试-地基篇
该篇章目的是重新牢固地基 加强每日训练操作的笔记 在记录地基笔记中会有很多跳跃性思维
的操作和方式方法 望大家能共同加油学到东西。
请注意:
本文仅用于技术讨论与研究 对于所有笔记中复现的这些终端或者服务器 都是自行搭建的环境进行渗透
的我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的如果列出的技
术用于其他任何目标 本站及作者概不负责。
名言:
你对这行的兴趣 决定你在这行的成就!
一、前言
数据库作为业务平台信息技术的核心和基础承载着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产 数据库
的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的数据库中往往储存着等极其重要和敏感的信息。这些信息一
旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见 数据库安全至关重要。所以对数
据库的保护是一项必须的 关键的 重要的工作任务。
通过前几期钓鱼 内网攻防篇章落幕后 引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境 只要存在
业系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作带小
伙伴们了解和学习数据库如何渗透的!
如果连Oracle不会安装 怎么进行下一步的研究Oracle数据库安全!
二、Oracle安装
1、Oracle_11g_64位安装
双击setup进行安装:
选择是继续安装:
去掉勾选:
选择是:
选择创建和配置数据库:
选择桌面类:
在数据库版本选择标准版:
在字符集选择UTF8:
这里必须输入数据库名和密码:
点击完成即可:
2、安装NET Framework 3.5
这里需要安装.NET Framework 3.5:
服务器管理器中选择即可:
选择安装:
然后等待安装即可:
点击口令关系设置:
完成查看设置:
到和一步就完成安装了,这里查看了windows服务状态已经开启了Oracle的服务!
三、sqldevelope安装
继续安装sqldevelope_19.2_64位 进行Oracle管理数据环境!这是绿色版的软件 直接双击打开即可!
双击打开sqldeveloper:等待安装
选择否即可:
点击左上角+号:
填入数据库用户名密码:(这是在创建设置的)
输入完成后点击保存:
成功登录数据库:
测试查询:
成功登录本地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、实体权限
简单说就是用户对表 视 存储过程等有什么权限
- 表权限:SELECT、DELETE、UPDATE、INSERT、ALTER
- 视图权限:SELECT、DELTE、INSERT、UPDATE
- 过程、函数、程序包权限:EXECUTE、DEBUG
复制代码
4、权限查询
1)查看所有角色:
2)当前用户被激活的全部角色:
- select * from session_roles;
复制代码
3)当前用户被授予的角色:
- select * from user_role_privs;
复制代码
4)当前用户是否为DBA:
- select t.DEFAULT_ROLE from user_role_privs t where t.granted_role='DBA';
复制代码
5)当前用户所拥有的全部权限:
- select * from session_privs;
复制代码
6)当前用户的系统权限:
- select * from user_sys_privs;
复制代码
7)当前用户的表级权限:
- select * from user_tab_privs;
复制代码
8)查询某个用户所拥有的系统权限:
- select * from dba_sys_privs;
复制代码
9)查看角色(只能查看登陆用户拥有的角色)所包含的权限:
- select * from role_sys_privs;
复制代码
10)查看用户的java权限(用户名必须大写):
- select * from user_java_policy where grantee_name='SCOTT';
复制代码
- -- 下面这样在sqlplus中输出会友好一些
- COL TYPE_NAME FOR A30;
- COL NAME FOR A30;
- COL ACTION FOR A10;
- 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的用户
- create user test identified by test;
复制代码
2)然后创建一个role
3)然后将connect和create procedure赋给testrole:
- grant connect,create procedure to testrole;
复制代码
4)再将testrole这个角色给用户test
5)这样我们可以将testrole给多个用户 修改权限时只需要添加/删除角色的权限即可
方便批量管理 类似Active Directory中的组
6)如果想要收回某个权限,则使用revoke:
- revoke create procedure from testrole;
复制代码
7)修改用户密码:
- alter user test identified by test;
复制代码
8)删除用户和角色:
- drop user test cascade;
- drop role testrole;
复制代码
通过以上的命令学习 我们在今后遇到oracle就可以进行多种需求操作了!就不会因为无知
而不知道如何下手了!加油小伙伴们~
五、总结
今天学习了Oracle的版本安装 还学习了各种基础的命令操作 也是在渗透中最急需了解的命令内容
学到了非常多的小技巧和干货 希望小伙伴能实际操作复现一遍! |