CN112165478A - 使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 - Google Patents
使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 Download PDFInfo
- Publication number
- CN112165478A CN112165478A CN202011004731.5A CN202011004731A CN112165478A CN 112165478 A CN112165478 A CN 112165478A CN 202011004731 A CN202011004731 A CN 202011004731A CN 112165478 A CN112165478 A CN 112165478A
- Authority
- CN
- China
- Prior art keywords
- user name
- client
- data
- data array
- acquiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于信息技术领域中的信息安全技术,尤其涉及一种使用安全网关对Oracle TNS协议登录用户名进行获取方法及系统。所述方法具体包括以下步骤:获取数据包,并对所述数据包进行解析处理,处理后得到data数组;根据得到所述data数组对客户端的版本位数进行识别;根据得到识别结果对用户名进行分析;根据得到的分析结果提取用户名。由于采用上述技术方案,本发明的方法能够区分32位客户端与64位客户端,并兼容oracle11g,12c各版本,同时能兼顾不同客户端种类,适应sqlplus,Navicat,jdbc等多种客户端。
Description
技术领域
本发明属于信息技术领域中的信息安全技术,尤其涉及一种使用安全网关对Oracle TNS协议登录用户名进行获取方法及系统。
背景技术
在对Oracle TNS协议进行分析中,在Oracle 11g或Oracle 12c下、使用的客户端有可能是32位或64位,而现有技术方案对TNS分析不区分客户端位数和服务端位数,会造成在不同客户端和服务器的情况下无法正确获取用户名的情况,同时现有方案只能适应jdbc客户端,或一到两种客户端,难以广泛适应。
发明内容
本发明公开了一种使用安全网关对Oracle TNS协议登录用户名进行获取方法系统,以解决现有技术的上述以及其他潜在问题中任一问题。
本发明的技术方案是:一种使用安全网关对Oracle TNS协议登录用户名进行获取的方法,所述方法具体包括以下步骤:
S1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;
S2)根据S1)得到所述data数组对客户端的版本进行识别;
S3)根据S2)得到识别结果对用户名进行分析;
S4)根据S3)得到的分析结果提取用户名。
进一步,所述解析处理具体为:将取数据包的头部2个长度字节去除,剩下的数据称为data数组。
进一步,所述识别的具体过程为:
S2.1)分别检查data数组的第3,第9和第10个字节,如果所述字节的内容分别是6,3,0x73则进入S2.2),否则结束;
S2.2)检查data数组的第12字节,如果字节的内容是0xfe,则客户端为是64位,否则为32位,如果为64位则此变量为true,否则为false。
进一步,所述S3)的具体步骤为:
S3.1)将“当前指针”移至所述data数组的第12字节处;
S3.2)从“当前指针”到用户名所在位置设为“偏移量X”,根据S2.3)得到客户端位数进行判断,判断条件如下:如果客户端为64位则是44或48,如果客客户端为32位则是16或22;
S3.3)根据S3.2)的判断结果将“当前指针”前移“偏移量X”。
进一步,所述S4)的具体步骤为:
S4.1)从S3.3)得到的“当前指针”位置处获取用户名长度;
S4.2)从data组到“当前指针”+1处,根据S4.1)得到的用户名长度,获取相应长度的数组内容,即为用户名。
本发明的另一目的是提供一种使用安全网关对Oracle TNS协议登录用户名进行获取系统,所述系统包括:
获取模块:用于将获取数据包,并对将获取数据进行解析处理,得到data数组;
识别模块:用于根据得到data数组进行版本识别;
处理模块,用于对识别结果对用户名进行偏移量计算;
提取模块,用于根据分析结果提取用户名。
一种实现上述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法的信息处理终端。
一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法。
本发明的有意技术效果是:由于采用上述技术方案,本发明的方法能够区分32位客户端与64位客户端,并兼容oracle11g,12c各版本,同时能兼顾不同客户端种类,适应sqlplus,Navicat,jdbc等多种客户端。
附图说明
图1为本发明为一种使用安全网关对Oracle TNS协议登录用户名进行获取的方法的流程框图。
图2为本发明为一种使用安全网关对Oracle TNS协议登录用户名进行获取系统的逻辑框图。
具体实施方式
下面结合具体实施例对本发明的技术方案的做进一步说明。
如图1所示,本发明一种使用安全网关对Oracle TNS协议登录用户名进行获取的方法,所述方法具体包括以下步骤:
S1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;
S2)根据S1)得到所述data数组对客户端的版本进行识别;
S3)根据S2)得到识别结果对用户名进行分析;
S4)根据S3)得到的分析结果提取用户名。
所述解析处理具体为:将取数据包的头部2个长度字节去除,剩下的数据称为data数组。
所述识别的具体过程为:
S2.1)分别检查data数组的第3,第9和第10个字节,如果所述字节的内容分别是6,3,0x73则进入S2.2),否则结束;
S2.2)检查data数组的第12字节,如果字节的内容是0xfe,则客户端为是64位,否则为32位,如果为64位则此变量为true,否则为false。
所述S3)的具体步骤为:
S3.1)将“当前指针”移至所述data数组的第12字节处;
S3.2)从“当前指针”到用户名所在位置设为“偏移量X”,根据S2.3)得到客户端位数进行判断,判断条件如下:如果客户端为64位则是44或48,如果客客户端为32位则是16或22;
S3.3)根据S3.2)的判断结果将“当前指针”前移“偏移量X”。
所述S4)的具体步骤为:
S4.1)从S3.3)得到的“当前指针”位置处获取用户名长度;
S4.2)从data组到“当前指针”+1处,根据S4.1)得到的用户名长度,获取相应长度的数组内容,即为用户名。
如图2所示,本发明一种使用安全网关对Oracle TNS协议登录用户名进行获取系统,所述系统包括:
获取模块:用于将获取数据包,并对将获取数据进行解析处理,得到data数组;
识别模块:用于根据得到data数组进行版本识别;
处理模块,用于对识别结果对用户名进行偏移量计算;
提取模块,用于根据分析结果提取用户名。
一种实现上述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法的信息处理终端。
一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法。
实施例:
一种使用安全网关对Oracle TNS协议登录用户名进行获取的方法,具体步骤如下:
1.基础处理
对TNS包进行解析,除去头部2个长度字节,对剩下的数据称为data数组,对该数据进行进一步处理。
2.包类型检查
分别检查data数组第3,9,10个字节,如果分别是6,3,0x73则进入客户端版本检查步骤,否则则结束。
3.客户端版本检查:
检查data数组第12个字节,如果是0xfe,则客户端为是64位,否则为32位。设置局部变量bool is64Bit保存检查结果,如果为64位则此变量为true,否则为false,将指针移至第data数组12字节处set currentPos=12,并进入下一步对用户名偏移量分析
4.用户名偏移量分析:
从当前指针到用户名所在位置设为userNamePos,根据客户端位数不同,各有两种情况,64bit为44或48;32位为16或22。判断如下
将指针偏移量增加userNamePos。
set currentPos=currentPos+userNamePos,则可以开始提取用户名,
如下表所示:
5.提取用户名:
根据用户名长度:usernameLen=data[currentPos]
用户名内容:data从偏移量取长度为usernameLen的数组内容,即为用户名。
以上对本申请实施例所提供的一种使用安全网关对Oracle TNS协议登录用户名进行获取方法及系统,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
如在说明书及权利要求书当中使用了某些词汇来指称特定组件,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求书的保护范围内。
Claims (8)
1.一种使用安全网关对Oracle TNS协议登录用户名进行获取的方法,其特征在于,所述方法具体包括以下步骤:
S1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;
S2)根据S1)得到所述data数组对客户端的版本进行识别;
S3)根据S2)得到识别结果对用户名进行分析;
S4)根据S3)得到的分析结果提取用户名。
2.根据权利要求1所述的方法,其特征在于,所述解析处理具体为:将取数据包的头部2个长度字节去除,剩下的数据称为data数组。
3.根据权利要求1所述的方法,其特征在于,所述识别的具体过程为:
S2.1)分别检查data数组的第3,第9和第10个字节,如果所述字节的内容分别是6,3,0x73则进入S2.2),否则结束;
S2.2)检查data数组的第12字节,如果字节的内容是0xfe,则客户端为是64位,否则为32位。
4.根据权利要求3所述的方法,其特征在于,所述S3)的具体步骤为:
S3.1)将“当前指针”移至所述data数组的第12字节处;
S3.2)从“当前指针”到用户名所在位置设为“偏移量X”,根据S2.2)得到客户端位数进行判断,判断条件如下:如果客户端为64位则是44或48,如果客户端为32位则是16或22;
S3.3)根据S3.2)的判断结果将“当前指针”前移“偏移量X”。
5.根据权利要求4所述的方法,其特征在于,所述S4)的具体步骤为:
S4.1)从S3.3)得到的“当前指针”位置处获取用户名长度;
S4.2)从data组到“当前指针”+1处,根据S4.1)得到的用户名长度,获取相应长度的数组内容,即为用户名。
6.一种使用安全网关对Oracle TNS协议登录用户名进行获取系统,其特征在于,所述系统包括:
获取模块:用于将获取数据包,并对将获取数据进行解析处理,得到data数组;
识别模块:用于根据得到data数组进行版本识别;
处理模块,用于对识别结果对用户名进行偏移量计算;
提取模块,用于根据分析结果提取用户名。
7.一种实现如权利要求1-5任一项所述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法的信息处理终端。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004731.5A CN112165478A (zh) | 2020-09-22 | 2020-09-22 | 使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004731.5A CN112165478A (zh) | 2020-09-22 | 2020-09-22 | 使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112165478A true CN112165478A (zh) | 2021-01-01 |
Family
ID=73863241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004731.5A Pending CN112165478A (zh) | 2020-09-22 | 2020-09-22 | 使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112165478A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630351A (zh) * | 2009-06-04 | 2010-01-20 | 中国人民解放军理工大学指挥自动化学院 | 利用进程注入及TNS协议解析增强Oracle数据库服务器安全的方法 |
CN102801714A (zh) * | 2012-07-26 | 2012-11-28 | 杭州电子科技大学 | 旁路式解析和还原tns协议中sql命令的方法 |
US20160269181A1 (en) * | 2013-10-28 | 2016-09-15 | Singou Technology Ltd. | Method and Device for Information System Access Authentication |
CN107038208A (zh) * | 2017-02-20 | 2017-08-11 | 北京交通大学 | 解析和还原tns协议314版本中sql命令和参数的方法 |
-
2020
- 2020-09-22 CN CN202011004731.5A patent/CN112165478A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630351A (zh) * | 2009-06-04 | 2010-01-20 | 中国人民解放军理工大学指挥自动化学院 | 利用进程注入及TNS协议解析增强Oracle数据库服务器安全的方法 |
CN102801714A (zh) * | 2012-07-26 | 2012-11-28 | 杭州电子科技大学 | 旁路式解析和还原tns协议中sql命令的方法 |
US20160269181A1 (en) * | 2013-10-28 | 2016-09-15 | Singou Technology Ltd. | Method and Device for Information System Access Authentication |
CN107038208A (zh) * | 2017-02-20 | 2017-08-11 | 北京交通大学 | 解析和还原tns协议314版本中sql命令和参数的方法 |
Non-Patent Citations (1)
Title |
---|
JAVASHUO: ""Oracle TNS 314 协议分析——三、链接认证流程与包分析 - JavaShuo"", 《HTTP://WWW.JAVASHUO.COM/ARTICLE/P-AGKMYOCO-GZ.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888490B (zh) | 一种全自动的web客户端人机识别的方法 | |
CN107908948B (zh) | 一种应用于安全风险控制的安卓app设备指纹生成方法 | |
CN107908703B (zh) | 一种计量数据管理系统 | |
CN106909811B (zh) | 用户标识处理的方法和装置 | |
CN107579973B (zh) | 一种网络空间探测方法、装置及计算设备 | |
CN109150817B (zh) | 一种网页请求识别方法及装置 | |
CN112749028B (zh) | 网络流量处理方法、相关设备及可读存储介质 | |
CN108683555A (zh) | 一种rtp丢包检测方法 | |
WO2022179353A1 (zh) | 域名解析方法、装置及计算机设备 | |
WO2017157335A1 (zh) | 报文识别的方法及装置 | |
CN111159115A (zh) | 相似文件检测方法、装置、设备及存储介质 | |
CN112653657A (zh) | 网络数据分析融合方法、系统、电子设备及存储介质 | |
CN102647351B (zh) | 一种处理xml报文的方法和装置 | |
CN112165478A (zh) | 使用安全网关对OracleTNS协议登录用户名进行获取方法及系统 | |
CN110888965A (zh) | 一种文档数据提取方法及装置 | |
CN115002243B (zh) | 一种数据处理方法及装置 | |
CN111277363A (zh) | 低复杂度同步标头检测 | |
US20160126976A1 (en) | Methods, systems, and computer readable media for optimized message decoding | |
CN110309133B (zh) | 批量数据的处理方法和装置 | |
CN112187763A (zh) | 使用安全网关对OracleTNS协议SQL执行进行审计和阻断方法和系统 | |
CN105721276B (zh) | 垃圾邮件判定方法及其邮件服务器 | |
CN114006750B (zh) | 异常操作的检测方法、装置和电子设备 | |
EP4395402A1 (en) | Forward message processing method and apparatus, forward interface, communication device, and computer-readable storage medium | |
CN117040909B (zh) | 一种对网络设备进行安全防护的方法及系统 | |
CN109981818A (zh) | 域名语义异常分析方法、装置、计算机设备及其存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210101 |
|
RJ01 | Rejection of invention patent application after publication |