CN114116619A - 文件删除漏洞的防御方法、系统和计算机设备 - Google Patents
文件删除漏洞的防御方法、系统和计算机设备 Download PDFInfo
- Publication number
- CN114116619A CN114116619A CN202111127570.3A CN202111127570A CN114116619A CN 114116619 A CN114116619 A CN 114116619A CN 202111127570 A CN202111127570 A CN 202111127570A CN 114116619 A CN114116619 A CN 114116619A
- Authority
- CN
- China
- Prior art keywords
- operation request
- file
- information
- deletion
- file operation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种文件删除漏洞的防御方法、系统和计算机设备,其中,该方法包括:提取第一文件操作请求,并按照时间顺序将第一文件操作请求的信息存储至文件操作请求表;基于文件操作请求表,依次判断各第一文件操作请求是否为删除操作请求,获得文件操作请求表中的第一条删除操作请求的信息;将第一条删除操作请求的信息存储至删除操作请求表,并从文件操作请求表中删除该删除操作请求的信息;对于位于第一条删除操作请求之后的第二文件操作请求,依次与删除操作请求表进行匹配;对被成功匹配的文件操作请求中满足预设条件的第三文件操作请求进行阻断。通过本申请,解决了现有技术无法及时准确地识别恶意删除文件的请求并进行阻断的问题。
Description
技术领域
本申请涉及Web服务器安全技术领域,特别是涉及文件删除漏洞的防御方法、系统和计算机设备。
背景技术
Web应用程序是一种基于Web的浏览器/服务器架构的应用程序,通过HTTP请求来存取Web服务器的网页,或执行服务端网页技术的程序。由于它为浏览者在互联网上查找和浏览信息提供了图形化的、易于访问的直观界面,使用简单方便,只需要浏览器和很少的存储空间,且可以跨平台使用,这些优点使它的应用越来越广泛,其种类与数量也不断增加。伴随Web应用程序广泛应用的是Web安全威胁的凸显,黑客利用Web程序的漏洞获取Web服务器的控制权限,篡改网页内容,窃取重要数据,植入恶意代码等。其中,Web应用程序中涉及文件删除操作的函数,如果文件名被恶意用户控制,则可能存在文件删除漏洞,可以让攻击者随意删除服务器上的任意文件,影响业务系统和服务器的安全稳定运行,甚至给服务提供者带来巨大的损失。
针对文件删除漏洞,现有技术中的发现方式主要是白盒源代码审计和黑盒人工测试。白盒源代码审计要求安全人员运用专业知识和源代码分析与调试专用工具,在理清软件的内部结构和代码细节的基础上,逐步检查语句、条件、代码路径、数据流,以及各种有效或无效输入,对整个站点或程序的代码进行安全测试,挖掘程序代码漏洞。但该方法非常耗时并要求测试人员具有很强的专业性。而在黑盒测试过程中,由于测试者往往无法得知Web路径之外的文件,一般只能对可访问的Web前端资源文件如JS、CSS等进行验证测试,且文件删除测试会影响到程序的完整性,无法做到无危害的检测。另外,在实际运行环境中,对于针对文件删除漏洞实施的攻击,现有技术无法进行及时准确的识别并阻断。
针对文件删除漏洞实施的攻击,现有技术无法进行及时准确的识别并阻断的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种文件删除漏洞的防御方法、系统和计算机设备,以解决相关技术中无法及时准确的识别针对文件删除漏洞的攻击并阻断的问题。
第一个方面,在本实施例中提供了一种文件删除漏洞的防御方法,所述方法包括:
在访问Web服务器的HTTP请求中提取第一文件操作请求,并按照请求访问所述Web服务器的时间顺序将所述第一文件操作请求的信息存储至文件操作请求表,其中所述第一文件操作请求的信息至少包括:文件信息参数名、文件信息参数值和URL;
基于所述文件操作请求表,按照访问所述Web服务器的时间顺序依次判断各所述第一文件操作请求是否为删除操作请求,获得所述文件操作请求表中的第一条删除操作请求的信息,并删除所述第一条删除操作请求之前的第一文件操作请求的信息;
将所述第一条删除操作请求的信息存储至删除操作请求表;并从所述文件操作请求表中删除所述删除操作请求的信息;
对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配;对被成功匹配的文件操作请求中满足预设条件的第三文件操作请求进行阻断。
在其中的一些实施例中,对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配之后,所述方法还包括:
在所述第二文件操作请求与所述删除操作请求表匹配不成功的情况下,判断所述第二文件操作请求是否为删除操作请求;
如果所述第二文件操作请求是删除操作请求,将所述第二文件操作请求的信息存储至删除操作请求表,并从所述文件操作请求表中删除所述第二文件操作请求的信息;
如果所述第二文件操作请求不是删除操作请求,从所述文件操作请求表中删除所述第二文件操作请求的信息。
在其中的一些实施例中,基于所述文件操作请求表,按照访问所述Web服务器的时间顺序依次判断各所述第一文件操作请求是否为删除操作请求包括:
基于所述文件操作请求表中存储的第一文件操作请求的信息中的文件信息参数值访问所述Web服务器,得到第一返回信息和对应的Web地址;
根据所述第一返回信息,向所述Web服务器发送所述第一文件操作请求;
基于所述Web地址访问所述Web服务器,得到第二返回信息;
当第二返回信息为访问失败时,将所述第一文件操作请求判定为删除操作请求。
在其中的一些实施例中,对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配包括:
在所述第二文件操作请求的信息的文件信息参数名和URL与所述删除操作请求表中任一个删除操作请求的信息的文件信息参数名和URL均一致的情况下,匹配成功。
在其中的一些实施例中,在访问Web服务器的HTTP请求中提取第一文件操作请求包括:
从访问Web服务器的HTTP请求中,通过正则表达式的条件筛选,获得第一文件操作请求。
在其中的一些实施例中,基于所述文件操作请求表中存储的第一文件操作请求的信息中的文件信息参数值访问所述Web服务器,得到第一返回信息和对应的Web地址包括:
基于所述第一文件操作请求的信息中的文件信息参数值获得第一地址,根据第一地址访问所述Web服务器的对应文件,获得第三返回信息;
当第三返回信息为访问失败时,基于所述Web服务器的目录信息获得多个遍历地址,基于所述遍历地址访问所述文件,直至获得访问成功的第四返回信息;
将访问成功的第三或第四返回信息设置为第一返回信息;将访问成功的地址设置为所述文件信息参数值对应的Web地址。
在其中的一些实施例中,所述文件信息参数名为包含文件名和路径信息的参数名称;所述文件信息参数值为与所述文件信息参数名对应的文件名和路径信息。
在其中的一些实施例中,所述预设条件包括:
所述第二文件操作请求的文件信息参数值的文件名包含预设文件类型;或
所述第二文件操作请求的文件信息参数值的路径信息为预设路径。
第二个方面,在本实施例中提供了一种文件删除漏洞的防御系统,所述系统包括:用户终端、Web服务器、Web反向代理服务器;其中,所述用户终端通过互联网连接Web反向代理服务器,Web反向代理服务器与Web服务器连接;
所述用户终端上安装有浏览器,通过发送HTTP请求访问Web反向代理服务器;
所述Web反向代理服务器用于执行上述任一所述的文件删除漏洞的防御方法。
第三个方面,在本实施例中提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一所述的文件删除漏洞的防御方法。
与相关技术相比,在本实施例中提供的文件删除漏洞的防御方法,通过对HTTP请求的筛选和分析,提取HTTP请求的文件信息参数和URL,并通过执行该请求来识别删除操作;通过与删除操作请求进行特征匹配,判断其他请求是否为恶意删除请求,对恶意请求进行阻断,解决了相关技术中无法及时准确的识别针对任意文件删除漏洞的攻击并阻断的问题,提高了业务系统和服务器运行的安全性和稳定性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的文件删除漏洞的防御方法的应用系统示意图。
图2是本申请实施例的文件删除漏洞的防御方法的流程图。
图3是本申请实施例的第二文件操作请求与删除操作请求表匹配不成功情况下的请求信息处理方法的流程图。
图4是本申请实施例的判定第一文件操作请求是否为删除操作请求的方法流程图。
图5是本申请实施例的访问Web服务器并获取第一返回信息和对应的Web地址的方法流程图。
图6是本申请优选实施例的文件删除漏洞的防御方法的流程图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
互联网访问的常用方式是用户终端通过浏览器访问Web网站,访问的过程是向Web服务器发送HTTP请求并获得响应的过程。
一个HTTP请求报文由请求行、请求头部、空行和请求数据4个部分组成。请求行分为三个部分:请求方法、URL和HTTP协议版本。URL为统一资源定位符,是一种资源位置的抽象唯一识别方法,由4部分组成:协议、主机、端口和路径。请求头部为请求报文添加了一些附加信息,由“名/值”对组成。请求数据为可选部分,比如GET请求就没有请求数据。请求数据部分也叫主体,可以添加任意的其他数据。
HTTP响应报文由状态行、响应头部、空行和响应数据4个部分组成。状态行由三个部分组成,分别为:协议版本、状态码、状态码描述。其中协议版本与请求报文一致;状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码,第一个数字代表了响应的五种状态之一。五种状态分别为:消息、成功、重定向、请求错误、服务器错误。状态码描述是对状态码的简单描述。响应数据用于存放需要返回给客户端的数据信息。
本申请实施例提供的方法可以在作为Web反向代理服务器的计算机设备中执行。图1是本实施例的文件删除漏洞的防御方法的应用系统示意图。其中,Web服务器102可以包括一个或多个(图1中仅示出一个)服务器,反向代理服务器104可以部署防火墙等安全防护措施。反向代理服务器104可以包括一个或多个处理器和用于存储数据的存储器,其中,处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的文件删除漏洞的防御方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器。
用户终端106可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,用户终端和Web服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
在本实施例中提供了一种文件删除漏洞的防御方法,图2是本实施例的文件删除漏洞的防御方法的流程图。本实施例为Web反向代理服务器在接收到对Web服务器的访问请求后,从请求中筛选并判断出恶意的文件删除请求并进行阻断的过程。如图2所示,该流程包括如下步骤:
步骤S201,在访问Web服务器的HTTP请求中提取第一文件操作请求,并按照请求访问该Web服务器的时间顺序将该第一文件操作请求的信息存储至文件操作请求表,其中该第一文件操作请求的信息至少包括:文件信息参数名、文件信息参数值和URL。
用户通过浏览器访问Web网站,由于Web反向代理服务器与Web服务器的连接方式,用户浏览器发出的HTTP请求会先被Web反向代理服务器拦截。本申请实施例根据HTTP请求的请求数据部分中是否包括文件信息参数名、文件信息参数值来确定该请求是否为文件操作请求。如果该请求是文件操作请求,则设置为第一文件操作请求,按照访问Web服务器的时间顺序,将第一文件操作请求的文件信息参数名、文件信息参数值和URL存入文件操作请求表中。文件操作请求表的内容是对用户访问Web网站的HTTP请求进行实时判断和增加的。
步骤S202,基于该文件操作请求表,按照访问该Web服务器的时间顺序依次判断各第一文件操作请求是否为删除操作请求,获得该文件操作请求表中的第一条删除操作请求的信息,并删除该第一条删除操作请求之前的第一文件操作请求的信息。
第一文件操作请求的文件操作类型可能包括对文件的增删改查等操作,本申请实施例按照访问Web服务器的时间顺序,根据文件操作请求表中每一条第一文件操作请求的信息,判断该请求是否为删除操作请求。当找到第一条删除操作请求时,可以删除文件操作请求表中该第一条删除操作请求之前的所有第一文件操作请求的信息。也就是说,在没有找到任何删除操作请求时,只要确定一条第一文件操作请求不是删除操作请求,就可以将该请求的信息从文件操作请求表中删除。
步骤S203,将该第一条删除操作请求的信息存储至删除操作请求表;并从该文件操作请求表中删除该删除操作请求的信息。
找到第一条删除操作请求之后,把该条删除操作请求的信息存储到删除操作请求表,然后把该条删除操作请求的信息从文件操作请求表中删除。这样文件操作请求表中就只包括第一条删除操作请求之后的第二文件操作请求的信息。
步骤S204,对于该第一文件操作请求中位于该第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与该删除操作请求表进行匹配;对被成功匹配的文件操作请求中满足预设条件的第三文件操作请求进行阻断。
对于第二文件操作请求,按照访问Web服务器的时间顺序,根据该请求的文件信息参数名和URL和删除操作请求表中的每一个删除操作请求的文件信息参数名和URL进行匹配。如果和任意一个删除操作请求匹配成功,则说明该第二文件操作请求具备删除功能。如果该第二文件操作请求的文件信息参数值同时还满足预设条件,则说明该第二文件操作请求具有恶意删除意图,将该请求设置为第三文件操作请求,并进行阻断。
通过上述步骤S201至S204,通过对访问Web网站的HTTP请求进行第一次筛选,获得携带文件信息参数的请求,将这些请求的信息存入文件操作请求表。然后对文件操作请求表进行第二次筛选,获得第一条删除操作请求。将该条删除操作请求的信息存入删除操作请求表。删除操作请求表将文件操作请求表中的后续请求与删除操作请求表进行匹配,如果匹配成功,且该请求的文件信息参数值还满足预设条件,说明该请求具有恶意删除意图,进行阻断。本实施例解决了相关技术中无法及时准确的识别针对任意文件删除漏洞的攻击并阻断的问题,提高了业务系统和服务器运行的安全性和稳定性。
在其中的一些实施例中,图3是第二文件操作请求与删除操作请求表匹配不成功情况下的请求信息处理方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,在该第二文件操作请求与该删除操作请求表匹配不成功的情况下,判断该第二文件操作请求是否为删除操作请求。
在第二文件操作请求和删除操作请求表中任意一个删除操作请求的信息匹配均不成功,说明该请求与已有的删除操作请求所要求的资源或操作类型不同,需要重新判断该请求是否为新的删除操作请求,判断方法与步骤S202中的判断方法一致。
步骤S302,如果该第二文件操作请求是删除操作请求,将该第二文件操作请求的信息存储至删除操作请求表,并从该文件操作请求表中删除该第二文件操作请求的信息。
如果判断该第二文件操作请求是删除操作请求,则将该条删除操作请求的信息存储到删除操作请求表,然后把该条删除操作请求的信息从文件操作请求表中删除。
步骤S303,如果该第二文件操作请求不是删除操作请求,从该文件操作请求表中删除该第二文件操作请求的信息。
如果判断该第二文件操作请求不是删除操作请求,则该请求不存在恶意删除风险,允许该请求正常访问Web服务器。
通过上述步骤S301至S303,在第二文件操作请求的信息与删除操作请求表匹配不成功的情况下,对第二文件操作请求的信息执行转存到删除操作请求表或删除的处理,确保文件操作请求表的实时更新,使文件操作请求表中只保留待判定的文件操作请求;同时保证了删除操作请求表保存了所有不能互相匹配的删除操作请求信息,为后续的阻断提供了判断依据。
可选的,在其中的一些实施例中,图4为判定第一文件操作请求是不是删除操作请求的方法流程图。如图4所示,该方法包括如下步骤:
步骤S401,基于该文件操作请求表中存储的第一文件操作请求的信息中的文件信息参数值访问该Web服务器,得到第一返回信息和对应的Web地址。
文件操作请求表中存储了各第一文件操作请求的信息,该信息包括该请求的文件信息参数名、文件信息参数值和URL。本实施例利用该第一文件操作请求的文件信息参数值获得待操作的文件名和文件路径,根据该文件名和文件路径访问该Web服务器,获得第一返回信息和该文件对应的Web地址。该访问的目的是确认该文件是否在该Web服务器上存在。本实施例的第一返回信息为响应状态码,当状态码第一位数字为2时表示访问成功,当状态码第一位数字为除2以外的其他数字时表示访问失败。该文件对应的Web地址是访问成功时的Web地址。
步骤S402,根据该第一返回信息,向该Web服务器发送该第一文件操作请求。
如果该返回信息为表示访问成功的状态码,表示该文件在该Web服务器上存在。则将该第一文件操作请求完整地发送到Web服务器并执行。
步骤S403,基于该Web地址访问该Web服务器,得到第二返回信息。
根据步骤S401获得的Web地址再次访问该Web服务器,确认该文件是否仍然在该Web服务器上存在。本实施例的第二返回信息为响应状态码。
步骤S404,当第二返回信息为访问失败时,将该第一文件操作请求判定为删除操作请求。
如果该返回信息为表示访问成功的状态码,表示该文件在该Web服务器上仍然存在,则判断该第一文件操作请求不是删除操作请求。如果该返回信息为表示访问失败的状态码,则表示该文件在该Web服务器上已不存在,判断该第一文件操作请求是删除操作请求。
通过上述步骤S401至S404,可以根据文件操作请求表中存储的第一文件操作请求信息,通过真实地执行该请求判断该第一文件操作请求是不是删除操作请求。由于恶意删除攻击的第一条删除指令通常为正常的文件删除操作,不会对系统产生安全风险,因此本实施例通过该方法从第一文件操作请求中筛选出删除操作请求,为后续的阻断操作提供了判断依据。
在其中的一些实施例中涉及将第一文件操作请求与删除操作请求表匹配的具体过程。可选的,上述S204中对于第二文件操作请求,基于文件信息参数名和URL依次与该删除操作请求表进行匹配包括:
在该第二文件操作请求的信息的文件信息参数名和URL与该删除操作请求表中任一个删除操作请求的信息的文件信息参数名和URL均一致的情况下,匹配成功。
存储在文件操作请求表中的第二文件操作请求的信息包括:文件信息参数名、文件信息参数值和URL。匹配过程使用的信息为文件信息参数名和URL。由于文件操作请求的URL对应了该请求的后端处理逻辑,如果两个文件操作请求的URL和文件信息参数名一致,可以认为两个请求的操作类型和操作方法是一致的。由于之前的步骤中已经确定其中一个请求为删除操作请求,匹配成功的另一个请求也可以确认为删除操作请求。
通过本实施例的匹配方法能够在不进行实际删除操作、不影响程序完整性的情况下,更准确地识别删除操作请求。
在其中的一些实施例中涉及从HTTP请求中提取第一文件操作请求的具体过程。可选的,上述S201中在访问Web服务器的HTTP请求中提取第一文件操作请求包括:
从访问Web服务器的HTTP请求中,通过正则表达式的条件筛选,获得第一文件操作请求。
HTTP请求的格式是固定的,要从HTTP请求中提取文件信息参数名、文件信息参数值和URL信息,可以通过正则表达式来进行。正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。本申请的实施例根据HTTP请求格式,设置待匹配的字符串,从请求行中提取该请求的URL;从请求数据中提取文件信息参数名、文件信息参数值。其中,文件信息参数名可以是filename和/或path。文件信息参数值可以是对filename和/或path所赋的参数值。
通过本实施例获取第一文件操作请求的方法,能够基于正则表达式对大量HTTP请求进行实时准确地筛选,获取第一文件操作请求的URL和文件信息参数。
可选的,在其中的一些实施例中,图5为基于第一文件操作请求的文件信息参数值访问Web服务器,获取第一返回信息和对应的Web地址的方法流程图。如图5所示,该方法包括如下步骤:
步骤S501,基于该第一文件操作请求的信息中的文件信息参数值获得第一地址,根据第一地址访问该Web服务器的对应文件,获得第三返回信息。
根据第一文件操作请求的文件信息参数值获得待操作的文件名和文件路径,例如filename=/uploads/file/test.zip或path=/uploads/file/&file=test.zip,该文件信息参数值包含路径和具体的文件名信息。然后将该信息与该第一文件操作请求的URL拼接,形成一个新的Web地址,称为第一地址,例如http://域名/uploads/file/test.zip。根据第一地址访问该Web服务器,获得第三返回信息。如果第三返回信息为2xx,说明可以正常访问该文件。
步骤S502,当第三返回信息为访问失败时,基于该Web服务器的目录信息获得多个遍历地址,基于该遍历地址访问该文件,直至获得访问成功的第四返回信息。
如果第三返回信息不是2xx,表示访问失败。由于该文件信息参数值的文件路径可能是相对路径,该相对路径的上级目录信息没有包含在参数中,因此需要获取Web服务器的目录字典集合作为可能的文件URL路径,通过遍历的方式访问确认,如果最终获得了访问成功的第四返回信息,则说明该文件存在于该Web服务器上。如果最终仍然无法访问成功,则该文件不存在,该第一文件操作请求无效,后续不再执行对该请求的其他动作。
步骤S503,将访问成功的第三或第四返回信息设置为第一返回信息;将访问成功的地址设置为该文件信息参数值对应的Web地址。
在第三或第四返回信息为访问成功的情况下,将该信息设置为第一返回信息;将访问成功的地址设置为该文件信息参数值对应的Web地址。该Web地址作为验证文件是否存在的最终地址。
通过上述步骤S501至S503,根据第一文件操作请求的文件信息参数值准确判断该文件是否在Web服务器上存在,如果存在获取该文件的准确Web地址,便于后续的访问和操作。
在本申请的实施例中,该文件信息参数名为包含文件名和/或路径信息的参数名称;文件信息参数值为与文件信息参数名对应的文件名和路径信息。
通过本实施例明确了文件信息参数的构成,明确从HTTP请求中筛选的信息类型和具体数据。
在其中的一些实施例中,对被成功匹配的文件操作请求中满足预设条件的第三文件操作请求进行阻断,该预设条件包括:
该第二文件操作请求的文件信息参数值的文件名包含预设文件类型;或该第二文件操作请求的文件信息参数值的路径信息为预设路径。
预设文件类型包括脚本文件如ASP/ASPX/PHP/JSP文件、Web应用配置文件如web.config/web.xml/datasource.xml、前端资源文件JS/CSS等。预设路径为附件目录或WEB根目录之外的范围。恶意用户往往通过利用../或..\字符来实现对目录的控制,检测模块通过这些匹配特征,判断是否需要进行阻断处理。
通过本实施例预设条件的设置,对删除操作请求的文件信息参数值进行了限制,根据该预设条件能够更准确地判定恶意删除请求并进行有效阻断。
下面通过优选实施例对本实施例进行描述和说明。
图6是本优选实施例的文件删除漏洞的防御方法的流程图。如图6所示,该方法包括如下步骤:
步骤S601,对访问Web服务器的HTTP请求的请求行、请求数据通过正则表达式进行筛选,获得第一文件操作请求;按照访问Web服务器的时间顺序把第一文件操作请求的包含文件名和路径信息的参数名称、参数值和该请求的URL存储到文件操作请求表中。
步骤S602,按照访问Web服务器的时间顺序,依次对文件操作请求表中的第一文件操作请求执行:判断删除操作请求表中有没有删除操作请求。
步骤S603,如果删除操作请求表中有删除操作请求,将第一文件操作请求的包含文件名和路径信息的参数名称和URL与删除操作请求表中任一个删除操作请求的包含文件名和路径信息的参数名称和URL进行匹配,在参数名称和URL均一致的情况下表示匹配成功;
步骤S604,如果匹配成功,则判断该文件操作请求的文件名是否包含脚本文件如ASP/ASPX/PHP/JSP文件、Web应用配置文件如web.config/web.xml/datasource.xml、前端资源文件JS/CSS,或路径信息是否为附件目录、WEB根目录之外的范围。如果该文件操作请求的文件名或路径信息满足以上条件,则判断该请求为恶意删除请求,对该文件操作请求进行阻断。如果匹配成功,但文件名或路径信息不满足以上条件,说明该请求为正常删除请求,允许该请求发送到Web服务器,并从文件操作请求表中删除该请求。
步骤S605,如果匹配不成功,判断该第一文件操作请求是否为删除操作请求。具体操作为:根据第一文件操作请求参数值中的文件名和路径信息获得第一地址,根据第一地址访问Web服务器的对应文件,获得第三返回信息。
步骤S606,如果第三返回信息是状态码2xx,表示访问成功;如果返回信息不是2xx,表示访问失败。
步骤S607,在第三返回信息是访问失败的情况下,基于Web服务器的目录信息获得多个遍历地址,基于遍历地址访问该文件,直至获得访问成功的第四返回信息。如果无法访问成功,说明文件不存在,终止对该请求的操作,将其从文件操作请求表中删除。
步骤S608,将访问成功的第三或第四返回信息设置为第一返回信息;将访问成功的地址设置为该文件对应的Web地址。
步骤S609,根据第一返回信息,向Web服务器发送第一文件操作请求。
步骤S610,基于该Web地址访问Web服务器,得到第二返回信息。
步骤S611,当第二返回信息为访问失败时,将该第一文件操作请求判定为删除操作请求;当第二返回信息为访问成功时,将该第一文件操作请求判定为非删除操作请求,终止对该请求的操作,将其从文件操作请求表中删除。
步骤S612,确定该第一文件操作请求是删除操作请求后,将该条删除操作请求的包含文件名和路径信息的参数名称、参数值和该请求的URL存储至删除操作请求表;并从文件操作请求表中删除此条删除操作请求的信息。
通过上述步骤S601至S612,能够准确及时地从HTTP请求中识别恶意删除文件的请求并进行阻断,且该识别和阻断方法不会影响到Web应用程序的完整性和安全性,保证Web服务器的安全稳定运行。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一些实施例中,本申请还提供了一种文件删除漏洞的防御系统,该系统包括用户终端、Web服务器、Web反向代理服务器。其中,用户终端通过互联网连接Web反向代理服务器,Web反向代理服务器与Web服务器连接。用户终端上安装有浏览器,通过发送HTTP请求访问Web反向代理服务器。
Web反向代理服务器通过正则表达式筛选HTTP请求中的文件操作请求,根据请求的文件信息参数判断该文件操作请求是否为删除请求,并通过对文件名和路径信息预设条件来判断该删除请求是不是恶意删除请求。对确认为恶意删除的请求进行阻断,对正常删除请求和其他文件操作请求不进行干涉,允许其正常访问Web服务器。本实施例中的系统能够准确及时地从HTTP请求中识别恶意删除文件的请求并进行阻断,且该识别和阻断方法不会影响到Web应用程序的完整性和安全性,保证Web服务器的安全稳定运行。
在本实施例中还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述计算机设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种文件删除漏洞的防御方法,其特征在于包括:
在访问Web服务器的HTTP请求中提取第一文件操作请求,并按照请求访问所述Web服务器的时间顺序将所述第一文件操作请求的信息存储至文件操作请求表,其中所述第一文件操作请求的信息至少包括:文件信息参数名、文件信息参数值和URL;
基于所述文件操作请求表,按照访问所述Web服务器的时间顺序依次判断各所述第一文件操作请求是否为删除操作请求,获得所述文件操作请求表中的第一条删除操作请求的信息,并删除所述第一条删除操作请求之前的第一文件操作请求的信息;
将所述第一条删除操作请求的信息存储至删除操作请求表;并从所述文件操作请求表中删除所述删除操作请求的信息;
对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配;对被成功匹配的文件操作请求中满足预设条件的第三文件操作请求进行阻断。
2.根据权利要求1所述的方法,其特征在于,对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配之后,所述方法还包括:
在所述第二文件操作请求与所述删除操作请求表匹配不成功的情况下,判断所述第二文件操作请求是否为删除操作请求;
如果所述第二文件操作请求是删除操作请求,将所述第二文件操作请求的信息存储至删除操作请求表,并从所述文件操作请求表中删除所述第二文件操作请求的信息;
如果所述第二文件操作请求不是删除操作请求,从所述文件操作请求表中删除所述第二文件操作请求的信息。
3.根据权利要求2所述的方法,其特征在于,基于所述文件操作请求表,按照访问所述Web服务器的时间顺序依次判断各所述第一文件操作请求是否为删除操作请求包括:
基于所述文件操作请求表中存储的第一文件操作请求的信息中的文件信息参数值访问所述Web服务器,得到第一返回信息和对应的Web地址;
根据所述第一返回信息,向所述Web服务器发送所述第一文件操作请求;
基于所述Web地址访问所述Web服务器,得到第二返回信息;
当第二返回信息为访问失败时,将所述第一文件操作请求判定为删除操作请求。
4.根据权利要求2所述的方法,其特征在于,对于所述第一文件操作请求中位于所述第一条删除操作请求之后的第二文件操作请求,基于文件信息参数名和URL依次与所述删除操作请求表进行匹配包括:
在所述第二文件操作请求的信息的文件信息参数名和URL与所述删除操作请求表中任一个删除操作请求的信息的文件信息参数名和URL均一致的情况下,匹配成功。
5.根据权利要求2所述的方法,其特征在于,在访问Web服务器的HTTP请求中提取第一文件操作请求包括:
从访问Web服务器的HTTP请求中,通过正则表达式的条件筛选,获得第一文件操作请求。
6.根据权利要求3所述的方法,其特征在于,基于所述文件操作请求表中存储的第一文件操作请求的信息中的文件信息参数值访问所述Web服务器,得到第一返回信息和对应的Web地址包括:
基于所述第一文件操作请求的信息中的文件信息参数值获得第一地址,根据第一地址访问所述Web服务器的对应文件,获得第三返回信息;
当第三返回信息为访问失败时,基于所述Web服务器的目录信息获得多个遍历地址,基于所述遍历地址访问所述文件,直至获得访问成功的第四返回信息;
将访问成功的第三或第四返回信息设置为第一返回信息;将访问成功的地址设置为所述文件信息参数值对应的Web地址。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述文件信息参数名为包含文件名和路径信息的参数名称;所述文件信息参数值为与所述文件信息参数名对应的文件名和路径信息。
8.根据权利要求7所述的方法,其特征在于,所述预设条件包括:
所述第二文件操作请求的文件信息参数值的文件名包含预设文件类型;或
所述第二文件操作请求的文件信息参数值的路径信息为预设路径。
9.一种文件删除漏洞的防御系统,其特征在于包括:用户终端、Web服务器、Web反向代理服务器;其中,所述用户终端通过互联网连接Web反向代理服务器,Web反向代理服务器与Web服务器连接;
所述用户终端上安装有浏览器,通过发送HTTP请求访问Web反向代理服务器;
所述Web反向代理服务器用于执行权利要求1至8中任一项所述的文件删除漏洞的防御方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8中任一项所述的文件删除漏洞的防御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111127570.3A CN114116619A (zh) | 2021-09-26 | 2021-09-26 | 文件删除漏洞的防御方法、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111127570.3A CN114116619A (zh) | 2021-09-26 | 2021-09-26 | 文件删除漏洞的防御方法、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116619A true CN114116619A (zh) | 2022-03-01 |
Family
ID=80441264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111127570.3A Pending CN114116619A (zh) | 2021-09-26 | 2021-09-26 | 文件删除漏洞的防御方法、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116619A (zh) |
-
2021
- 2021-09-26 CN CN202111127570.3A patent/CN114116619A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383546B (zh) | 一种处理网络攻击行为的方法、相关设备及存储介质 | |
US10212173B2 (en) | Deterministic reproduction of client/server computer state or output sent to one or more client computers | |
CN108206802B (zh) | 检测网页后门的方法和装置 | |
US9832213B2 (en) | System and method for network intrusion detection of covert channels based on off-line network traffic | |
CN111400722B (zh) | 扫描小程序的方法、装置、计算机设备和存储介质 | |
KR101001132B1 (ko) | 웹 어플리케이션의 취약성 판단 방법 및 시스템 | |
US9208309B2 (en) | Dynamically scanning a web application through use of web traffic information | |
KR100732689B1 (ko) | 웹 보안방법 및 그 장치 | |
CN104954346B (zh) | 基于对象分析的攻击识别方法及装置 | |
Barua et al. | Server side detection of content sniffing attacks | |
CN104954345B (zh) | 基于对象分析的攻击识别方法及装置 | |
US20220198025A1 (en) | Web Attack Simulator | |
CN111783096A (zh) | 检测安全漏洞的方法和装置 | |
CN110879891A (zh) | 基于web指纹信息的漏洞探测方法及装置 | |
CN111628990A (zh) | 识别攻击的方法、装置和服务器 | |
US20200210584A1 (en) | Deterministic Reproduction of Client/Server Computer State or Output Sent to One or More Client Computers | |
CN114666104A (zh) | 一种渗透测试方法、系统、计算机设备以及存储介质 | |
Reynolds et al. | Equivocal URLs: Understanding the Fragmented Space of URL Parser Implementations | |
Munea et al. | Design and implementation of fuzzing framework based on IoT applications | |
Lee et al. | PRETT: protocol reverse engineering using binary tokens and network traces | |
CN114116619A (zh) | 文件删除漏洞的防御方法、系统和计算机设备 | |
CA3204750A1 (en) | Web attack simulator | |
CN113114609A (zh) | webshell检测取证方法及系统 | |
Kilaru | Improving techniques for SQL injection defenses | |
Dande Alekya | Study on Manual Auditing for Web Application Vulnerability Detection |
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 |