摘 要
随着计算机网络的快速发展,以Web应用后台数据库为目标的攻击方式成为攻击者非法窃取信息的重要手段。同时,Oracle数据库作为世界上最成熟的关系数据库之一,已被广泛的应用于金融等重要领域,因此针对以Oracle数据库为后台数据系统的各类攻击尤为常见。
Oracle数据库作为一个大型数据库系统的典型代表,被最广泛的应用于各个大型网络系统中,也成为了攻击者攻击的重中之重。因为此,研究针对Oracle数据库的攻防技术是保障网络信息安全的一项重要课题。
本课题的主要研究对象是针对Oracle数据库的SQL注入方式、标类注入提权技术及防御手段,Oracle提权漏洞的注入攻击,深入研究针对常用的Oracle提权攻击技术及其相应的防御方法。分析并研究两种通过游标进行权限提升攻击技术,包括游标Snarf提权技术及游标注入提权技术。归纳出使用于此类技术的两种攻击途径。
关键词:Oracle;数据库;漏洞;安全;提取
Abstract
Along with the rapid development of computer network, the attack mode of Web application background database becomes an important means for attackers to steal information illegally. Meanwhile, as one of the most mature relational databases in the world, Oracle database has been widely used in important fields such as finance, so it is especially common to attack all kinds of data systems with Oracle database as background data system.
As a typical representative of a large database system, Oracle database is widely used in various large network systems, and has become the most important attack by attackers. Because of this, the research on attack and defense technology for Oracle database is an important subject to ensure network information security.
The main research object of this topic is to Oracle the SQL injection mode of the database, the standard class injection lifting technology and the defense means, Oracle the injection attack of the lifting vulnerability, and deeply study the commonly used Oracle lifting attack technology and its corresponding defense methods. Analysis and study of two kinds of cursor rights enhancement attack technology, including cursor Snarf lifting technology and cursor injection lifting technology. Two attack methods used in this technology are summarized.
Keywords: Oracle; database; vulnerability; security; extraction
目 录
摘 要
Abstract
1 绪论
1.1 课题的研究背景和意义
1.2 国内外研究现状和发展动态
1.3研究内容及论文组织架构
2 常见漏洞提取技术
2.1 漏洞概述
2.1.1 漏洞的概念
2.1.2 漏洞的形成原因
2.2 漏洞的危害
2.3 漏洞的分类
2.4 kali漏洞提取的技术
2.4.1 fuzzer 的设计
3 数据库通讯协议分析
3.1 基本思想
3.2 软件逆向工程与反汇编分析技术
3.3 登录认证过程的数据包结构的获取
3.4 SQL 语句数据包结构的获取
3.4.1 客户端的 SQL 语言命令请求报文
3.4.2 服务端的 SQL 语言命令响应报文
4 基于协议分析基础上的测试数据包的生成
4.1 脚本集的设计
4.2 样本包的来源
4.2.1 脚本直接提供
4.2.2 通过数据包截获提供
4.3 测试数据包的构造
4.3.1 解释脚本,读取协议样本包内容
4.3.2 对特定数据项进行变换处理,并以此构造测试数据包
4.3.3 确定漏洞提取目标,发送测试数据包
4.4 漏洞信息识别
4.3.1 分析服务端返回的响应信息
4.3.2 分析数据库服务器异常信息
5 提取器实现与实验测试
5.1 整体框架与实现
5.2 提取器总体结构
5.2.1 提取器结构框图
5.2.2 提取器组成部分描述
5.3 提取器逻辑流程
5.4 提取器主要模块设计
5.5 样本包模块设计
5.6 测试数据包模块设计
5.7 漏洞信息识别模块设计
5.7.1 实验与结果分析
6 总结与展望
6.1 全文总结
6.2 工作展望
致 谢
参考文献
附录 1 Select 命令一般语法结构