panjingweb 发表于 2019-1-12 11:06

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






大大股份 发表于 2019-1-12 11:16

支持一下

cxbb 发表于 2019-1-12 11:24

不错不错

不会走的 发表于 2019-1-12 12:46

笑死我了

dy18 发表于 2019-1-12 14:44

在Oracle工作这么多年,还没有这样分析过。{:1_901:}

Hungarian 发表于 2019-1-12 16:03

目前精通sql 对监听服务仅有初步了解 学习一下

linuxprobe 发表于 2019-1-12 16:25

oracle现在的版本是18c,18i是什么版本?

muzb 发表于 2019-1-12 20:48

weep0214 发表于 2019-1-13 04:39

666666感谢楼主。等下去试一下。

dcx800 发表于 2019-1-13 08:05

对我来说 深了很多啊
页: [1] 2
查看完整版本: Oracle 攻击TNS Listener和其他调度器