CN117879976B - 基于跨站脚本攻击的请求数据处理方法、计算机设备 - Google Patents

基于跨站脚本攻击的请求数据处理方法、计算机设备 Download PDF

Info

Publication number
CN117879976B
CN117879976B CN202410269359.2A CN202410269359A CN117879976B CN 117879976 B CN117879976 B CN 117879976B CN 202410269359 A CN202410269359 A CN 202410269359A CN 117879976 B CN117879976 B CN 117879976B
Authority
CN
China
Prior art keywords
data
request
cross
request data
site scripting
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.)
Active
Application number
CN202410269359.2A
Other languages
English (en)
Other versions
CN117879976A (zh
Inventor
李宝君
何玉华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantong Jinxin Holdings Guangdong Co ltd
Original Assignee
Quantong Jinxin Holdings Guangdong Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quantong Jinxin Holdings Guangdong Co ltd filed Critical Quantong Jinxin Holdings Guangdong Co ltd
Priority to CN202410269359.2A priority Critical patent/CN117879976B/zh
Publication of CN117879976A publication Critical patent/CN117879976A/zh
Application granted granted Critical
Publication of CN117879976B publication Critical patent/CN117879976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例公开了基于跨站脚本攻击的请求数据处理方法、计算机设备。该方法的一具体实施方式包括:响应于确定目标请求的请求类型为第一请求类型,对目标请求的请求数据进行反序列化处理;对反序列化对象请求数据进行跨站脚本攻击检测处理;根据跨站脚本攻击检测结果,对反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据;对反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据;响应于确定目标请求的请求类型为第二请求类型,对请求数据中为文字的数据进行跨站脚本攻击检测处理;根据文字跨站脚本攻击检测结果,对请求数据进行回填处理。该实施方式可以实时对请求数据进行检测,缩短了检测时间。

Description

基于跨站脚本攻击的请求数据处理方法、计算机设备
技术领域
本公开的实施例涉及计算机领域,具体涉及基于跨站脚本攻击的请求数据处理方法、计算机设备。
背景技术
XSS(Cross Site Scripting)攻击是指攻击者通过在网页中注入恶意脚本,从而在受害者浏览器上执行恶意代码,窃取受害者的敏感信息。现有防XSS攻击方案一般是在服务端对返回数据作处理,以达到防攻击的目地。比如在返回数据中加一段带注释的html标签,如果返回数据被解析为html时,这段html标签里的代码就会马上执行,从而防止XSS网页中注入恶意脚本。但这种方案作用有限,尤其是当返回数据就是要作为html解析时,会误触发该机制。而且在java web环境下,很多时候(例如:业务开发者直接用在返回流中写结果),无法对返回数据作处理。目前,对于XSS攻击检查,通常采用的方式为:采用大数据、AI学习的方式对请求数据进行XSS攻击检查。
然而,采用大数据、AI学习的方式对请求数据进行XSS攻击检查,通常存在以下技术问题:对请求数据的检测时间较长,无法实时进行检测。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了基于跨站脚本攻击的请求数据处理方法、计算机设备和计算机可读存储介质,来解决以上背景技术部分提到的技术问题。
第一方面,本公开的一些实施例提供了一种基于跨站脚本攻击的请求数据处理方法,该方法包括:响应于确定目标请求的请求类型为第一请求类型,对上述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据;对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果;根据上述跨站脚本攻击检测结果,对上述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据;对上述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据;响应于确定目标请求的请求类型为第二请求类型,对上述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果;根据上述文字跨站脚本攻击检测结果,对上述请求数据进行回填处理,得到回填请求数据。
第二方面,本公开还提供一种计算机设备,上述计算机设备包括处理器、存储器、以及存储在上述存储器上并可被上述处理器执行的计算机程序,其中上述计算机程序被上述处理器执行时,实现如上述第一方面任一实现方式所描述的方法。
第三方面,本公开还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有计算机程序,其中上述计算机程序被处理器执行时,实现如上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的基于跨站脚本攻击的请求数据处理方法,可以实时对请求数据进行检测,缩短了检测时间。首先,响应于确定目标请求的请求类型为第一请求类型,对上述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据。由此,可以根据请求数据的类型,对数据进行相应的处理,以便于进行跨站脚本攻击检测。其次,对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果。接着,根据上述跨站脚本攻击检测结果,对上述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据。由此,可以去除请求数据中跨站脚本攻击数据。然后,对上述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据。再然后,响应于确定目标请求的请求类型为第二请求类型,对上述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果。最后,根据上述文字跨站脚本攻击检测结果,对上述请求数据进行回填处理,得到回填请求数据。由此,可以对不同类型的请求数据进行跨站脚本攻击检测,以有效阻止跨站脚本攻击。可以实时对请求数据进行检测,缩短了检测时间。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本公开的基于跨站脚本攻击的请求数据处理方法的一些实施例的流程图;
图2是本公开实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开的基于跨站脚本攻击的请求数据处理方法的一些实施例的流程图。示出了根据本公开的基于跨站脚本攻击的请求数据处理方法的一些实施例的流程100。该基于跨站脚本攻击的请求数据处理方法,包括以下步骤:
步骤101,响应于确定目标请求的请求类型为第一请求类型,对上述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据。
在一些实施例中,基于跨站脚本攻击的请求数据处理的执行主体(例如计算设备)可以响应于确定目标请求的请求类型为第一请求类型,对上述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据。第一请求类型(content-type)可以是application/json或application/xml。跨站脚本攻击可以是指跨站脚本攻击(Cross SiteScripting)。目标请求可以是指某一用户发送的请求,用于访问、浏览、下载等操作的请求。请求数据可以是表示上述目标请求的代码数据。
步骤102,对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果。
在一些实施例中,上述执行主体可以对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果。
在一个实际的应用场景中,上述执行主体可以通过以下步骤对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果:
第一步,取出上述反序列化对象请求数据中的字符串。即,取出上述反序列化对象请求数据中类型为String的字符串数据。
第二步,确定上述字符串的格式不为第一格式类型,根据上述反序列化对象请求数据对应的数据定位符,确定上述数据定位符是否在宽松模式检测列表名单内。第一格式类型可以是指json格式或xml格式。数据定位符可以是指URL(Uniform Resource Locator,统一资源定位符)。即,确定宽松模式检测列表名单中是否存在该数据定位符。宽松模式检测列表名单可以是指发送请求的请求数据可使用第一模式正则表达式进行跨站脚本攻击检测的用户名单。
第三步,响应于确定上述数据定位符在宽松模式检测列表名单内,确定上述字符串中是否有匹配第一模式正则表达式的子字符串。即,确定上述字符串中是否有符合第一模式正则表达式的子字符串。其中,第一模式正则表达式可以是预先设定的对某一类用户的请求数据进行检测的正则表达式。
例如,第一模式正则表达式可以是:
^[^>\"']+[\"']\\s*>\\s*(<[^>]+)+(新html标签注入);
(on[^\\s]+\\s*=\\s*[\\w\"']+(on事件注入);
[\"']\\s*style+\\s*=\\s*(:?'[\\w]+'|\"[\\w]+\")(css style标签注入);
(window\\.(?:location)?|window\\\\.open\\(.*?\\)|\\.location|document\\.(?:cookie)?|alert\\(.*?\\)|prompt\\(.*?\\)|confirm\\(.*?\\)|expression\\(.*?\\)|eval\\(.*?\\))+(dom函数注入);
<(?:no)?script[^>]*>.*?</(?:no)?script>(<noscript>标签注入);
</?script.*?>(<script>标签注入);
(javascript|vbscript|view-source)+(<javascript>、<vbscript>、<view-source>标签注入)。
第四步,响应于确定上述字符串中有匹配上述第一模式正则表达式的子字符串,生成空字符串作为跨站脚本攻击检测结果。
可选地,响应于确定上述数据定位符未在宽松模式检测列表名单内,确定上述字符串中是否有匹配第二模式正则表达式的子字符串。
在一些实施例中,上述执行主体可以响应于确定上述数据定位符未在宽松模式检测列表名单内,确定上述字符串中是否有匹配第二模式正则表达式的子字符串。第二模式正则表达式可以是预先设定的对所有用户的请求数据进行检测的正则表达式。
例如,第二模式正则表达式可以是:“<、>、'、"、&”。
可选地,响应于确定上述字符串中有匹配上述第二模式正则表达式的子字符串,生成空字符串作为跨站脚本攻击检测结果。
在一些实施例中,上述执行主体可以响应于确定上述字符串中有匹配上述第二模式正则表达式的子字符串,生成空字符串作为跨站脚本攻击检测结果。
步骤103,根据上述跨站脚本攻击检测结果,对上述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据。
在一些实施例中,上述执行主体可以根据上述跨站脚本攻击检测结果,对上述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据。
实践中,上述执行主体可以将上述反序列化对象请求数据中匹配上述第一模式正则表达式的子字符串替换为上述跨站脚本攻击检测结果。即,可以将上述反序列化对象请求数据中匹配上述第一模式正则表达式的子字符串替换为空字符串。
步骤104,对上述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据。
在一些实施例中,上述执行主体可以对上述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据。
步骤105,响应于确定目标请求的请求类型为第二请求类型,对上述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果。
在一些实施例中,上述执行主体可以响应于确定目标请求的请求类型为第二请求类型,对上述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果。第二请求类型可以是指multipart/form-data类型。跨站脚本攻击检测处理可以参考步骤102的实现方式,在此不再赘述。当上述请求数据中为文字的数据存在符合第一模式正则表达式或第二模式正则表达式的子字符串时,则文字跨站脚本攻击检测结果为空字符串。
步骤106,根据上述文字跨站脚本攻击检测结果,对上述请求数据进行回填处理,得到回填请求数据。
在一些实施例中,上述执行主体可以根据上述文字跨站脚本攻击检测结果,对上述请求数据进行回填处理,得到回填请求数据。例如,当文字跨站脚本攻击检测结果为空字符串时,则将上述请求数据中匹配上述第一模式正则表达式的子字符串替换为空字符串。
可选地,响应于确定上述目标请求的请求类型满足预设条件,对上述请求数据进行跨站脚本攻击检测处理,得到请求数据检测结果。
在一些实施例中,上述执行主体可以响应于确定上述目标请求的请求类型满足预设条件,对上述请求数据进行跨站脚本攻击检测处理,得到请求数据检测结果。预设条件可以是:请求类型不为第一请求类型或第二请求类型,且请求类型不为第三请求类型。其中,第三请求类型可以是application/x-www-form-urlencoded类型。
可选地,将上述目标请求的请求数据替换为上述请求数据检测结果。
在一些实施例中,上述执行主体可以将上述目标请求的请求数据替换为上述请求数据检测结果。
此外,用户在使用远程调用中间件在进行远程调用过程中,通常通过内置配置文件进行注册调用。并且大多数系统都是通过配置文件进行注册调用。同时,别名、超时时间、重试次数等调用配置也会写入配置文件中。
然而,上述调用的方式通常存在以下技术问题:当程序启动后配置文件中的配置数据往往无法修改。程序运行中,如果要修改别名、超时时间等配置来满足当下业务,则需要重新修改配置文件,且重新发布新程序。
可选地,响应于检测到表征中间件配置数据的变更请求,确定已有配置数据中是否存在与目标配置数据相匹配的配置数据。
在一些实施例中,上述执行主体可以响应于检测到表征中间件配置数据的变更请求,确定已有配置数据中是否存在与目标配置数据相匹配的配置数据。其中,上述目标配置数据为上述变更请求所指示的目标中间件的配置数据,上述目标中间件表示某一技术用户配置第一模式正则表达式的中间件。在这里,技术人员可以使用终端来修改的配置数据,如远程调用中间件的配置数据。其中,配置数据可以根据实际情况进行设置,如中间件的配置数据可以包括但不限于:接口标识(如接口类名)、别名、超时时间、序列化方式、重试次数、连接密钥等中间件注册常用参数。这里的变更请求可以表征变更中间件的配置数据。在这种情况下,执行主体可以确定已有配置数据中,是否存在与目标配置数据相匹配的配置数据。其中,目标配置数据可以为变更请求所指示的目标中间件的配置数据。作为示例,为了减少对系统存储空间的占用,对于配置数据发生变更的中间件,执行主体可以删除其变更前的相关数据,如配置数据和对应的实例等。
在一个实际的应用场景中,上述执行主体可以通过以下步骤确定已有配置数据中是否存在与目标配置数据相匹配的配置数据:
第一,确定预先创建的配置数据记录中,是否存在上述目标中间件的接口标识。其中,上述配置数据记录用于存储各中间件的最新配置数据。
第二,响应于确定不存在上述目标中间件的接口标识,或者确定上述配置数据记录中,上述目标中间件的配置数据与上述目标配置数据不同,确定已有配置数据中不存在相匹配的配置数据。
如果确定不存在目标中间件的接口标识,或者确定配置数据记录中,目标中间件的配置数据与目标配置数据不同,那么可以确定已有配置数据中不存在相匹配的配置数据。
如果存在相匹配的配置数据,由于匹配的中间件的最新配置数据所对应的实例已创建,且正在使用,因此执行主体可以直接使用匹配的配置数据所对应的实例,而不需要在进行实例创建。这样可以有助于缩短变更配置时长。
可选地,响应于确定不存在相匹配的配置数据,创建上述目标中间件的新实例,以及获取到引用上述目标中间件的依赖方信息。
在一些实施例中,上述执行主体可以响应于确定不存在相匹配的配置数据,创建上述目标中间件的新实例,以及获取到引用上述目标中间件的依赖方信息。作为示例,可以通过中间件内置的注册中心配置(RegistryConfig)和调用者配置(ConsumerConfig)泛化创建出一个新的实例对象。执行主体也可以根据目标中间件的不同,采用现有的各种实例对象创建方法,来创建其新实例。这里的新实例采用上述目标配置数据中的参数数据。例如,执行主体可以将各中间件与各依赖方之间的对应关系存储在关系表中。这样在关系表中,执行主体可以获取到与目标中间件相对应的依赖方信息。
可选地,将上述依赖方信息与上述目标中间件之间的对应关系,变更为上述目标中间件的新实例,以使上述依赖方引用配置数据变更后的上述目标中间件。
在一些实施例中,上述执行主体可以将上述依赖方信息与上述目标中间件之间的对应关系,变更为上述目标中间件的新实例,以使上述依赖方引用配置数据变更后的上述目标中间件。
在一个实际的应用场景中,上述执行主体可以通过以下步骤将上述依赖方信息与上述目标中间件之间的对应关系,变更为上述目标中间件的新实例:
第一,将上述依赖方信息中表征上述目标中间件的字段数据,变更为上述目标中间件的新实例。具体地,执行主体可以循环所有依赖了当前中间件的Bean列表。通过Java内置能力-反射,将当前Bean中的该中间件依赖字段重新赋值。其中,反射(reflection)机制一般是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。具体做法为:通过Bean的getDeclaredFields函数,获取到所有的属性Field数组,找到其中包含当前中间件配置的类型;调用Field的set函数,将原来的引用变更为所创建的新实例。此操作,做到了可以不影响程序的正常运行,同时对业务也无感知。能够异步动态化地将中间件实例的依赖进行变更。
第二,创建动态代理类,将上述目标中间件的新实例放入上述代理类中,以被上述代理类调用。
第三,将上述依赖方信息中表征上述目标中间件的字段数据,变更为上述代理类。
可选地,响应于确定上述变更请求所指示的目标中间件为多个,且多个目标中间件的配置数据均变更完成,根据上述变更请求与上次变更请求的比较结果确定还原中间件。
在一些实施例中,上述执行主体可以响应于确定上述变更请求所指示的目标中间件为多个,且多个目标中间件的配置数据均变更完成,根据上述变更请求与上次变更请求的比较结果确定还原中间件。其中,上述还原中间件为上述上次变更请求所指示的、且上述变更请求未指示的中间件。其中,还原中间件可以为上次变更请求所指示的、且本次变更请求未指示的中间件。例如第一次变更配置为[JSF-1,JSF-2],第二次变更配置为[JSF-2]。那么此变更操作目的既是变更JSF-2,又是将JSF-1在第二次变更中还原为原实例。因为已经不在需要JSF-1的变更。技术人员可以同时变更多个中间件的配置数据。作为示例,执行主体可以将本次变更请求的中间件新实例,存储至预先创建的临时变更记录。以及可以将上次变更请求的中间件新实例,即系统中最新变更的中间件实例,存储在预先创建的全局变更记录中。此时,执行主体可以将临时变更记录与全局变更记录进行比较分析,将在全局变更记录中记录的、且未在临时变更记录中记录的中间件,确定为还原中间件。
可选地,将上述还原中间件的配置数据还原为原始配置数据。
在一些实施例中,上述执行主体可以将上述还原中间件的配置数据还原为原始配置数据。执行主体还可以对各中间件的原始配置数据进行存储。原始配置数据通常为系统初始化启动时,其中各中间件的最初配置数据。作为示例,执行主体可以根据原始配置数据,来创建还原中间件的原始实例。
在一个实际的应用场景中,上述执行主体可以通过以下步骤将上述还原中间件的配置数据还原为原始配置数据:
第一,从预先创建的原始实例记录中,获取上述还原中间件的原始实例。其中,上述原始实例记录用于存储系统中各中间件的原始实例。执行主体可以对系统中各中间件的原始实例进行存储,如存储在预先创建的原始实例记录中。此时,执行主体可以从该原始实例记录中,获取还原中间件的原始实例。
第二,将引用上述还原中间件的依赖方信息与上述还原中间件之间的对应关系,变更为上述还原中间件的原始实例。对于后来动态创建的中间件,即原始实例记录中未存储的中间件,也可以将首次生成的该中间件的实例存储其中,也可不存。
对于上述技术问题“当程序启动后配置文件中的配置数据往往无法修改。程序运行中,如果要修改别名、超时时间等配置来满足当下业务,则需要重新修改配置文件,且重新发布新程序。”。可以通过以下步骤解决:首先,响应于检测到表征中间件配置数据的变更请求,确定已有配置数据中是否存在与目标配置数据相匹配的配置数据。其中,上述目标配置数据为上述变更请求所指示的目标中间件的配置数据,上述目标中间件表示某一技术用户配置第一模式正则表达式的中间件。其次,响应于确定不存在相匹配的配置数据,创建上述目标中间件的新实例,以及获取到引用上述目标中间件的依赖方信息。接着,将上述依赖方信息与上述目标中间件之间的对应关系,变更为上述目标中间件的新实例,以使上述依赖方引用配置数据变更后的上述目标中间件。然后,响应于确定上述变更请求所指示的目标中间件为多个,且多个目标中间件的配置数据均变更完成,根据上述变更请求与上次变更请求的比较结果确定还原中间件。其中,上述还原中间件为上述上次变更请求所指示的、且上述变更请求未指示的中间件。最后,将上述还原中间件的配置数据还原为原始配置数据。由此,在检测到配置数据变更请求,且已有配置数据中不存在相匹配的配置数据,则可以根据目标配置数据来创建目标中间件的新实例。这样可以实现新实例的自动创建生成,而无需手动创建。这样有助于降低变更时长,减少或避免人工变更出现的错误。以及,可以将引用该目标中间件的依赖方信息与其的对应关系,变更为目标中间件的新实例。这样可以使依赖方(用户)在不需更新应用或重启应用的情况下,便可以引用配置数据变更后的目标中间,减少对用户使用的影响,从而实现无感切换中间件配置。
图2为本公开实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为终端。
如图2所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种请求数据处理方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种请求数据处理方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元 (Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,上述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:响应于确定目标请求的请求类型为第一请求类型,对上述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据;对上述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果;根据上述跨站脚本攻击检测结果,对上述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据;对上述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据;响应于确定目标请求的请求类型为第二请求类型,对上述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果;根据上述文字跨站脚本攻击检测结果,对上述请求数据进行回填处理,得到回填请求数据。
本公开实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有计算机程序,上述计算机程序中包括程序指令,上述程序指令被执行时所实现的方法可参照本公开请求数据处理方法的各个实施例。
其中,上述计算机可读存储介质可以是前述实施例上述的计算机设备的内部存储单元,例如上述计算机设备的硬盘或内存。上述计算机可读存储介质也可以是上述计算机设备的外部存储设备,例如上述计算机设备上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种基于跨站脚本攻击的请求数据处理方法,其特征在于,所述方法包括:
响应于确定目标请求的请求类型为第一请求类型,对所述目标请求的请求数据进行反序列化处理,得到反序列化对象请求数据;
对所述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果;
根据所述跨站脚本攻击检测结果,对所述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据;
对所述反序列化对象请求回填数据进行序列化处理,以生成序列号对象请求数据,作为目标对象请求数据;
响应于确定目标请求的请求类型为第二请求类型,对所述请求数据中为文字的数据进行跨站脚本攻击检测处理,得到文字跨站脚本攻击检测结果;
根据所述文字跨站脚本攻击检测结果,对所述请求数据进行回填处理,得到回填请求数据;
其特征在于,所述对所述反序列化对象请求数据进行跨站脚本攻击检测处理,得到跨站脚本攻击检测结果,包括:
取出所述反序列化对象请求数据中的字符串;
确定所述字符串的格式不为第一格式类型,根据所述反序列化对象请求数据对应的数据定位符,确定所述数据定位符是否在宽松模式检测列表名单内;
响应于确定所述数据定位符在宽松模式检测列表名单内,确定所述字符串中是否有匹配第一模式正则表达式的子字符串;
响应于确定所述字符串中有匹配所述第一模式正则表达式的子字符串,生成空字符串作为跨站脚本攻击检测结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于确定所述目标请求的请求类型满足预设条件,对所述请求数据进行跨站脚本攻击检测处理,得到请求数据检测结果;
将所述目标请求的请求数据替换为所述请求数据检测结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述跨站脚本攻击检测结果,对所述反序列化对象请求数据进行数据回填处理,得到反序列化对象请求回填数据,包括:
将所述反序列化对象请求数据中匹配所述第一模式正则表达式的子字符串替换为所述跨站脚本攻击检测结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于确定所述数据定位符未在宽松模式检测列表名单内,确定所述字符串中是否有匹配第二模式正则表达式的子字符串;
响应于确定所述字符串中有匹配所述第二模式正则表达式的子字符串,生成空字符串作为跨站脚本攻击检测结果。
5.一种计算机设备,其中,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1-4中任一所述的方法的步骤。
6.一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1-4中任一所述的方法的步骤。
CN202410269359.2A 2024-03-11 2024-03-11 基于跨站脚本攻击的请求数据处理方法、计算机设备 Active CN117879976B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410269359.2A CN117879976B (zh) 2024-03-11 2024-03-11 基于跨站脚本攻击的请求数据处理方法、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410269359.2A CN117879976B (zh) 2024-03-11 2024-03-11 基于跨站脚本攻击的请求数据处理方法、计算机设备

Publications (2)

Publication Number Publication Date
CN117879976A CN117879976A (zh) 2024-04-12
CN117879976B true CN117879976B (zh) 2024-05-28

Family

ID=90579628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410269359.2A Active CN117879976B (zh) 2024-03-11 2024-03-11 基于跨站脚本攻击的请求数据处理方法、计算机设备

Country Status (1)

Country Link
CN (1) CN117879976B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601586B1 (en) * 2008-03-24 2013-12-03 Google Inc. Method and system for detecting web application vulnerabilities
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110929264A (zh) * 2019-11-21 2020-03-27 中国工商银行股份有限公司 漏洞检测方法、装置、电子设备及可读存储介质
CN110968872A (zh) * 2019-11-20 2020-04-07 北京国舜科技股份有限公司 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN112671703A (zh) * 2020-11-18 2021-04-16 中国电子科技网络信息安全有限公司 基于改进fastText的跨站脚本攻击检测方法
CN114978584A (zh) * 2022-04-12 2022-08-30 深圳市蔚壹科技有限公司 基于单位单元的网络安全防护安全方法及系统
CN115618283A (zh) * 2022-12-02 2023-01-17 中国汽车技术研究中心有限公司 一种跨站点脚本攻击检测方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880270B1 (en) * 2018-02-28 2020-12-29 Verizon Digital Media Services Inc. Network firewall for mitigating against persistent low volume attacks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601586B1 (en) * 2008-03-24 2013-12-03 Google Inc. Method and system for detecting web application vulnerabilities
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110968872A (zh) * 2019-11-20 2020-04-07 北京国舜科技股份有限公司 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN110929264A (zh) * 2019-11-21 2020-03-27 中国工商银行股份有限公司 漏洞检测方法、装置、电子设备及可读存储介质
CN112671703A (zh) * 2020-11-18 2021-04-16 中国电子科技网络信息安全有限公司 基于改进fastText的跨站脚本攻击检测方法
CN114978584A (zh) * 2022-04-12 2022-08-30 深圳市蔚壹科技有限公司 基于单位单元的网络安全防护安全方法及系统
CN115618283A (zh) * 2022-12-02 2023-01-17 中国汽车技术研究中心有限公司 一种跨站点脚本攻击检测方法、装置、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种基于序列最小优化算法的跨站脚本漏洞检测技术;黄娜娜;万良;信息网络安全;20171010(10);全文 *
基于分隔符的跨站脚本攻击防御方法;张慧琳;李冠成;丁羽;段镭;韩心慧;肖建国;;北京大学学报(自然科学版);20171205(02);全文 *
基于动态污点分析的DOM XSS漏洞检测算法;李洁;俞研;吴家顺;;计算机应用;20160510(05);全文 *
基于深度学习的Web安全事件分析系统及其实现;仲思超;朱磊;蔡冰;;江苏通信;20190415(02);全文 *

Also Published As

Publication number Publication date
CN117879976A (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN107783795B (zh) 应用程序启动方法、装置、计算机设备和存储介质
CN110489421B (zh) 数据存储方法、装置、计算机可读存储介质和计算机设备
CN109194606B (zh) 攻击检测系统、方法、计算机设备及存储介质
US7735094B2 (en) Ascertaining domain contexts
CN111046310B (zh) 页面处理方法、装置、服务器及计算机可读存储介质
CN112637361B (zh) 一种页面代理方法、装置、电子设备及存储介质
CN110365724B (zh) 任务处理方法、装置及电子设备
CN115428403A (zh) 在客户端侧逻辑上实现客户端侧策略
WO2020000747A1 (zh) 一种反爬虫方法、终端及计算机可读存储介质
CN112632358B (zh) 一种资源链接获取方法、装置、电子设备及存储介质
US20230221952A1 (en) Disabling a script based on indications of unsuccessful execution of the script
CN113469866A (zh) 数据处理方法、装置和服务器
CN109325192B (zh) 一种广告防屏蔽的方法和装置
CN113868502A (zh) 一种页面爬虫方法、装置、电子设备及可读存储介质
CN117879976B (zh) 基于跨站脚本攻击的请求数据处理方法、计算机设备
CN111680247B (zh) 网页字符串的本地调用方法、装置、设备及存储介质
CN110460685B (zh) 用户唯一标识处理方法、装置、计算机设备和存储介质
CN111124627A (zh) 应用程序的调起者确定方法、装置、终端及存储介质
CN112507346A (zh) 一种漏洞扫描系统
CN112800194A (zh) 一种接口变更识别方法、装置、设备及存储介质
CN116136772A (zh) 一种埋点数据采集方法及装置
CN108989371B (zh) 数据上报方法和装置
CN112068899A (zh) 插件加载方法、装置、电子设备及存储介质
CN112214697A (zh) 网页处理方法、装置、计算机设备和存储介质
CN116304458B (zh) 一种web页面实时通知更新方法、装置、设备及介质

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
GR01 Patent grant
GR01 Patent grant