一种存储跨站攻击脚本漏洞检测方法、装置及系统的制作方法

文档序号:8339906阅读:399来源:国知局
一种存储跨站攻击脚本漏洞检测方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机安全技术,尤其涉及一种存储跨站攻击脚本漏洞检测方法、装置及系统。
【背景技术】
[0002]跨站脚本攻击(Cross Site Script,XSS)是恶意攻击者通过在网页中加入恶意代码并诱使用户访问,当访问者浏览网页时恶意代码会在用户机器上执行,从而导致恶意攻击者盗取用户信息,或者在用户机器上挂载木马攻击并远程获得用户机器的控制权。XSS分为普通反射型XSS和存储XSS,存储XSS的恶意代码直接存储在目标网站的服务器上,因而比普通反射型XSS危害更大,影响面更广。
[0003]由于存储XSS漏洞的攻击方式十分隐蔽且在攻击网页无直接回显特征,目前业界还没有有效的自动化检测工具。

【发明内容】

[0004]有鉴于此,有必要提供一种存储跨站攻击脚本漏洞检测方法、装置及系统,其能够高效的检测网站中的存储跨站攻击脚本漏洞。
[0005]一种存储跨站攻击脚本漏洞检测方法,包括:获取目标网页的待检测参数;构造一个特征字符串,该特征字符串内包含可触发存储跨站脚本攻击的字符以及唯一标识符;将所述特征字符串作为所述待检测参数的值提交至所述目标网页;遍历所有可能输出所述提参数值的网页,并判断是否有网页中是否包含所述的唯一标识符;以及若有网页中包含所述的唯一标识符则记录所述待检测参数存在存储跨站攻击脚本漏洞。
[0006]一种存储跨站攻击脚本漏洞检测装置,包括:参数获取模块,用于获取目标网页的待检测参数;字符串构造模块,用于构造一个特征字符串,该特征字符串内包含可触发存储跨站脚本攻击的字符以及唯一标识符;参数提交模块,用于将所述特征字符串作为所述待检测参数的值提交至所述目标网页;检测模块,用于遍历所有可能输出所述提参数值的网页,并判断是否有网页中是否包含所述的唯一标识符;以及漏洞记录模块,用于若有网页中包含所述的唯一标识符则记录所述待检测参数存在存储跨站攻击脚本漏洞。
[0007]—种存储跨站攻击脚本漏洞检测系统,包括:漏洞检测服务器以及搜索引擎;所述漏洞检测服务器用于:获取目标网页的待检测参数;构造一个特征字符串,该特征字符串内包含可触发存储跨站脚本攻击的字符以及唯一标识符;将所述特征字符串作为所述待检测参数的值提交至所述目标网页;所述搜索引擎用于:遍历所有可能输出所述提参数值的网页;所述漏洞检测服务器还用于:将所述唯一标识符提交至所述搜索引擎进行检索,若所述搜索引擎返回的检索结果中包含至少一个匹配的网页则记录所述待检测参数存在存储跨站攻击脚本漏洞。
[0008]根据上述的存储跨站攻击脚本漏洞检测方法、装置及系统,通过模拟存储XSS的攻击方式向被检测的网站提交参数值,而参数的值内包含唯一标识符,在后续的网页遍历过程中若检测到此唯一标识符,则可判定对应的URL以及参数存在XSS漏洞。此种检测方式可全自动的进行,具有很高的检测效率以及准确性。
[0009]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【附图说明】
[0010]图1为本发明实施例提供的方法及装置的运行环境示意图。
[0011]图2为图1中的漏洞检测服务器的结构框图。
[0012]图3为图1中的网站服务器的结构框图。
[0013]图4为第一实施例提供的存储跨站攻击脚本漏洞检测方法流程图。
[0014]图5为第二实施例提供的存储跨站攻击脚本漏洞检测方法流程图。
[0015]图6及图7为第三实施例提供的存储跨站攻击脚本漏洞检测方法流程图。
[0016]图8为第四实施例提供的存储跨站攻击脚本漏洞检测装置的结构框图。
[0017]图9为第五实施例提供的存储跨站攻击脚本漏洞检测系统的示意图。
【具体实施方式】
[0018]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0019]本发明实施例涉及一种存储跨站攻击脚本漏洞检测方法及装置。其用于在检测网站内存储的跨站攻击脚本漏洞。参阅图1,其为上述的方法及装置的运行环境示意图。一个或多个漏洞检测服务器100 (图1中仅示出一个)可通过网络与一个或多个网站服务器200(图1中仅示出一个)相连。上述的网络例如可为互联网、局域网、企业内部网等。
[0020]进一步参阅图2,其为上述的漏洞检测服务器100的一个实施例的结构框图。如图2所示,漏洞检测服务器100包括:存储器102、处理器104以及网络模块106。可以理解,图2所示的结构仅为示意,其并不对漏洞检测服务器100的结构造成限定。例如,漏洞检测服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0021]存储器102可用于存储软件程序以及模块,如本发明实施例中的跨站攻击脚本漏洞检测方法及装置对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的跨站攻击脚本漏洞检测方法。存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器104远程设置的存储器,这些远程存储器可以通过网络连接至漏洞检测服务器100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组八口 ο
[0022]传输模块106用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,传输模块106可包括处理器、随机存储器、转换器、晶体振荡器等元件。
[0023]上述的软件程序以及模块包括:操作系统122以及漏洞检测模块124。其中操作系统122例如可为LINUX, UNIX, WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。漏洞检测模块124运行在操作系统122的基础上,执行本发明实施例提供的存储跨站攻击脚本漏洞检测方法。
[0024]进一步参阅图3,其为图1中的网站服务器200的一个实施例的结构框图。如图3所示,其与漏洞检测服务器100的结构相似,其不同之处在于,并不包括漏洞检测模块124,而包括网站服务器模块126。网站服务器模块126运行在操作系统122的基础上,并通过操作系统122的网络服务监听来自网络的网页访问请求,根据网页访问请求完成相应的数据处理,并返回结果网页或者其他格式的数据给客户端。上述的网站服务器模块126例如可包括动态网页脚本以及脚本解释器等。上述的脚本解释器例如可为Apache网站服务器程序,其用于将动态网页脚本处理成客户端可以接受的格式,例如超文本标记(HTML)语言格式或者可扩展标记语言(XML)格式等。在处理动态网页脚本的过程中,可能需要存取存储在数据库300中的数据。可以理解,在图1所示的实例中,数据库300独立于网站服务器200之外,然而,数据库300也可以运行于网站服务器200内。
[0025]第一实施例
[0026]本实施例的提供一种存储跨站攻击脚本漏洞检测方法,参阅图4,上述方法包括以下步骤:
[0027]步骤S110、获取目标网页的待检测参数。
[0028]目标网页是指对应于一个网址(UniformResource Locator,URL),例如“http://WWW.test, com/publish, php”的网页。可以理解,一个网页是由网站服务器(如网站服务器200)内的一个或多个脚本生成并返回至客户端(如漏洞检测服务器100)。为了与网站服务器进行交互,前端网页中会具有多个参数,其可通过POST方式GET方式提交至网站服务器。具体地,可以通过Javascript脚本或者表单(Form)向网站服务器提交参数及其值。网站服务器在接收到请求后,会处理这些参数,而一些参数的值可能会被存储至数据库内。在存储过程中,如果网站服务器内的脚本中存在XSS漏洞,则恶意代码就可能被存储在数据库中。因此,上述的待检测参数就是指前端网页中的能被网站服务器接收并处理的参数。具体实施时,可以获取所有的参数,或者仅获取用户可输入的参数,或者仅获取可能会被存储的参数。
[0029]以上述的网页“http://www.test, com/publish, php”为例,其可以具有两个参数:content以及user。这两个参数都可以进行检测,也可以是只检测部分参数,例如仅检测参数 content。
[0030]步骤S120、构造一个特征字符串,该特征字符串内包含可触发存储跨站脚本攻击的字符以及唯一标识符。
[0031]上述的可触发存储跨站脚本攻击的字符例如可包括:”、’、〈、>
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1