基于Oracle数据库的漏洞利用与提取技术研究

发布于:2022-11-29 ⋅ 阅读:(268) ⋅ 点赞:(0)

目 录
摘 要 I
Abstract II
1 绪论 1
1.1 课题的研究背景和意义 1
1.2 国内外研究现状和发展动态 1
1.3研究内容及论文组织架构 2
2 常见漏洞提取技术 4
2.1 漏洞概述 4
2.1.1 漏洞的概念 4
2.1.2 漏洞的形成原因 4
2.2 漏洞的危害 5
2.3 漏洞的分类 5
2.4 kali漏洞提取的技术 7
2.4.1 fuzzer 的设计 9
3 数据库通讯协议分析 10
3.1 基本思想 10
3.2 软件逆向工程与反汇编分析技术 10
3.3 登录认证过程的数据包结构的获取 12
3.4 SQL 语句数据包结构的获取 18
3.4.1 客户端的 SQL 语言命令请求报文 18
3.4.2 服务端的 SQL 语言命令响应报文 18
4 基于协议分析基础上的测试数据包的生成 21
4.1 脚本集的设计 21
4.2 样本包的来源 22
4.2.1 脚本直接提供 22
4.2.2 通过数据包截获提供 23
4.3 测试数据包的构造 24
4.3.1 解释脚本,读取协议样本包内容 24
4.3.2 对特定数据项进行变换处理,并以此构造测试数据包 24
4.3.3 确定漏洞提取目标,发送测试数据包 25
4.4 漏洞信息识别 27
4.3.1 分析服务端返回的响应信息 27
4.3.2 分析数据库服务器异常信息 27
5 提取器实现与实验测试 29
5.1 整体框架与实现 29
5.2 提取器总体结构 30
5.2.1 提取器结构框图 30
5.2.2 提取器组成部分描述 30
5.3 提取器逻辑流程 31
5.4 提取器主要模块设计 31
5.5 样本包模块设计 32
5.6 测试数据包模块设计 32
5.7 漏洞信息识别模块设计 35
5.7.1 实验与结果分析 35
6 总结与展望 41
6.1 全文总结 41
6.2 工作展望 41
致 谢 43
参考文献 44
附录 1 Select 命令一般语法结构 45
1.3研究内容及论文组织架构
本课题的研究内容:本文的主要研究对象是针对Oracle数据库的SQL注入方式、标类注入提权技术及防御手段,Oracle提权漏洞的注入攻击,深入研究针对常用的Oracle提权攻击技术及其相应的防御方法。
(1)针对Oracle的SQL注入方式。既手动注入
(2)SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION 提升权限和利用Metasploit实施注入
(2)Oracle口令破解
(3)游标类注入提权技术及其防御手段
(4)Web下的SQL注入及提权
(5)利用SQL*Plus获取WebShell
论文的第一章绪论部分主要介绍课题的来源及目的,漏洞的来源,国内外漏洞检测的典
型技术及工具,并对这些技术进行了一些比较。
第二章介绍了漏洞的概念、形成原因、特点和危害,并对目前流行的漏洞提取技术讨论
的基础上,确定 fuzzer 的基本模型。
第三章利用包捕获激素和逆向工程技术对数据库关键协议进行分析和研究,确定各个字
段的具体含义,为下一步 metasploit程序设计做准备。
第四章讨论了对样本包哪些字段,如何修改以便得到测试数据包流。以及如何将数据包发往数据库服务器和怎样监控服务器是否触发了漏洞。
第五章针对结合第三、四章的技术讨论,给出了 fuzzer 的实现框架及关键部分的具体实现,并对目标数据库进行了实验,分析了实验的结果。
第六章对本文的工作进行了总结,并提出了一些改进的意见。
3 数据库通讯协议分析
根据上一章对 fuzzer 基本流程的设计可以知道,我们需要分析数据库的协议,以
便根据各个字段的含义按照一定规则对模板数据包进行修改,来得到我们需要的测试
数据包流。这就是这一章需要解决的问题。这一部分工作主要是分析通讯协议中关键
环节数据包的结构,各个字段的含义,包括登录过程的数据包、SQL 查询语句的数据
包和查询结果回复数据包等。只有对这些数据包的结构有详细的了解,才能利用
Intelligent kali技术,构造相应的数据包绕过登录认证,并通过构造的查询数据包
流对数据库软件进行攻击测试。
3.1 基本思想
通过使用包捕获技术抓捕客户端服务器在登录和一次 SQL 查询过程中的数据包
交互;同时在服务器端,利用一些反汇编工具如 OllyDbg 对服务器解析收到数据包的
过程进行监控;本文转载自http://www.biyezuopin.vip/onews.asp?id=14172结合抓取的数据包和服务器端对数据包的解析过程,来分析通讯协议
中各个数据包的用途以及数据包各个字段的含义,为下一步的 kali测试中构造数据
包流做准备。
3.2 软件逆向工程与反汇编分析技术
从广义上来讲,通过对某种产品的结构、功能、运行机理来进行分析、分解、研
究完后,制作出功能相近,但又不完全相同的产品,这属于逆向工程的一个基本概念。
逆向工程的使用,多数人错误的认为会侵犯对方的知识产权,但在实际应用上,却往
往又不会侵犯知识产权。例如,在集成电路领域,如果怀疑对手侵犯了自己的知识产
权,则可以完全使用逆向工程技术来搜集自己的证据。记得有次与朋友讨论知识产权
问题,在美国好像是产品相似度或者计算机程序代码的相似度超过 60%,即判定为侵
犯知识产权[30]。
在逆向工程针对硬件领域内,微软开发人体力学鼠标,就是一个很典型的例子。
以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需
要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却
是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型
并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意
为止,最后再将模型数据利用逆向工程软件 imageware 生成 cad 数据。当产品推向
市场后,由于外观新颖、曲线流畅,再加上手感也很好,符合人体工程学原理,因而
迅速获得用户的广泛认可,产品的市场占有率大幅度上升。

SELECT statement ::=
< query_expression >
[ ORDER BY { order_by_expression | column_position [ ASC | DESC ] }
[ ,...n ] ] [ COMPUTE
{ { AVG | COUNT | MAX | MIN | SUM } ( expression ) } [ ,...n ] [ BY expression [ ,...n ] ]
]
[ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT }
 [ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY base64 ] }
]
 [ OPTION ( < query_hint > [ ,...n ]) ]
< query expression > ::=
 { < query specification > | ( < query expression > ) }
 [ UNION [ ALL ] < query specification | ( < query expression > ) [...n ] ]
< query specification > ::=
SELECT [ ALL | DISTINCT ]
[ { TOP integer | TOP integer PERCENT } [ WITH TIES ] ]
< select_list >
[ INTO new_table ]
[ FROM { < table_source > } [ ,...n ] ]
[ WHERE < search_condition > ]
[ GROUP BY [ ALL ] group_by_expression [ ,...n ]
 [ WITH { CUBE | ROLLUP } ]
]
[HAVING <search_condition>]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看