TNS网络协议 hacking实现SQL数据流截获.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TNS网络协议 hacking实现SQL数据流截获

ORACLETNS 协议分析 1 TNS 介绍 TNS 协议是ORACLE 服务端和客户端通讯的协议。TNS 协议传输可以使用TCP/IP 协议、使用SSL 的TCP/IP 协议、命名管道和IPC 协议传输,其中TCP/IP 协议传输是使 用明文传送。这里我们只分析基于TCP/IP 协议上的TNS 数据。 ORACLE 网络通讯协议 TNS 有许多版本,并且大部分向下兼容,我们主要 oracle 9.2.0.1.0 客户和服务间的传输协议,他的协议版本号为312 ,其兼容到300 。 TNS 协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据 传输使用不同的请求数据类型。对于通常意义的查询操作一般使用数据类型,当出现错 误或其他情况时可能使用其他类型。在分析过程中发现以下类型数据:  查询语句出错会用标记(marker )类型  客户端向服务器请求失败(如不存在的服务ID ),服务器会发送拒绝(refuse ) 类型  客户机登陆会发送连接类型,而服务器返回一个重定向类型数据  当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型 数据,然后能够正常通讯。 2 TNS 数据格式 TNS 数据包含一个通用的包头,这个包头包含包校验,包长度和包类型等信息。 不同的类型的数据实现不同功能的数据传输。 Common Packet Header 8 通用包头 Data 可变 数据 2.1 通用包头格式 每个TNS 完整数据都包含一个通用包头,他说明接受数据的长度及其相关校验和解 析的信息。 Length 2 包的长度,包括通用包头 Packet check sum 2 包的校验和 Type 1 TNS 类型 Flag 1 状态 Header check sum 2 通用头的校验和 注: Length :包长度(包括包头) Type : 数据包的类型 类型号 类型说明 1 连接(CONNECT ) 2 接受(ACCEPT ) 3 确认(ACK ) 4 拒绝(REFUTE ) 5 重定向(REDIRECT ) 6 数据(DATA ) 7 NULL 8 9 中止(ABORT ) 10 11 重新发送(RESEND ) 12 标记(MARKER ) 13 ATTENTION 14 控制(CONTROL ) 2.2 连接包结构(0x01) 在客户端和ORACLE 要建立连接时,客户端首先发送一个连接结构,然后服务器返 回重定向包(参见2.5 )。 typedef struct TNS_CONNECT_header{ UCHAR NS_ver[2]; UCHAR Compatible_ver[2]; UCHAR ser_opt1; UCHAR ser_opt2; UCHAR SDU_size[2]; UCHAR TDU_size[2]; UC

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档