CN114499968A - 一种xss攻击检测方法及装置 - Google Patents

一种xss攻击检测方法及装置 Download PDF

Info

Publication number
CN114499968A
CN114499968A CN202111615585.4A CN202111615585A CN114499968A CN 114499968 A CN114499968 A CN 114499968A CN 202111615585 A CN202111615585 A CN 202111615585A CN 114499968 A CN114499968 A CN 114499968A
Authority
CN
China
Prior art keywords
xss attack
user request
xss
response message
detection method
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
Application number
CN202111615585.4A
Other languages
English (en)
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.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing 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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202111615585.4A priority Critical patent/CN114499968A/zh
Publication of CN114499968A publication Critical patent/CN114499968A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种XSS攻击检测方法及装置。其中,该方法包括:检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。针对XSS攻击的的特点,提取XSS攻击向量和应答报文在JS沙箱中运行结果,将提取的攻击向量和JS沙箱运行结果进行比对,对攻击结果进行研判,减少了维护成本。

Description

一种XSS攻击检测方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种XSS攻击检测方法及装置。
背景技术
攻击者为了达到恶意攻击用户的目的,会在web页面中插入一些恶意的script代码,当用户浏览该页面的时候,可能会执行攻击者恶意插入的script代码,以此完成XSS攻击。
目前,检测XSS攻击可以使用基于正则的规则检测、基于机器学习的算法预测判断检测或基于语义分析的检测等方法。而这些方法都没有进入到浏览器真实执行JS脚本的环节,都是基于文本的解析检测,因此,存在一定的误报和漏报。现有技术中还可以通过应答页面的规则匹配检测XSS攻击:通过注入特定的攻击payload(payload,在病毒代码中实现一些有害的或者恶性的动作的功能的部分叫做“有效负载”),然后通过正则表达式检查对应的应答页面中攻击payload的JS脚本是否被网站编码。如果没有被编码则认为攻击成功。但是这种方式容易出现误报,因为payload没有被编码不代表浏览器会执行payload,有可能payload是被当作文本显示出来,因此,造成误报。
而且,由于web攻击在网络中存在大量扫描攻击,其中大部分是扫描器,大量攻击是无效的。而传统的入侵检测系统(Intrusion Detection Systems,简称IDS)会将所有攻击都进行告警,而防护人员只需要关心攻击成功的攻击,因此将所有攻击都进行告警会对维护人员造成巨大成本。
发明内容
针对现有技术中的问题,本发明实施例提供一种XSS攻击检测方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种SQL注入检测方法,包括:检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从所述用户请求中提取XSS攻击向量;获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
进一步地,所述检测接收到的用户请求,包括:通过XSS攻击检测规则检测接收到的用户请求;和/或通过语义分析方法检测接收到的用户请求;和/或通过沙箱检测方法检测接收到的用户请求。
进一步地,所述用户请求包括http请求。
进一步地,所述从所述用户请求中提取XSS攻击向量,包括:判断所述用户请求中是否包括用户参数,若包括所述用户参数,则从所述用户请求中解析出所述用户参数,将所述用户参数对应的参数值作为所述XSS攻击向量。
进一步地,所述将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,包括:将监听到的对应所述应答报文的事件的函数与所述用户参数对应的参数值对比。
进一步地,所述获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,包括:获取对应所述用户请求的应答报文,从所述应答报文中解析出对应所述用户请求的应答页面,将所述应答页面放入JS沙箱中运行并执行监听事件。
第二方面,本发明实施例还提供了一种XSS攻击检测装置,包括:第一处理模块,用于检测接收到的用户请求,判断是否为XSS攻击;第二处理模块,用于若是XSS攻击,则从所述用户请求中提取XSS攻击向量;第三处理模块,用于获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述XSS攻击检测方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述XSS攻击检测方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现第一方面所述XSS攻击检测方法的步骤。
本发明实施例提供的XSS攻击检测方法及装置,本发明通过检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。其中,通过检测接收到的用户请求,判断是否为XSS攻击,确定了要监控的应答报文;通过将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,确定了XSS攻击是否成功。实现了对XSS攻击攻击结果的预判,减少了维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种XSS攻击检测方法实施例流程图;
图2为本发明一种XSS攻击检测方法的另一些实施例流程图;
图3为本发明一种XSS攻击检测方法的再一些实施例流程图;
图4为本发明一种XSS攻击检测方法的一个应用场景的流程示意图;
图5为本发明检测装置实施例结构示意图;
图6为本发明电子设备实体实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一种XSS攻击检测方法实施例流程图。如图1所示,本发明实施例的方法包括:
S101,检测接收到的用户请求,判断是否为XSS攻击。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,利用巧妙的方法在网页中注入恶意指令代码,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序的语言可以是JavaScript、Java、VBScript、ActiveX、Flash或者是普通的HTML。
利用XSS攻击可以盗取用户密码,强迫用户访问特定网站等等。XSS漏洞和SQL注入一样,都是利用了Web页面的编写不完善。
XSS攻击可以分为:
(1)反射型:经过后端,不经过数据库,是通过url传入参数去控制触发的;
(2)存储型:经过后端,经过数据库;
(3)DOM:不经过后端,DOM—based XSS漏洞是基于文档对象模型(DocumentObjeet Model,简称DOM)的一种漏洞,Dom-xss是通过url传入参数去控制触发的。
作为示例,一个包含反射型XSS攻击的用户请求:
GET/vulnertc/vulnerabilities/xss_r/?name=%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E HTTP/1.1
Host:2.2.2.8
……
Connection:keep-alive
S102,若是XSS攻击,则从用户请求中提取XSS攻击向量。
仍以上述为例,从用户请求中提取的XSS攻击向量可以为:
“%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E”
在一些实施例中,可以通过预先指定的提取规则,按照规则提取XSS攻击向量,也可以通过深度学习方法或者其他方法、工具提取XSS攻击向量。
S103,获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
沙箱:即是一个虚拟系统程序,允许在沙盘环境中运行浏览器或其他程序,运行所产生的变化可以随后删除。沙箱创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
事件,例如使用JavaScript可以创建一个动态页面,网页中的每一个元素都可以产生某些触发JavaScript函数的事件,即可以认为事件是可以被JavaScript侦测到的一种行为。
一般的事件监听方法:
(1)绑定HTML元素属性:
<input type="button"value="clickMe"onclick="check(this)">
(2)绑定DOM对象属性:
document.getElementById("xxx").onclick=test;
(3)IE中的监听方法:
[object].attachEvent("事件类型","处理函数");//添加监听
在一些实施例中,当客户端提交用户请求至服务器后,服务器会向客户端发送应答报文,为了检测包含XSS的用户请求是否攻击成功,可以先将应答报文放入JS沙箱中运行并执行监听事件,即沙箱在运行应答报文,然后监听应答报文运行时的事件。将监听到的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
作为示例,监听到的应答报文运行的事件:
<IFRAME src=javascript:alert(document.cookie)></IFRAME>
在一些实施例中,将监听到的事件与XSS攻击向量对比,可以是将监听到的事件的代码语句与解析出的XSS攻击向量进行文本对比。
在一些实施例中,将监听到的事件与XSS攻击向量对比,也可以是在将应答报文放入JS沙箱中运行并执行监听事件后,解析出监听到的事件和/或事件发生的顺序,并且在从用户请求中提取XSS攻击向量后,解析出XSS攻击向量中的事件和/或事件发生的顺序,再将从监听事件中解析出的事件(解析出的事件可以是函数)和/或事件发生的顺序与从XSS攻击向量中解析出的事件和/或事件发生的顺序对比,判断包含XSS攻击的用户请求是否攻击成功。
仍以上述为例,从监听到的应答报文运行的事件中解析出的事件为alert事件(即alert函数)和document.cookie事件(即,document.cookie函数)。仍以上述为例,alert(document.cookie)表示alert事件和document.cookie事件的先后顺序为:document.cookie事件、alert事件。
本发明实施例提供的XSS攻击检测方法,通过通过检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。其中,通过检测接收到的用户请求,判断是否为XSS攻击,确定了要监控的应答报文;通过将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,确定了XSS攻击是否成功。实现了对XSS攻击攻击结果的预判,减少了维护成本。
图2为本发明一种XSS攻击检测方法的另一些实施例流程图。如图2所示,本发明实施例的方法包括:
S201,检测接收到的用户请求,判断是否为XSS攻击。
在一些可选的实现方式中,检测接收到的用户请求,包括:通过XSS攻击检测规则检测接收到的用户请求;和/或通过语义分析方法检测接收到的用户请求;和/或通过沙箱检测方法检测接收到的用户请求。
在一些实施例中,XSS攻击检测规则可以是根据现有的XSS攻击制定的语法规则,通过规则检测接收到的用户请求,即通过文本匹配的方式,遍历XSS攻击检测规则,判断用户请求中是否包含XSS攻击的语句。
语义分析是编译过程的一个逻辑阶段,语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。比如语义分析的一个工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。例如有的编译程序要对实数用作数组下标的情况报告错误。
在一些实施例中,可以通过语义分析工具,建立语言模型或者分析等方法对用户请求进行语义分析。
在一些实施例中,可以将用户请求放入沙箱中,模拟从用户递交请求的过程,通过获取监听到的数据包过滤XSS攻击。
本发明对如何检测用户请求中的XSS中不做限定。
在一些可选的实现方式中,用户请求包括http请求。
HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当没有指定端口访问时,客户端的浏览器会默认80端口。也可以指定访问端口,例如:http://www.ip138.com:80。
HTTP协议中共定义了八种方法,来表明Request-URL指定的资源不同的操作方式。
HTTP请求的方法包括:
(1)HTTP1.0定义了三种请求方法:GET,POST和HEAD方法。
(2)HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。
用户请求可以是HTTP协议定义的八种方法中的任意一种。用户请求也可以是通过其他协议提交的请求。
S202,若是XSS攻击,从用户请求中解析出用户参数,将用户参数对应的参数值作为XSS攻击向量。
仍以图1中的用户请求为例:
GET/vulnertc/vulnerabilities/xss_r/?name=%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E HTTP/1.1
Host:2.2.2.8
……
Connection:keep-alive
其中,用户请求中“?”后面的部分为用户参数部分:name=%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E,“name”表示用户参数的关键词,“%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E”表示用户参数的参数值。HTTP/1.1代表协议类型和版本。
即用户参数对应的参数值为:
%3CIFRAME+src%3Djavascript%3Aalert%28document.cookie%29%3E%3C%2FIFRAME%3E
作为示例,可以通过预设规则解析出用户参数,预设规则可以是:截取“?”到“HTTP”的数据。本发明对如何解析用户参数不做限定。
S203,获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
在一些可选的实现方式中,将监听到的对应应答报文的事件与XSS攻击向量对比,包括:将监听到的对应应答报文的事件的函数与用户参数对应的参数值中的函数对比。
仍以上述为例,监听到的应答报文运行的事件:
<IFRAME src=javascript:alert(document.cookie)></IFRAME>
其中,应答报文的事件的函数为alert(document.cookie)。
仍以上述为例,上述用户参数对应的参数值通过url编码转换后得到:
<IFRAME+src=javascript.Aalert(document.cookie)></IFRAME>
其中,参数值中的函数为Aalert(document.cookie)。
其中,应答报文的事件的函数与参数值中的函数一样,则XSS攻击成功。
本发明实施例提供的XSS攻击检测方法,与图1的实施例相比,图2提供的XSS攻击检测方法突出了如何提取XSS攻击向量。通过从用户请求中解析出用户参数,将用户参数对应的参数值中的函数作为XSS攻击向量。实现了对XSS攻击是否成功的检测。
图3为本发明一种XSS攻击检测方法的再一些实施例流程图。如图3所示,本发明实施例的方法包括:
S301,检测接收到的用户请求,判断是否为XSS攻击。
在一些实施例中,步骤301的具体实现及其所带来的技术效果,可以参考图1对应的实施例中的步骤101,在此不再赘述。
S302,若是XSS攻击,则从用户请求中提取XSS攻击向量。
在一些实施例中,步骤302的具体实现及其所带来的技术效果,可以参考图1对应的实施例中的步骤102,在此不再赘述。
S303,获取对应用户请求的应答报文,从应答报文中解析出对应用户请求的应答页面,将应答页面放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
作为示例,应答报文可以是:
Figure BDA0003436303360000101
其中,“<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">”之后都属于应答页面(html页面)。将应答页面放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
本发明实施例提供的XSS攻击检测方法,与图1和图2的实施例相比,图3提供的XSS攻击检测方法突出了如何通过应答报文在JS沙箱中运行。通过获取对应用户请求的应答报文,从应答报文中解析出对应用户请求的应答页面,将应答页面放入JS沙箱中运行并执行监听事件。实现了应答页面在沙箱中的模拟运行,通过模拟运行检测XSS攻击是否成功。
如图4所示的一种XSS攻击检测方法的一个应用场景的流程示意图。其中输入为HTTP请求报文,输出为bool值(表示攻击是否成功)。
其步骤为:
(1)通过XSS攻击检测规则对HTTP请求进行检测,确定XSS攻击的参数部分(即payload,在病毒代码中实现一些有害的或者恶性的动作的功能的部分叫做“有效负载”);
(2)解析HTTP请求中的参数,进行XSS攻击向量提取;
(3)监听HTTP应答页面,并放入JS沙箱执行监听事件;
(4)将监听到的事件和原始攻击的payload做比对,如果二者相同,则攻击成功。
其中,通过XSS攻击检测规则对HTTP请求进行检测,确定XSS攻击的参数部分,主要通过深度包检测(Deep Packet Inspection,简称DPI)引擎,加载XSS攻击检测规则对XSS攻击进行检测。
其中,解析HTTP请求中的参数,进行XSS攻击向量提取,是通过解析攻击者提交的参数,从参数中提取攻击规则匹配到的攻击向量。
其中,监听HTTP应答页面,并放入JS沙箱执行监听事件,是根据XSS攻击的链接,对HTTP应答页面(通常是html页面)进行监听和记录,把HTTP应答页面放到JS沙箱中运行html页面中的JS脚本。
其中,将监听到的事件和原始攻击的payload做比对,如果二者相同,则攻击成功,即将提取的XSS攻击向量和JS沙箱监听到的相应事件做比对,如果发现HTTP请求中的payload和JS沙箱实际运行监听到的事件一致则攻击成功。
图5为本发明XSS攻击检测装置实施例结构示意图。如图5所示,该基于装置,包括:
第一处理模块501,用于检测接收到的用户请求,判断是否为XSS攻击;
第二处理模块502,用于若是XSS攻击,则从用户请求中提取XSS攻击向量;
第三处理模块503,用于获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
可选地,第一处理模块501还用于:
通过XSS攻击检测规则检测接收到的用户请求;和/或
通过语义分析方法检测接收到的用户请求;和/或
通过沙箱检测方法检测接收到的用户请求。
可选地,用户请求包括http请求。
可选地,第二处理模块502还用于:从用户请求中解析出用户参数,将用户参数对应的参数值中的函数作为XSS攻击向量。
可选地,第三处理模块503还用于:将监听到的对应应答报文的事件的函数与用户参数对应的参数值中的函数对比。
可选地,第三处理模块503还用于:获取对应用户请求的应答报文,从应答报文中解析出对应用户请求的应答页面,将应答页面放入JS沙箱中运行并执行监听事件。
举个例子如下:
图6示例了一种电子设备的实体结构示意图,如图6示,该电子设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行如下方法:检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各实施例提供的XSS攻击检测方法,例如包括:检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的XSS攻击检测方法,例如包括:检测接收到的用户请求,判断是否为XSS攻击;若是XSS攻击,则从用户请求中提取XSS攻击向量;获取对应用户请求的应答报文,将应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应应答报文的事件与XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种XSS攻击检测方法,其特征在于,所述方法包括:
检测接收到的用户请求,判断是否为XSS攻击;
若是XSS攻击,则从所述用户请求中提取XSS攻击向量;
获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
2.根据权利要求1所述的XSS攻击检测方法,其特征在于,所述检测接收到的用户请求,包括:
通过XSS攻击检测规则检测接收到的用户请求;和/或
通过语义分析方法检测接收到的用户请求;和/或
通过沙箱检测方法检测接收到的用户请求。
3.根据权利要求1-2任一项所述的XSS攻击检测方法,其特征在于,所述用户请求包括http请求。
4.根据权利要求1所述的XSS攻击检测方法,其特征在于,所述从所述用户请求中提取XSS攻击向量,包括:
从所述用户请求中解析出用户参数,将所述用户参数对应的参数值中的函数作为所述XSS攻击向量。
5.根据权利要求4所述的XSS攻击检测方法,其特征在于,所述将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,包括:
将监听到的对应所述应答报文的事件的函数与所述用户参数对应的参数值中的函数对比。
6.根据权利要求1所述的XSS攻击检测方法,其特征在于,所述获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,包括:
获取对应所述用户请求的应答报文,从所述应答报文中解析出对应所述用户请求的应答页面,将所述应答页面放入JS沙箱中运行并执行监听事件。
7.一种XSS攻击检测装置,其特征在于,所述方法包括:
第一处理模块,用于检测接收到的用户请求,判断是否为XSS攻击;
第二处理模块,用于若是XSS攻击,则从所述用户请求中提取XSS攻击向量;
第三处理模块,用于获取对应所述用户请求的应答报文,将所述应答报文放入JS沙箱中运行并执行监听事件,将监听到的对应所述应答报文的事件与所述XSS攻击向量对比,若对比结果一致,则XSS攻击成功。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6所述的XSS攻击检测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6所述的XSS攻击检测方法的步骤。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至6所述的XSS攻击检测方法的步骤。
CN202111615585.4A 2021-12-27 2021-12-27 一种xss攻击检测方法及装置 Pending CN114499968A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111615585.4A CN114499968A (zh) 2021-12-27 2021-12-27 一种xss攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111615585.4A CN114499968A (zh) 2021-12-27 2021-12-27 一种xss攻击检测方法及装置

Publications (1)

Publication Number Publication Date
CN114499968A true CN114499968A (zh) 2022-05-13

Family

ID=81495764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111615585.4A Pending CN114499968A (zh) 2021-12-27 2021-12-27 一种xss攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN114499968A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348789A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于防止跨站脚本攻击的Web服务器及方法
CN107659583A (zh) * 2017-10-27 2018-02-02 深信服科技股份有限公司 一种检测事中攻击的方法及系统
CN111049783A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
US20200358818A1 (en) * 2019-05-10 2020-11-12 Clean.io, Inc. Detecting malicious code received from malicious client side injection vectors
CN112966264A (zh) * 2021-02-28 2021-06-15 新华三信息安全技术有限公司 Xss攻击检测方法、装置、设备及机器可读存储介质
KR20210076455A (ko) * 2019-12-16 2021-06-24 삼성에스디에스 주식회사 Xss 공격 검증 자동화 방법 및 그 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348789A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于防止跨站脚本攻击的Web服务器及方法
CN107659583A (zh) * 2017-10-27 2018-02-02 深信服科技股份有限公司 一种检测事中攻击的方法及系统
CN111049783A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
US20200358818A1 (en) * 2019-05-10 2020-11-12 Clean.io, Inc. Detecting malicious code received from malicious client side injection vectors
KR20210076455A (ko) * 2019-12-16 2021-06-24 삼성에스디에스 주식회사 Xss 공격 검증 자동화 방법 및 그 장치
CN112966264A (zh) * 2021-02-28 2021-06-15 新华三信息安全技术有限公司 Xss攻击检测方法、装置、设备及机器可读存储介质

Similar Documents

Publication Publication Date Title
CN107918733B (zh) 检测网页的恶意元素的系统和方法
Gupta et al. Enhancing the browser-side context-aware sanitization of suspicious HTML5 code for halting the DOM-based XSS vulnerabilities in cloud
US11716348B2 (en) Malicious script detection
US9712560B2 (en) Web page and web browser protection against malicious injections
US10120997B2 (en) Code instrumentation for runtime application self-protection
RU2610254C2 (ru) Система и способ определения измененных веб-страниц
US20170316202A1 (en) Rasp for scripting languages
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
CN109347882B (zh) 网页木马监测方法、装置、设备及存储介质
WO2014113597A1 (en) Detection of malicious scripting language code in a network environment
Zhang et al. Notice of retraction: A static analysis tool for detecting web application injection vulnerabilities for asp program
CN107808095B (zh) 用于检测网页的异常元素的系统和方法
CN110851838A (zh) 一种基于互联网的云测试系统及安全测试方法
TWI470468B (zh) 惡意程式及行為偵測的方法及系統
Hou et al. A dynamic detection technique for XSS vulnerabilities
Malviya et al. Development of web browser prototype with embedded classification capability for mitigating Cross-Site Scripting attacks
Gupta et al. A client‐server JavaScript code rewriting‐based framework to detect the XSS worms from online social network
Gupta et al. Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions
Leithner et al. Hydra: Feedback-driven black-box exploitation of injection vulnerabilities
CN114091031A (zh) 基于白规则的类加载防护方法及装置
Alsahafi SQL injection attacks: Detection and prevention techniques
CN112600864A (zh) 一种验证码校验方法、装置、服务器及介质
Saha Consideration points detecting cross-site scripting
CN114626061A (zh) 网页木马检测的方法、装置、电子设备及介质
CN115348086B (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