[发明专利]一种无认证的Oracle版本探测的方法在审
申请号: | 201811477680.0 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109558737A | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 杨海峰;廉小伟;付蓉洁;陈立;张东 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/71 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 变形信息 无认证 探测 用户名密码 安全产品 安全检测 安全网关 监听端口 渗透测试 直接获取 防火墙 截取 登录 发送 返回 审计 梳理 资产 应用 | ||
本发明涉及一种无认证的Oracle版本探测的方法,包括以下步骤:构造TNS连接包;通过Oracle数据库IP、端口与Oracle数据库建立Socket连接;客户端向Oracle数据库发送TNS连接包;Oracle数据库返回TNS拒绝包,客户端截取TNS拒绝包中的Oracle数据库版本变形信息;客户端将得到的Oracle数据库版本变形信息进行加工处理,得到真实版本号。本发明设计合理,无需用户名密码登录Oracle数据库,只需要Oracle数据库的IP和监听端口就可以直接获取Oracle数据库版本,具有安全可靠、实现成本低、便于实现等特点,可广泛应用于Oracle数据库安全检测、Oracle数据库审计、Oracle数据库防火墙、Oracle数据库安全网关、Oracle数据库资产梳理等Oracle数据库安全产品及渗透测试工具中。
技术领域
本发明属于Oracle数据库安全技术领域,尤其是一种无认证的Oracle版本探测的方法。
背景技术
在主机及Oracle数据库远程安全评估、Oracle数据库漏洞扫描等安全技术领域,经常会用到主机及Oracle数据库探测技术。Oracle数据库漏洞扫描的首要步骤就是主机发现和Oracle数据库信息探测。Oracle数据库版本号是Oracle数据库信息的重要组成部分,对于Oracle数据库漏洞扫描及安全防护是至关重要的信息,在Oracle数据库防火墙等产品中也会广泛关注,是Oracle数据库安全检查和防护的前提。
目前,对于上述应用场景,远程客户端通常需要登录Oracle数据库才能查询到Oracle数据库版本号,这种传统的方式因为需要知道Oracle数据库用户名密码限制比较大且成本较高。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理、实现成本低且安全可靠的无认证的Oracle版本探测的方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种无认证的Oracle版本探测的方法,包括以下步骤:
步骤1、构造TNS连接包;
步骤2、通过Oracle数据库IP、端口与Oracle数据库建立Socket连接;
步骤3、客户端向Oracle数据库发送由步骤1构造的TNS连接包;
步骤4、Oracle数据库返回TNS拒绝包,客户端截取TNS拒绝包中的Oracle数据库版本变形信息;
步骤5、客户端将得到的Oracle数据库版本变形信息进行加工处理,得到真实版本号。
所述步骤1构造的TNS连接包由通用包头header和payload组成。
所述TNS连接包通用包头header的前两个字节为包长度,第五个字节为TNS类型;所述payload为一个TNS_CONNECT_header连接包结构体,连接包结构体的最后为ConnectData连接字符串,连接包结构体的第17、18字节为Connect Data长度,Connect Data的值为CONNECT_DATA=(COMMAND=version)。
所述步骤5的具体处理方法为:首先将Oracle数据库版本变形信息进行十六进制转换,然后将十六进制字符串中的“00”替换为“0”,再将得到的十六进制数中的最高位字节转成十进制,最终将每两位数之间用“.”分割,得到详细的版本号信息,如“11.2.0.4.0”。
本发明的优点和积极效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811477680.0/2.html,转载请声明来源钻瓜专利网。