安全漏洞检测方法及服务端技术

技术编号:27192430 阅读:51 留言:0更新日期:2021-01-31 11:36
本发明专利技术实施例公开了一种安全漏洞检测方法、服务端及存储介质,该方法可包括:服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据;所述参考数据包括所述服务端待通过通用网关接口CGI向第一客户端发送的数据;所述服务端根据所述目标数据构建第一返回包,并通过所述CGI向所述第一客户端发送所述第一返回包,所述第一返回包用于检测XSS漏洞。本发明专利技术中,服务端将待通过CGI向第一客户端发送的数据中注入第一攻击代码以覆盖第一客户端所有引用CGI层的变量,能够提高测试XSS漏洞的过程中XSS的攻击代码注入的覆盖率,进而测试各种类型的XSS漏洞。测试各种类型的XSS漏洞。测试各种类型的XSS漏洞。

【技术实现步骤摘要】
安全漏洞检测方法及服务端


[0001]本专利技术涉及计算机安全领域,具体涉及XSS漏洞检测
,尤其涉及一种安全漏洞检测方法及服务端。

技术介绍

[0002]跨站脚本攻击(Cross Site Scripting,安全专家们通常将其缩写成XSS)指的是恶意攻击者往万维网(Web)页面里插入恶意超文本标记语言(HyperText Markup Language,HTLM)代码,当用户浏览该页面之时,嵌入其中Web页面里面的HTLM代码会被执行,从而达到恶意用户的特殊目的。在实际应用中,用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的会话(session)信息。
[0003]XSS漏洞是Web应用程序中最常见的漏洞之一。如果一个站点(例如Web服务器运行的网站)没有预防XSS漏洞的方法,那么就存在XSS漏洞,难以防御XSS。目前,检测XSS漏洞的常用方式是替换通用网关接口(Common Gateway Interface,CGI)的输入参数值,即在链接中插入恶意代码,检测该链接返回的页面是否有恶意代码。CGI在物理上是一段程序,运行在服务器上,提供同客户端HTML页面交互的接口。然而,这种方式仅能检测从CGI注入恶意代码的XSS漏洞,而不能准确地检测到其他类型的XSS漏洞,例如存储型XSS漏洞。

技术实现思路

[0004]本专利技术实施例提供了一种安全漏洞检测方法及服务端,可涵盖CGI流程中所有的外部引入变量,能够提高在测试XSS漏洞的过程中XSS注入的覆盖率。
[0005]第一方面,本专利技术实施例提供了一种安全漏洞检测方法,该方法可包括:服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据;所述参考数据包括所述服务端待通过通用网关接口CGI向第一客户端发送的数据;所述服务端根据所述目标数据构建第一返回包,并通过所述CGI向所述第一客户端发送所述第一返回包,所述第一返回包用于检测XSS漏洞。
[0006]本专利技术实施例中,服务端将待通过CGI向第一客户端发送的数据中注入第一攻击代码以覆盖第一客户端所有引用CGI层的变量,能够提高测试XSS漏洞的过程中XSS的攻击代码注入的覆盖率,进而测试各种类型的XSS漏洞。
[0007]在一个可选的实现方式中,所述服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据之前,所述方法还包括:
[0008]所述服务端接收来自所述第一客户端的第一访问请求,所述第一访问请求用于获
取所述参考数据;
[0009]所述服务端从存储器或数据库获取针对所述第一访问请求的所述参考数据。
[0010]在该实现方式中,服务端根据来自第一客户端的第一访问请求,从存储器或数据库获取相应的数据,操作简单。
[0011]在一个可选的实现方式中,所述服务端接收来自所述第一客户端的第一访问请求包括:
[0012]所述CGI接收来自所述第一客户端的所述第一访问请求;
[0013]所述服务端从存储器或数据库获取针对所述第一访问请求的所述参考数据包括:
[0014]所述CGI向代码注入模块发送数据获取请求;所述数据获取请求用于请求所述参考数据;
[0015]所述代码注入模块从所述存储器或所述数据库获取所述参考数据;
[0016]所述服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据包括:
[0017]所述代码注入模块在所述参考数据中注入第一攻击代码以得到所述目标数据。
[0018]由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),CGI直接访问存储器或者数据库(即存储后台)会带来很多麻烦,这时就可以在CGI和存储后台之间增加一个中间代理层。代码注入模块既可以在参考数据中注入攻击代码,又能起到中间代理层(例如proxy层)的作用。
[0019]在该实现方式中,CGI通过代码注入模块从存储器或数据库获取参考数据,相当于在CGI和存储后台之间多了一层中间代理层,可以提高数据获取速度,并且能够避免CGI直接访问存储后台造成的其他问题。
[0020]在一个可选的实现方式中,所述CGI向代码注入模块发送数据获取请求之前,所述方法还包括:
[0021]所述CGI向所述代码注入模块发送攻击代码获取请求,所述攻击代码获取请求用于请求所述第一攻击代码;
[0022]所述CGI接收来自所述代码注入模块的所述第一攻击代码;
[0023]所述CGI向代码注入模块发送数据获取请求包括:
[0024]所述CGI向所述代码注入模块发送携带有所述第一攻击代码或者所述第一攻击代码的标识的所述数据获取请求。
[0025]在该实现方式中,CGI向代码注入模块发送携带有第一攻击代码或者该第一攻击代码的标识的数据获取请求,该代码注入模块将注入该第一攻击代码的参数数据返回给CGI,代码注入模块可以准确地注入CGI所指示的攻击代码。在该实现方式中,CGI在获取到该第一攻击代码后,可以将该第一攻击代码或者该第一攻击代码的标识携带在向代码注入模块发送的多个数据获取请求中,而不必每次通过该代码注入模块获取数据时均获取一次攻击代码,可以减少不必要的操作。
[0026]在一个可选的实现方式中,所述代码注入模块在所述参考数据中注入第一攻击代码以得到所述目标数据之前,所述方法还包括:
[0027]所述代码注入模块从所述存储器或所述数据库获取参考定义,所述参考定义用于指示所述参考数据中各字符的类型;
[0028]所述代码注入模块在所述参考数据中注入第一攻击代码以得到所述目标数据包括:
[0029]根据所述参考定义,将所述参考数据中字符串类型的数据替换为所述第一攻击代码以得到所述目标数据。
[0030]在该实现方式中,根据参考定义可以准确、快速地确定该参考数据中各字符串类型的数据,以便于准确地注入攻击代码。
[0031]在一个可选的实现方式中,所述第一访问请求包括第一标识,所述第一标识用于指示所述第一客户端为用于检测XSS漏洞的客户端。
[0032]服务端执行的一项XSS漏洞测试任务是接收来自第一客户端的第一访问请求;从存储器或数据库获取针对该第一访问请求的所参考数据;根据目标数据构建第一返回包,并通过CGI向所述第一客户端发送该第一返回包。该服务端还可以执行除该项XSS漏洞测试任务之外的任务。在实际应用中,服务端可以与一部分客户端(第一访问请求中包括第一标识的第一客本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安全漏洞检测方法,其特征在于,包括:服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据;所述参考数据包括所述服务端待通过通用网关接口CGI向第一客户端发送的数据;所述服务端根据所述目标数据构建第一返回包,并通过所述CGI向所述第一客户端发送所述第一返回包,所述第一返回包用于检测XSS漏洞。2.根据权利要求1所述的方法,其特征在于,所述服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据之前,所述方法还包括:所述服务端接收来自所述第一客户端的第一访问请求,所述第一访问请求用于获取所述参考数据;所述服务端从存储器或数据库获取针对所述第一访问请求的所述参考数据。3.根据权利要求2所述的方法,其特征在于,所述第一访问请求包括第一标识,所述第一标识用于指示所述第一客户端为用于检测XSS漏洞的客户端。4.根据权利要求2所述的方法,其特征在于,所述服务端接收来自所述第一客户端的第一访问请求包括:所述服务端接收所述第一客户端通过浏览器发送的所述第一访问请求;所述第一返回包用于在所述浏览器显示目标页面,所述目标页面用于检测XSS漏洞。5.根据权利要求2所述的方法,其特征在于,所述服务端接收来自所述第一客户端的第一访问请求包括:所述服务端接收所述第一客户端通过测试工具发送的所述第一访问请求;所述测试工具运行于所述第一客户端,且用于根据所述第一返回包检测XSS漏洞。6.根据权利要求2至5任一项所述的方法,其特征在于,所述服务端在参考数据中注入跨站脚本攻击XSS的第一攻击代码以得到目标数据包括:所述服务端将所述参考数据中的至少一个字符串类型的数据替换为所述第一攻击代码以得到所述目标数据。7....

【专利技术属性】
技术研发人员:吴斐蒋剑琴黄梓群李斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1