CN105553917B - 一种网页漏洞的检测方法和系统 - Google Patents

一种网页漏洞的检测方法和系统 Download PDF

Info

Publication number
CN105553917B
CN105553917B CN201410586871.6A CN201410586871A CN105553917B CN 105553917 B CN105553917 B CN 105553917B CN 201410586871 A CN201410586871 A CN 201410586871A CN 105553917 B CN105553917 B CN 105553917B
Authority
CN
China
Prior art keywords
webpage
vulnerability
function name
parameter structure
parameter
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
CN201410586871.6A
Other languages
English (en)
Other versions
CN105553917A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410586871.6A priority Critical patent/CN105553917B/zh
Publication of CN105553917A publication Critical patent/CN105553917A/zh
Application granted granted Critical
Publication of CN105553917B publication Critical patent/CN105553917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种网页漏洞的检测方法与系统,包括:接收用户请求,并从所述用户请求中动态获取执行函数名、参数结构、和执行内容;将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构;若所述执行函数名与所述漏洞函数名匹配成功和/或所述参数结构与所述漏洞参数结构匹配成功,则发送所述执行内容的风险警示信息。本发明通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息,具有对网页漏洞快速识别、可扩展度高、防范性强的特点。

Description

一种网页漏洞的检测方法和系统
技术领域
本发明属于网络安全领域,尤其涉及一种网页漏洞的检测方法和系统。
背景技术
目前互联网技术已经渗透到日常生活的方方面面,为生产生活带来了极大的便利。与此同时,网络安全也得到越来越多的关注,尤其是其中的网页(WEB)应用面临如下安全问题:1.计算机软件的设计与实现漏洞;2.传输控制协议/网际协议(TCP/IP,Transmission Control Protocol/Internet Protocol)协议设计时未充分考虑其安全性;3.系统和网络使用过程中的错误配置于操作。
漏洞,也称脆弱性,是计算机系统在硬件、软件和协议的具体实现或系统安全策略上存在的缺陷和不足,非法用户可利用系统安全漏洞获得计算机系统的额外权限,在未经授权的情况下进行访问或提高其访问权限,破坏系统,危害计算机安全。
现有的防御手段,如网络扫描器,是一类有网络爬虫、发送超文本传送协议(HTTP,Hypertext transfer protocol)请求和正则匹配功能的程序。扫描器事先构造好攻击载荷,通过爬虫遍历出网站所有的通用网关接口(CGI,Common Gateway Interface)文件和参数,扫描器将攻击载荷依次添加到每个CGI的每个参数,然后向网站发送HTTP请求并根据网站返回的结果是否包含指定的特征来判断是否存在漏洞。
但网络扫描器具有如下缺点:(1)扫描方法漏报率高;扫描器的网络爬虫无法爬到所有的CGI和参数,扫描,部分漏洞入口未检查从而导致漏报。(2)影响网站正常服务;扫描器会发送大量的HTTP请求占用网站的带宽导致速度变慢,扫描器发送的攻击载荷不可控,在某些场景下会导致网站瘫痪甚至数据丢失。(3)成本高昂;开发扫描器周期长,难度大;除了高额的开发成本外,扫描器的攻击载荷库还需要后续长期的持续维护运营。
发明内容
有鉴于此,本发明的目的在于提供一种网页漏洞的检测方法和系统,可以解决现有的网络扫描器漏报率高、占用过多带宽、以及维护成本高昂等问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种网页漏洞的检测方法,包括:
接收用户请求,并从所述用户请求中动态获取执行函数名、参数结构、和执行内容;
将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构;以及
若所述执行函数名与所述漏洞函数名匹配成功和/或所述参数结构与所述漏洞参数结构匹配成功,则发送所述执行内容的风险警示信息。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种网页漏洞的检测系统,包括:
预处理模块,用于接收用户请求,并从所述用户请求中动态获取网页中的执行函数名、参数结构、和执行内容;
匹配模块,用于将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构;以及
风险警示模块,用于当所述执行函数名与所述漏洞函数名匹配成功和/或所述参数结构与所述漏洞参数结构匹配成功时,发送所述执行内容的风险警示信息。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种网页漏洞的检测系统,包括:漏洞分析部分和数据支持部分,其中,
所述漏洞分析部分,包括:
漏洞规则存储模块,用于存储漏洞规则,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构;
预处理模块,用于接收用户请求,并从所述用户请求中动态获取网页中的执行函数名、参数结构、和执行内容;
匹配模块,用于将所述执行函数名或所述参数结构与所述漏洞规则存储模块中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构;以及
风险警示模块,用于当所述执行函数名与所述漏洞函数名匹配成功和/或所述参数结构与所述漏洞参数结构匹配成功时,发送执行内容的风险警示信息;
所述数据支持部分,包括:
分析子模块,用于分析漏洞的场景行为和/或攻击特征,得到分析结果;以及
生成子模块,用于将所述分析结果生成基于执行函数名和所述参数结构的所述漏洞规则。
相对于现有技术,本发明中的网页漏洞的检测方法和系统,通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息。具有快速识别、可扩展度高、防范性强的特点,同时漏报率低、占用带宽少、以及维护成本低廉。
附图说明
图1是本发明实施例提供的网页漏洞的检测方法和系统应用环境示意图。
图2是本发明实施例一提供的网页漏洞的检测方法的流程示意图。
图3是本发明实施例二提供的网页漏洞的检测系统的模块示意图。
图4是本发明实施例三提供的网页漏洞的检测系统的防御框架示意图。
图5是本发明实施例四提供的网页漏洞的检测系统的泳道示意图。
具体实施方式
请参照附图中的图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所示例的本发明的具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本发明的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。
本文所使用的术语「模块」可看作为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看作为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
请参阅图1,为本发明中提供的网页漏洞的检测方法和系统的应用环境示意图,包括客户端10、攻击者20、服务器30、以及通信网络50。
其中,客户端10通过网页发送各类用户请求。
同时,攻击者20通过对所述网页进行漏洞扫描,模拟用户的请求进行攻击。
服务器30接收用户请求,检测所请求的网页中是否存在漏洞,并向客户端10发送风险警示信息。
可以理解的是:所述服务器30可以是云服务平台,如包括:分析服务器31、云存储服务器32、以及数据支持服务器33。其中,服务服务器31用于执行对漏洞的检测和警示,云存储服务器32,包括漏洞规则库,用于存储漏洞规则;数据支持服务器33用于发现漏洞或利用已知漏洞,总结和创建漏洞规则,并将所述漏洞规则发送并存储至云存储服务器32的漏洞规则库中。其他实施方式中,所述分析服务器31、云存储服务器32、以及数据支持服务器33也可以整合在同一台服务器主机中。
通信网络50,包括无线网络及有线网络。其中无线网络包括无线广域网(WirelessWide Area Network,WWAN)、无线局域网(Wireless Local Area Network,WLAN)、无线城域网(Wireless Metropolitan Area Network,WMAN)、以及无线个人网(Wireless PersonalArea Network,WPAN)。
基本原理:网页(WEB)漏洞的产生的原因,是由于某些函数或其参数使用不当导致的,例如:PHP语言中使用move_uploaded_file函数实现上传功能,该函数对上传文件名参数过滤不当导致上传漏洞;这时我们在PHP语言HOOK move_uploaded_file函数调用,当外部上传文件时检测文件名是否合法,不合法则存在上传漏洞。同理,结构化查询语音(SQL)注入对应mysql_query、mssql_query等函数,命令注入对应system、exec等函数,每个漏洞都可以找到对应的触发函数。本发明的服务器,通过开发一个PHP动态扩展库来实现上述对漏洞规则的检测。
请参照以下实施例,其中,实施例一侧重网页漏洞的检测方法,实施例二侧重网页漏洞的检测系统,实施例三侧重网页漏洞的检测系统的防御框架。可以理解的是:虽然各实施例的侧重不同,但其设计思想是一致的。且,在某个实施例中没有详述的部分,可以参见说明书全文的详细描述,不再赘述。
实施例一
请参阅图2,所示为本发明中网页漏洞的检测方法的流程示意图。所述网页漏洞的检测方法,包括:
在步骤S201中,创建漏洞规则库,用于存储漏洞规则,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构。
所述漏洞规则中的漏洞,按照常见的类型包括:结构化查询语言(SQL)注入漏洞、自动完成漏洞、目录遍历漏洞、操纵隐藏字段漏洞、缓冲区溢出漏洞、跨站点脚本攻击漏洞、和拒绝服务攻击漏洞中的一种或多种的组合。
所述漏洞规则库的创建方法,具体包括:(1)将上述的已知漏洞,按照漏洞的场景行为和/或攻击特征进行分析,得到分析结果;(2)将所述分析结果生成漏洞规则;(3)将所述漏洞规则存储在漏洞规则库中。
具体而言,按照漏洞场景行为进行分析,包括:(1)提取所述漏洞的执行函数名、参数结构的位置或逻辑关系;(2)按照相关性对位置或逻辑关系进行拓展,得到基于漏洞场景行为的分析结果。
按照攻击特征进行分析,包括:(1)提取所述漏洞的执行函数名、参数结构的后缀名、或参数匹配正则;(2)按照相关性对后缀名、或参数匹配正则进行拓展,得到基于攻击特征的分析结果。
可以理解的是:所述将所述分析结果生成漏洞规则的过程包括但不限于:(1)对脚本语言、数据库特性、攻击扫描工具、攻击方式之一者或其组合进行分析;(2)建立攻击模型,所述攻击模型通过执行函数名、参数结构进行表述;(3)对所述攻击模型进行攻防测试,形成适格的漏洞规则。
在步骤S202中,接收用户请求,并从所述用户请求中动态获取执行函数名、参数结构、和执行内容。
可以理解的是:所述动态获取所述执行函数名、所述参数结构、和所述执行内容,可以通过HOOK PHP的函数来实现。具体而言,通过调用PHP接口或其他Trick。
在本步骤中,由于本发明的网页漏洞的检测方法仅需要从用户请求中获取执行函获取所述执行函数名、所述参数结构、和所述执行内容,而无需提取网页的URL信息进行分析,因此,可快速识别、且占用带宽少。
在步骤S203中,将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配。
具体而言,包括:将所述执行函数名与所述漏洞函数名进行匹配,以及将所述参数结构与所述漏洞参数结构进行匹配。举例如下:
上传漏洞规则一:函数名move_uploaded_file,参数匹配正则*.php$则存在上传漏洞;
SQL注入规则一:函数名等于mysql_query,参数匹配正则and1=2#则存在sql注入漏洞。
在本步骤中,由于本发明的网页漏洞检测方法仅需对漏洞规则库中的漏洞规则进行匹配,因此具有快速识别、防范性强的特点,且漏洞规则的可扩展度高,方便统一维护和更新,维护的成本低廉。
在步骤S204中,若所述执行函数名与所述漏洞函数名匹配成功和/或所述参数结构与所述漏洞参数结构匹配成功,则发送所述执行内容的风险警示信息。具体而言:
当所述执行函数名与所述漏洞函数名匹配成功、或所述参数结构与所述漏洞参数结构匹配成功时,确定所述执行内容的风险评级为警告,并发送携带风险评级为警告的风险警示信息;
当所述执行函数名与所述漏洞函数名匹配成功、且所述参数结构与所述漏洞参数结构匹配成功时,确定所述执行内容的风险评级为危险,并发送携带风险评级为危险的风险警示信息;以及
当所述执行函数名与所述漏洞函数名匹配不成功、且所述参数结构与所述漏洞参数结构也匹配不成功时,发送表示安全的提示信息。
相对于现有技术,本发明中的网页漏洞的检测方法,通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息。具有快速识别、可扩展度高、防范性强的特点,同时漏报率低、占用带宽少、以及维护成本低廉。
实施例二
请参阅图3,所示为本发明的网页漏洞的检测系统的模块示意图。
一种网页漏洞的检测系统,应用于服务器30上。可以理解的是:所述服务器30可以是服务器主机,也可以是云服务器平台。
所述网页漏洞的检测系统,用于接收用户请求,分析是否存在网页漏洞,并据此发送风险警示信息。所述网页漏洞的检测系统,至少包括:漏洞规则库31、预处理模块32、匹配模块33、和风险警示模块34。
漏洞规则库31,用于存储漏洞规则,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构。
所述漏洞规则中的漏洞,按照常见的类型包括:结构化查询语言(SQL)注入漏洞、自动完成漏洞、目录遍历漏洞、操纵隐藏字段漏洞、缓冲区溢出漏洞、跨站点脚本攻击漏洞、和拒绝服务攻击漏洞中的一种或多种的组合。
可以理解的是:由于漏洞是由于网页中的某些函数或其参数使用不当导致的。本发明中的漏洞规则库31,以此为漏洞的突破点,主要是通过对函数名和函数参数进行分析和总结,形成漏洞的潜在规则。所述漏洞规则库31包括:分析子模块311、生成子模块312、以及存储子模块313。
分析子模块311,用于将已知漏洞,按照漏洞的场景行为和/或攻击特征进行分析,得到分析结果。
其中,所述分析子模块311按照所述漏洞场景行为进行分析时,包括:(1)提取所述漏洞的执行函数名、参数结构的位置或逻辑关系;(2)按照相关性对位置或逻辑关系进行拓展,得到基于漏洞场景行为的分析结果。
所述分析子模块311按照所述攻击特征进行分析时,包括:(1)提取所述漏洞的执行函数名、参数结构的后缀名、或参数匹配正则;(2)按照相关性对后缀名、或参数匹配正则进行拓展,得到基于攻击特征的分析结果。
生成子模块312,用于将所述分析结果生成漏洞规则。
可以理解的是:所述生成子模块312的生成垄断规则的过程包括但不限于:(1)对脚本语言、数据库特性、攻击扫描工具、攻击方式之一者或其组合进行分析;(2)建立攻击模型,所述攻击模型通过执行函数名、参数结构进行表述;(3)对所述攻击模型进行攻防测试,形成适格的漏洞规则。
存储子模块313,用于存储所述漏洞规则。
预处理模块32,用于接收用户请求,并从所述用户请求中动态获取网页中的执行函数名、参数结构、和执行内容。
所述预处理模块用于通过HOOK PHP的函数动态获取所述执行函数名、所述参数结构、和所述执行内容。具体而言,通过调用PHP接口或其他Trick。
预处理模块32仅需要从用户请求中获取执行函获取所述执行函数名、所述参数结构、和所述执行内容,而无需提取网页的URL信息进行分析,因此,可快速识别、且占用带宽少。
匹配模块33,用于将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,即将所述执行函数名与所述漏洞函数名进行匹配,以及将所述参数结构与所述漏洞参数结构进行匹配。举例如下:
上传漏洞规则一:函数名move_uploaded_file,参数匹配正则*.php$则存在上传漏洞;
SQL注入规则一:函数名等于mysql_query,参数匹配正则and1=2#则存在sql注入漏洞。
匹配模块33仅需对漏洞规则库中的漏洞规则进行匹配,因此具有快速识别、防范性强的特点,且漏洞规则的可扩展度高,方便统一维护和更新,维护的成本低廉。
风险警示模块34,用于当所述执行函数名和/或所述参数结构与所述漏洞规则匹配成功时,发送所述执行内容的风险警示信息。具体包括:
当所述执行函数名或所述参数结构之一者与所述漏洞规则库匹配成功时,确定所述执行内容的风险评级为警告,并发送携带风险评级为警告的风险警示信息;
当所述执行函数名和所述参数结构皆与所述漏洞规则库匹配成功时,确定所述执行内容的风险评级为危险,并发送携带风险评级为危险的风险警示信息以及
所述执行函数名和所述参数结构皆与所述漏洞规则匹配不成功时,发送表示安全的提示信息。
相对于现有技术,本发明中的网页漏洞的检测系统,通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息。具有快速识别、可扩展度高、防范性强的特点,同时漏报率低、占用带宽少、以及维护成本低廉。
实施例三
请参阅图4,所示为本发明的网页漏洞的检测系统的防御框架示意图。从防御架构的角度对网页漏洞的检测系统进行阐释。
一种网页漏洞的检测系统,包括漏洞分析部分41和数据支持部分42。
可以理解的是:所述漏洞分析部分41一般位于图1的分析服务器31上,而漏洞规则生成部分可以位于分析服务器31上,也可以位于图1的数据支持服务器33上。
所述漏洞分析部分41,用于接收用户请求,分析是否存在网页漏洞,并据此发送风险警示信息。具体而言,所述所述漏洞分析部分包括:预处理模块411、匹配模块412、风险警示模块413、以及预置的漏洞规则存储模块414。
预处理模块411,用于接收用户请求,并从所述用户请求中动态获取网页中的执行函数名、参数结构、和执行内容。
匹配模块412,用于将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构。
风险警示模块413,用于当所述执行函数名和/或所述参数结构与所述漏洞规则匹配成功时,发送所述执行内容的风险警示信息。具体包括:
当所述执行函数名与所述漏洞函数名匹配成功、或所述参数结构与所述漏洞参数结构匹配成功时,确定所述执行内容的风险评级为警告,并发送携带风险评级为警告的风险警示信息;
当所述执行函数名与所述漏洞函数名匹配成功、且所述参数结构与所述漏洞参数结构也匹配成功时,确定所述执行内容的风险评级为危险,并发送携带风险评级为危险的风险警示信息;以及
当所述执行函数名与所述漏洞函数名匹配不成功、且所述参数结构与所述漏洞参数结构也匹配不成功时,发送表示安全的提示信息。
所述数据支持部分42,用于对预置的漏洞规则存储模块413中的漏洞规则进行创建和更新和存储。具体包括:分析子模块421、生成子模块422。
分析子模块421,用于分析漏洞的场景行为和/或攻击特征,得到分析结果。
生成子模块422,用于将所述分析结果生成基于执行函数名和所述参数结构的漏洞规则。
可以理解的是:所述生成子模块312的生成垄断规则的过程包括但不限于:(1)对脚本语言、数据库特性、攻击扫描工具、攻击方式之一者或其组合进行分析;(2)建立攻击模型,所述攻击模型通过执行函数名、参数结构进行表述;(3)对所述攻击模型进行攻防测试,形成适格的漏洞规则。
相对于现有技术,本发明中的网页漏洞的检测系统,通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息。具有快速识别、可扩展度高、防范性强的特点,同时漏报率低、占用带宽少、以及维护成本低廉。
实施例四
请参阅图5,所示为本发明中网页漏洞的检测系统的泳道流程示意图。所述网页漏洞的检测系统,包括:
在步骤A中,客户端发送用户请求。
在步骤B中,攻击者将攻击伪装成用户请求进行发送。
在步骤C中,网页漏洞的检测系统接收用户请求。其中,所述用户请求可能来源于客户,也可能来源于攻击者。
在步骤D中,网页漏洞的检测系统从所述用户请求中动态获取执行函数名、参数结构、和执行内容。
可以理解的是:所述动态获取所述执行函数名、所述参数结构、和所述执行内容,可以通过HOOK PHP的函数来实现。具体而言,通过调用PHP接口或其他Trick。在本步骤中,由于本发明的网页漏洞的检测方法仅需要从用户请求中获取执行函获取所述执行函数名、所述参数结构、和所述执行内容,而无需提取网页的URL信息进行分析,因此,可快速识别、且占用带宽少。
在步骤E中,网页漏洞的检测系统将所述执行函数名或所述参数结构与预置的漏洞规则库中的漏洞规则进行匹配,其中所述漏洞规则包括漏洞函数名、各执行函数名及其对应的一个或多个漏洞参数结构。
可以理解的是:所述预置的漏洞规则库是根据已知的漏洞进行分析而生成的。举例如下:
上传漏洞规则一:函数名move_uploaded_file,参数匹配正则*.php$则存在上传漏洞;
SQL注入规则一:函数名等于mysql_query,参数匹配正则and1=2#则存在sql注入漏洞。
在本步骤中,由于本发明的网页漏洞检测方法仅需对漏洞规则库中的漏洞规则进行匹配,因此具有快速识别、防范性强的特点,且漏洞规则的可扩展度高,方便统一维护和更新,维护的成本低廉。
在步骤F中,网页漏洞的检测系统若判断所述执行函数名和/或所述参数结构与所述漏洞规则部分或全部匹配成功,则发送所述执行内容为警告或危险风险警示信息。
在步骤G中,网页漏洞的检测系统若判断所述执行函数名和/或所述参数结构与所述漏洞规则全部匹配不成功,则发送所述执行内容为安全的风险警示信息。
相对于现有技术,本发明中的网页漏洞的检测方法,通过动态获取执行函数名和参数结构,与漏洞规则进行匹配,并发送对应的风险警示信息。具有快速识别、可扩展度高、防范性强的特点,同时漏报率低、占用带宽少、以及维护成本低廉。
同时,需要说明的是:本发明中获取的执行函数名以及参数结构,是对用户的请求进行分析,而不是对所请求的网页进行分析,不同于现有网页漏洞检测方法中提取并分析网页的URL及其所指向的地址的做法。因为一个攻击手法可以攻击多个网站,因此,可以理解,分析攻击手法必然比分析攻击的网站的运算数量级要小得多,因此,在对网页漏洞进行检测时,无论是检测的响应速度、响应时间、还是准确率都会有很大的改善。
可以理解的是:本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述模块(例如元件、资源等)执行的各种功能,用于描述这样的模块的术语旨在对应于执行所述模块的指定功能(例如其在功能上是等价的)的任意模块(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被服务器执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。
本发明实施例提供的一种网页漏洞的检测方法与系统属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
需要说明的是,对本发明的网页漏洞的检测方法与系统而言,本领域普通测试人员可以理解实现本发明实施例所述应用程序运行方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在客户端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述运行方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通测试人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (22)

1.一种网页漏洞的检测方法,其特征在于,包括:
接收用户网页请求,并从所述用户网页请求中动态获取网页执行函数名、网页参数结构、和网页执行内容,所述网页执行函数名、所述网页参数结构和所述网页执行内容非网页的URL信息;
将所述网页执行函数名或所述网页参数结构与预置的漏洞规则库中的网页漏洞规则进行匹配,其中所述网页漏洞规则包括网页漏洞函数名、各网页执行函数名及其对应的一个或多个网页漏洞参数结构;以及
若所述网页执行函数名与所述网页漏洞函数名匹配成功和/或所述网页参数结构与所述网页漏洞参数结构匹配成功,则发送所述网页执行内容的风险警示信息。
2.如权利要求1所述的网页漏洞检测方法,其特征在于,所述接收用户请求之前,还包括:
创建漏洞规则库,用于存储网页漏洞规则。
3.如权利要求2所述的网页漏洞检测方法,其特征在于,所述网页漏洞规则中的漏洞,包括结构化查询语言注入漏洞、自动完成漏洞、目录遍历漏洞、操纵隐藏字段漏洞、缓冲区溢出漏洞、跨站点脚本攻击漏洞、和拒绝服务攻击漏洞中的一种或多种的组合。
4.如权利要求2所述的网页漏洞检测方法,其特征在于,所述创建漏洞规则库,包括:
将已知漏洞,按照漏洞的场景行为和/或攻击特征进行分析,得到分析结果;
将所述分析结果生成网页漏洞规则;以及
将所述网页漏洞规则存储在漏洞规则库中。
5.权利要求4所述的网页漏洞检测方法,其特征在于,所述按照漏洞场景行为进行分析,包括:
提取所述漏洞的网页执行函数名、网页参数结构的位置或逻辑关系;以及
按照相关性对位置或逻辑关系进行拓展,得到基于漏洞场景行为的分析结果。
6.如权利要求4所述的网页漏洞检测方法,其特征在于,按照攻击特征进行分析,包括:
提取所述漏洞的网页执行函数名、网页参数结构的后缀名、或参数匹配正则;以及
按照相关性对后缀名、或参数匹配正则进行拓展,得到基于攻击特征的分析结果。
7.如权利要求4所述的网页漏洞检测方法,其特征在于,所述将所述分析结果生成网页漏洞规则,包括:
对脚本语言、数据库特性、攻击扫描工具、攻击方式之一者或其组合进行分析;
建立攻击模型,所述攻击模型通过网页执行函数名、网页参数结构进行表述;以及
对所述攻击模型进行攻防测试,形成所述网页漏洞规则。
8.如权利要求1至7任一项所述的网页漏洞检测方法,其特征在于,所述动态获取网页执行函数名、网页参数结构、和网页执行内容,包括:
通过HOOK PHP的函数动态获取所述网页执行函数名、所述网页参数结构、和所述网页执行内容。
9.如权利要求1至7任一项所述的网页漏洞检测方法,其特征在于,所述若所述网页执行函数名与所述网页漏洞函数名匹配成功和/或所述网页参数结构与所述网页漏洞参数结构匹配成功,则发送所述网页执行内容的风险警示信息,包括:
当所述网页执行函数名与所述网页漏洞函数名匹配成功、或所述网页参数结构与所述网页漏洞参数结构匹配成功时,确定所述网页执行内容的风险评级为警告,并发送携带风险评级为警告的风险警示信息;以及
当所述网页执行函数名与所述网页漏洞函数名匹配成功、且所述网页参数结构与所述网页漏洞参数结构也匹配成功时,确定所述网页执行内容的风险评级为危险,并发送携带风险评级为危险的风险警示信息。
10.根据权利要求9所述的网页漏洞检测方法,其特征在于,还包括:
当所述网页执行函数名与所述网页漏洞函数名匹配不成功、且所述网页参数结构与所述网页漏洞参数结构也匹配不成功时,发送表示安全的提示信息。
11.一种网页漏洞的检测系统,其特征在于,包括:
预处理模块,用于接收用户网页请求,并从所述用户网页请求中动态获取网页中的网页执行函数名、网页参数结构、和网页执行内容,所述网页执行函数名、所述网页参数结构、和所述网页执行内容为非URL信息;
匹配模块,用于将所述网页执行函数名或所述网页参数结构与预置的漏洞规则库中的网页漏洞规则进行匹配,其中所述网页漏洞规则包括网页漏洞函数名、各网页执行函数名及其对应的一个或多个网页漏洞参数结构;以及
风险警示模块,用于当所述网页执行函数名与所述网页漏洞函数名匹配成功和/或所述网页参数结构与所述网页漏洞参数结构匹配成功时,发送所述网页执行内容的风险警示信息。
12.如权利要求11所述的网页漏洞检测系统,其特征在于,还包括漏洞规则库,用于存储网页漏洞规则。
13.如权利要求12所述的网页漏洞检测系统,其特征在于,所述网页漏洞规则中的漏洞,包括:结构化查询语言注入漏洞、自动完成漏洞、目录遍历漏洞、操纵隐藏字段漏洞、缓冲区溢出漏洞、跨站点脚本攻击漏洞、和拒绝服务攻击漏洞中的一种或多种的组合。
14.如权利要求12所述的网页漏洞检测系统,其特征在于,所述网页漏洞规则库包括:
分析子模块,用于将已知漏洞,按照漏洞的场景行为和/或攻击特征进行分析,得到分析结果;
生成子模块,用于将所述分析结果生成漏洞规则;以及
存储子模块,用于存储所述网页漏洞规则。
15.权利要求14所述的网页漏洞检测系统,其特征在于,所述分析子模块按照所述漏洞场景行为进行分析时,包括:
提取所述漏洞的网页执行函数名、网页参数结构的位置或逻辑关系;以及
按照相关性对位置或逻辑关系进行拓展,得到基于漏洞场景行为的分析结果。
16.如权利要求14所述的网页漏洞检测系统,其特征在于,所述分析子模块按照所述攻击特征进行分析时,包括:
提取所述漏洞的网页执行函数名、网页参数结构的后缀名、或参数匹配正则;以及
按照相关性对后缀名、或参数匹配正则进行拓展,得到基于攻击特征的分析结果。
17.如权利要求11至16任一项所述的漏洞检测系统,其特征在于,所述预处理模块用于通过HOOK PHP的函数动态获取所述网页执行函数名、所述网页参数结构、和所述网页执行内容。
18.如权利要求11至16任一项所述的网页漏洞检测系统,其特征在于,所述风险警示模块具体用于:
当所述网页执行函数名与所述网页漏洞函数名匹配成功、或所述网页参数结构与所述网页漏洞参数结构匹配成功时,确定所述网页执行内容的风险评级为警告,并发送携带风险评级为警告的风险警示信息;以及
当所述网页执行函数名与所述网页漏洞函数名匹配成功、且所述网页参数结构与所述网页漏洞参数结构也匹配成功时,确定所述网页执行内容的风险评级为危险,并发送携带风险评级为危险的风险警示信息。
19.根据权利要求18所述的网页漏洞检测系统,其特征在于,所述风险警示模块具体用于还包括:
当所述网页执行函数名与所述网页漏洞函数名匹配不成功、且所述网页参数结构与所述网页漏洞参数结构也匹配不成功时,发送表示安全的提示信息。
20.如权利要求14所述的网页漏洞检测系统,其特征在于,包括:生成子模块将所述分析结果生成网页漏洞规则的过程包括:
对脚本语言、数据库特性、攻击扫描工具、攻击方式之一者或其组合进行分析;
建立攻击模型,所述攻击模型通过网页执行函数名、网页参数结构进行表述;以及
对所述攻击模型进行攻防测试,形成所述网页漏洞规则。
21.一种网页漏洞的检测系统,其特征在于,包括:漏洞分析部分和数据支持部分,其中,
所述漏洞分析部分,包括:
漏洞规则存储模块,用于存储网页漏洞规则,其中所述网页漏洞规则包括网页网页漏洞函数名、各网页执行函数名及其对应的一个或多个网页漏洞参数结构;
预处理模块,用于接收用户网页请求,并从所述用户网页请求中动态获取网页中的网页执行函数名、网页参数结构、和网页执行内容,所述网页执行函数名、所述网页参数结构和所述网页执行内容非网页的URL信息;
匹配模块,用于将所述网页执行函数名或所述网页参数结构与所述漏洞规则存储模块中的漏洞规则进行匹配,其中所述网页漏洞规则包括网页漏洞函数名、各网页执行函数名及其对应的一个或多个网页漏洞参数结构;以及
风险警示模块,用于当所述网页执行函数名与所述网页漏洞函数名匹配成功和/或所述网页参数结构与所述网页漏洞参数结构匹配成功时,发送所述网页执行内容的风险警示信息;
所述数据支持部分,包括:
分析子模块,用于分析漏洞的场景行为和/或攻击特征,得到分析结果;以及
生成子模块,用于将所述分析结果生成基于网页执行函数名和所述网页参数结构的所述网页漏洞规则。
22.一种计算机可读存储介质,其存储有计算机程序,其中,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1所述的网页漏洞的检测方法。
CN201410586871.6A 2014-10-28 2014-10-28 一种网页漏洞的检测方法和系统 Active CN105553917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410586871.6A CN105553917B (zh) 2014-10-28 2014-10-28 一种网页漏洞的检测方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410586871.6A CN105553917B (zh) 2014-10-28 2014-10-28 一种网页漏洞的检测方法和系统

Publications (2)

Publication Number Publication Date
CN105553917A CN105553917A (zh) 2016-05-04
CN105553917B true CN105553917B (zh) 2020-05-12

Family

ID=55832853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410586871.6A Active CN105553917B (zh) 2014-10-28 2014-10-28 一种网页漏洞的检测方法和系统

Country Status (1)

Country Link
CN (1) CN105553917B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245506B (zh) * 2015-09-23 2018-10-12 上海云盾信息技术有限公司 一种防御网络攻击的方法与设备
CN106101145B (zh) * 2016-08-10 2019-11-15 北京神州绿盟信息安全科技股份有限公司 一种网站漏洞检测方法及装置
CN106411855B (zh) * 2016-09-06 2019-03-05 北京邮电大学 一种脆弱性目录查找方法及装置
CN106357635A (zh) * 2016-09-09 2017-01-25 浪潮软件集团有限公司 一种基于同源框架的漏洞对比分析方法
CN106357689B (zh) * 2016-11-07 2019-07-09 北京奇虎科技有限公司 威胁数据的处理方法及系统
CN107562631A (zh) * 2017-09-08 2018-01-09 杭州安恒信息技术有限公司 基于轻量级脚本的漏洞检测方法及装置
CN107800718A (zh) * 2017-11-29 2018-03-13 中科信息安全共性技术国家工程研究中心有限公司 一种文件上传漏洞的预警方法装置
CN109491912A (zh) * 2018-11-09 2019-03-19 北京知道创宇信息技术有限公司 一种代码审计方法、装置及存储介质
CN109218336B (zh) * 2018-11-16 2021-02-19 北京知道创宇信息技术股份有限公司 漏洞防御方法及系统
CN110147675B (zh) * 2019-05-22 2021-05-28 杭州安恒信息技术股份有限公司 一种智能终端的安全检测方法及设备
CN110263548A (zh) * 2019-06-10 2019-09-20 北京墨云科技有限公司 一种Web应用漏洞检测规则生成方法、终端及存储介质
CN112395637A (zh) * 2019-08-15 2021-02-23 奇安信安全技术(珠海)有限公司 数据库防护方法及装置、存储介质、计算机设备
CN110768977B (zh) * 2019-10-21 2022-02-25 中国民航信息网络股份有限公司 一种安全漏洞信息的抓取方法及系统
CN113810343B (zh) * 2020-06-15 2023-05-12 深信服科技股份有限公司 函数注入攻击的检测方法、装置、设备及可读存储介质
CN112487434A (zh) * 2020-11-05 2021-03-12 杭州孝道科技有限公司 一种应用软件自适应安全防护方法
CN113239364A (zh) * 2021-06-11 2021-08-10 杭州安恒信息技术股份有限公司 一种检测漏洞利用的方法、装置、设备及存储介质
CN114969765B (zh) * 2022-07-27 2022-11-01 杭州海康威视数字技术股份有限公司 一种物联网设备无感安全漏洞修复方法、装置及设备
CN115033892A (zh) * 2022-08-10 2022-09-09 北京安普诺信息技术有限公司 一种组件漏洞分析方法、装置、电子设备及存储介质
CN116204892B (zh) * 2023-05-05 2023-08-08 中国人民解放军国防科技大学 漏洞处理方法、装置、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267357A (zh) * 2007-03-13 2008-09-17 北京启明星辰信息技术有限公司 一种sql注入攻击检测方法及系统
CN101448007A (zh) * 2008-12-31 2009-06-03 中国电力科学研究院 一种结构化查询语言sql攻击防御系统
CN102082810A (zh) * 2009-11-30 2011-06-01 中国移动通信集团广西有限公司 一种用户终端访问互联网的方法、系统及装置
US8806629B1 (en) * 2008-01-02 2014-08-12 Cisco Technology, Inc. Automatic generation of policy-driven anti-malware signatures and mitigation of DoS (denial-of-service) attacks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267357A (zh) * 2007-03-13 2008-09-17 北京启明星辰信息技术有限公司 一种sql注入攻击检测方法及系统
US8806629B1 (en) * 2008-01-02 2014-08-12 Cisco Technology, Inc. Automatic generation of policy-driven anti-malware signatures and mitigation of DoS (denial-of-service) attacks
CN101448007A (zh) * 2008-12-31 2009-06-03 中国电力科学研究院 一种结构化查询语言sql攻击防御系统
CN102082810A (zh) * 2009-11-30 2011-06-01 中国移动通信集团广西有限公司 一种用户终端访问互联网的方法、系统及装置

Also Published As

Publication number Publication date
CN105553917A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN105553917B (zh) 一种网页漏洞的检测方法和系统
JP6559694B2 (ja) 自動sdk受容
US8819819B1 (en) Method and system for automatically obtaining webpage content in the presence of javascript
CN111651757B (zh) 攻击行为的监测方法、装置、设备及存储介质
AU2013201003B2 (en) Systems and methods for detecting malicious code
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
CN108989355B (zh) 一种漏洞检测方法和装置
CN109586282B (zh) 一种电网未知威胁检测系统及方法
CN108664793B (zh) 一种检测漏洞的方法和装置
CN107896219B (zh) 一种网站脆弱性的检测方法、系统及相关装置
CN108667770B (zh) 一种网站的漏洞测试方法、服务器及系统
CN107040518B (zh) 一种私有云服务器登录方法及系统
CN108632219B (zh) 一种网站漏洞检测方法、检测服务器、系统及存储介质
US9591019B2 (en) Malicious object detection
CN102708309A (zh) 恶意代码自动分析方法及系统
CN107332804B (zh) 网页漏洞的检测方法及装置
CN111404937B (zh) 一种服务器漏洞的检测方法和装置
CN109446801B (zh) 检测模拟器访问的方法、装置、服务器及存储介质
CN112671605B (zh) 一种测试方法、装置及电子设备
CN110968872A (zh) 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN114465741B (zh) 一种异常检测方法、装置、计算机设备及存储介质
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
US8789177B1 (en) Method and system for automatically obtaining web page content in the presence of redirects
CN113055399A (zh) 注入攻击的攻击成功检测方法、系统及相关装置
CN113190838A (zh) 一种基于表达式的web攻击行为检测方法及系统

Legal Events

Date Code Title Description
C06 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