Oracle 攻击TNS Listener和其他调度器
TNS Listener 是Oracle 所有通信的中心。对TNS Listener的攻击大多数都已经众所周知。本篇帖子主要是关于两个调度器的攻击:实验的环境:Oracle 8i 在Win xp系统上
1.攻击TNS Listener
在10G版本之前,不需要提供密钥就能够远程管理TNS listener .因为可以指定日志文件和跟踪文件的位置,所以攻击者可能将日志文件设置为如Windows平台上管理员的StartUp文件夹内的一个批处理文件。Oracle还为Listener 添加了另一个选项——即ADMIN_RESTRICTIONS.一旦选中该选项,某些命令就能在本地执行了
2.攻击GIOP
原理 :在默认的情况下,为了能够访问COBRA应用程序,Oracle都安装了一个Internet对象请求代{过}{滤}理间的通信协议IIOP服务器。是通用请求代{过}{滤}理间通信协议(GIOP)的一种实现。
该服务器存在一个漏洞,允许攻击者通过网络清空服务器的任意内存。GIOP的包头内有一个大小的元素,表示客户机正在发送多少数据。服务器使用这个大小参数来构建自己的响应。如果客户机发送的大小参数比实际发送的数据要大,服务器就只读取内存中的数据,直到攻击者这顶的大小为止。最终会访问到不允许访问的内存空间而被拒绝服务。
遇到的问题:
问题分析:
过程调试:
这里用VC6跟进调试,发现代码在运行的过程中在请求连接的时候发生错误,并没有进入到PRINTRESPONSE()函数中。
这里10061连接错误,主要原因为服务器主动拒绝连接。这时候,联想到可能本身Oracle并没有开启该服 务,所以,想到在Oracle8i中添加该服务,成功解决问题,返回内存。
增加GIOP服务
实验代码分析
关键函数
构建请求包头与包尾
当前长度小于要求长度,读取
实验结果截图
在这里本次实验已经进行完了,对Oracle数据库各种服务器这里知识简单列举了两种,但是还是比较有代表性的两种。
本次帖子由于近期的任务比较多,所以更新的比较慢。但是后面会继续持续地更新。
代码会提供下载的地址。
链接:https://pan.baidu.com/s/172iE4dCBWlEfrx1x5HQqbg
提取码:7nh7
支持一下 不错不错 笑死我了 在Oracle工作这么多年,还没有这样分析过。{:1_901:} 目前精通sql 对监听服务仅有初步了解 学习一下 oracle现在的版本是18c,18i是什么版本? 666666感谢楼主。等下去试一下。 对我来说 深了很多啊
页:
[1]
2