CN110460612B - 安全测试方法、设备、存储介质及装置 - Google Patents
安全测试方法、设备、存储介质及装置 Download PDFInfo
- Publication number
- CN110460612B CN110460612B CN201910763207.7A CN201910763207A CN110460612B CN 110460612 B CN110460612 B CN 110460612B CN 201910763207 A CN201910763207 A CN 201910763207A CN 110460612 B CN110460612 B CN 110460612B
- Authority
- CN
- China
- Prior art keywords
- script
- preset
- test
- tested
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种安全测试方法、设备、存储介质及装置,该方法通过获取待测试请求数据,从所述待测试请求数据中提取标识参数;根据所述标识参数获取对应的目标脚本;将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器;接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞。基于信息安全,目标脚本注入至待测试请求数据中,生成测试数据,通过测试数据测试预设服务器是否存在漏洞,绕过前端校验,测试结果实时可见,提高测试效率和效果。
Description
技术领域
本发明涉及信息安全的技术领域,尤其涉及一种安全测试方法、设备、存储介质及装置。
背景技术
跨站脚本攻击(Cross Site Scripting,简称XSS)是利用网站漏洞从用户那里恶意盗取信息的方式之一。用户在浏览网站、使用即时通讯软件、或者在阅读电子邮件时,通常会点击其中的链接。恶意攻击者在链接中插入恶意代码,当用户点击这些链接时,生成相应网页的网络服务器由于没有过滤这些恶意代码而具有XSS漏洞,因此生成包含恶意代码的页面。XSS在目前互联网站点上普遍存在,给直接用户带来极大的威胁。结构化查询语言注入(Structured Query Language Inject,简称SqlInject)攻击会导致的数据库安全风险包括:刷库、拖库及撞库,这就需要对XSS及SqlInject进行安全测试。目前采用的是手工测试,分析可能存在漏洞的参数,且存在误报可能,后续仍需要手工测试核实结果,测试效率低下且效果差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种安全测试方法、设备、存储介质及装置,旨在解决现有技术中安全测试效率低下且效果差的技术问题。
为实现上述目的,本发明提供一种安全测试方法,所述安全测试方法包括以下步骤:
获取待测试请求数据,从所述待测试请求数据中提取标识参数;
根据所述标识参数获取对应的目标脚本;
将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器;
接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞。
优选地,所述根据所述标识参数获取对应的目标脚本,包括:
从所述标识参数中提取脚本标识;
将所述脚本标识与预设脚本数据库中的脚本进行特征匹配;
在所述预设脚本数据库中存在与所述脚本标识匹配的脚本时,将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本。
优选地,所述将所述脚本标识与预设脚本数据库中的脚本进行特征匹配之后,所述安全测试方法还包括:
在所述预设脚本数据库中不存在与所述脚本标识匹配的脚本时,根据所述脚本标识在预设网站中查找目标脚本;
从所述预设网站下载所述目标脚本,将所述目标脚本添加至所述预设脚本数据库。
优选地,所述从所述标识参数中提取脚本标识,包括:
通过预设正则表达式,对所述标识参数进行字符提取,获得脚本标识。
优选地,所述获取待测试请求数据,从所述待测试请求数据中提取标识参数,包括:
获取待测试请求数据,从所述待测试请求数据中获取用户所要访问网站的域名;
在获取的网站域名中添加预设字符集,生成特定字符串数据;
获取用户所要访问网站的网站信息;
根据所述特定字符串数据从所述网站信息中提取标识参数。
优选地,所述接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞,包括:
接收所述预设服务器返回的测试结果;
对所述测试结果进行数据提取,获得关键变量;
判断所述关键变量与预设变量是否一致;
若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞。
优选地,所述若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞之后,所述安全测试方法还包括:
从所述测试数据中提取漏洞位置和漏洞原因;
将所述漏洞位置和所述漏洞原因以弹窗形式进行展示。
此外,为实现上述目的,本发明还提出一种安全测试设备,所述安全测试设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全测试程序,所述安全测试程序配置为实现如上文所述的安全测试方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有安全测试程序,所述安全测试程序被处理器执行时实现如上文所述的安全测试方法的步骤。
此外,为实现上述目的,本发明还提出一种安全测试装置,所述安全测试装置包括:
提取模块,用于获取待测试请求数据,从所述待测试请求数据中提取标识参数;
获取模块,用于根据所述标识参数获取对应的目标脚本;
生成模块,用于将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器;
判断模块,用于接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞。
本发明中,通过获取待测试请求数据,从所述待测试请求数据中提取标识参数,根据所述标识参数获取对应的目标脚本,将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器,实现自动注入测试脚本,可绕过前端校验;接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞,基于信息安全,通过测试数据测试预设服务器是否存在漏洞,测试结果实时可见,提高测试效率和效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的安全测试设备的结构示意图;
图2为本发明安全测试方法第一实施例的流程示意图;
图3为本发明安全测试方法第二实施例的流程示意图;
图4为本发明安全测试方法第三实施例的流程示意图;
图5为本发明安全测试装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的安全测试设备结构示意图。
如图1所示,该安全测试设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对安全测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及安全测试程序。
在图1所示的安全测试设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述安全测试设备通过处理器1001调用存储器1005中存储的安全测试程序,并执行本发明实施例提供的安全测试方法。
基于上述硬件结构,提出本发明安全测试方法的实施例。
参照图2,图2为本发明安全测试方法第一实施例的流程示意图,提出本发明安全测试方法第一实施例。
在第一实施例中,所述安全测试方法包括以下步骤:
步骤S10:获取待测试请求数据,从所述待测试请求数据中提取标识参数。
应理解的是,本实施例的执行主体是所述安全测试设备,其中,所述安全测试设备可为个人电脑或服务器等电子设备,本实施例对此不加以限制。Web客户端包含Web浏览器,用户可以通过点击Web浏览器页面上的链接与Web服务器之间进行信息交互,其中产生的连接即为请求数据。为了实现跨站脚本攻击(Cross Site Scripting,简称XSS)或者结构化查询语言注入(Structured Query Language Inject,简称SqlInject)等类型测试,在用户在输入的请求数据中录入标识参数,获得所述待测试请求数据,通常在网页中的Textbox或者其他能输入数据的地方,输入所述标识参数。具体为,在需要进行安全测试的参数中录入脚本标识,形成所述标识参数。所述标识参数用于标识所述待测试请求数据需要进行测试的类型,为了提高所述标识参数的识别度,所述标识参数包括脚本标识和需要进行测试的参数。
需要说明的是,可从所述待测试请求数据中提取统一资源定位符(UniformResource Locator,简称URL),从所述URL中提取所述标识参数,可以通过查看超文本标记语言(Hyper Text Markup Language,简称HTML)源代码中的FORM标签来辨别是否包括所述标识参数。
步骤S20:根据所述标识参数获取对应的目标脚本。
可理解的是,所述标识参数包括脚本标识,以方便区分进行哪一种测试,所述脚本标识能够识别所述待测试请求数据需要进行哪一种测试,可获取各种不同测试类型的特征脚本,并将不同测试类型的测试脚本预先存储至预设脚本数据库中,则可通过所述脚本标识,与所述预设脚本数据库中的测试脚本进行特征匹配,若匹配成功,则可从所述预设脚本数据库中获取匹配成功的脚本作为目标脚本。所述目标脚本包括XSS或者SqlInject测试脚本等,本实施例对此不加以限制。
步骤S30:将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器。
需要说明的是,所述目标脚本包括XSS或者SqlInject测试脚本等,将所述目标脚本注入至所述待测试请求数据的输入参数中,生成所述测试数据,也即将包括需要测试的参数的所述标识参数替换为所述目标脚本,实现所述目标脚本的注入,所述测试数据能够检测所述预设服务器是否存在XSS或者SQL漏洞。
举例说明,结构化查询语言(Structured Query Language,简称SQL)注入是一种将SQL代码添加到输入参数中,利用发送至所述预设服务器的输入参数构造可执行的SQL代码,可加入到get请求、post请求、http头信息及cookie中,从而生成所述测试数据。所述预设服务器为接收所述测试数据的服务器,根据所述测试数据查询对应内容进行反馈,包括SQL服务器。还可在网页中的Textbox或者其他能输入数据的地方,注入XSS测试脚本,获得所述测试数据。
步骤S40:接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞。
在具体实现中,可首先将未注入所述目标脚本的所述待测试请求数据发送至所述预设服务器,接收所述预设服务器反馈的正常数据,对所述正常数据进行关键特征提取,将提取的关键特征作为预设变量。将注入所述目标脚本的所述测试数据发送至所述预设服务器,接收所述预设服务器返回的所述测试结果,对所述测试结果进行关键特征提取,获得关键变量。将所述预设变量与所述关键变量进行对比,若所述预设变量与所述关键变量一致,则说明所述预设服务器不存在漏洞。
本实施例中,通过获取待测试请求数据,从所述待测试请求数据中提取标识参数,根据所述标识参数获取对应的目标脚本,将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器,实现自动注入测试脚本,可绕过前端校验;接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞,基于信息安全,通过测试数据测试预设服务器是否存在漏洞,测试结果实时可见,提高测试效率和效果。
参照图3,图3为本发明安全测试方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明安全测试方法的第二实施例。
在第二实施例中,所述步骤S20,包括:
步骤S201:从所述标识参数中提取脚本标识。
应理解的是,所述标识参数用于标识所述待测试请求数据需要进行测试的类型,为了提高所述标识参数的识别度,可设置所述标识参数为多个字符组成的预设字符集,并且所述标识参数包括不同测试类型的特征脚本。所述标识参数中包括的特征脚本即为所述脚本标识,所述脚本标识能够识别所述待测试请求数据需要进行哪一种测试。
在本实施例中,所述步骤S201,包括:
通过预设正则表达式,对所述标识参数进行字符提取,获得脚本标识。
可理解的是,可根据不用类型测试脚本的特征预先设置对应的所述预设正则表达式,则通过所述预设正则表达式对所述标识参数进行字符匹配,若匹配成功,则将匹配成功的字符进行字符提取,获得所述脚本标识。
步骤S202:将所述脚本标识与预设脚本数据库中的脚本进行特征匹配。
需要说明的是,可获取各种不同测试类型的特征脚本,并将不同测试类型的测试脚本预先存储至预设脚本数据库中,则可通过所述脚本标识,与所述预设脚本数据库中的测试脚本进行特征匹配,具体为,将所述预设脚本数据库中各脚本进行特征提取,获得各脚本对应的脚本特征,将所述脚本标识与各脚本特征进行匹配,若匹配成功,则可从所述预设脚本数据库中获取匹配成功的脚本作为目标脚本。所述目标脚本包括XSS或者SqlInject测试脚本等,本实施例对此不加以限制。
步骤S203:在所述预设脚本数据库中存在与所述脚本标识匹配的脚本时,将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本。
在具体实现中,若匹配成功,说明所述预设脚本数据库中包括所述脚本标识对应的脚本,也即在所述预设脚本数据库中存在与所述脚本标识匹配的脚本,则将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本。
在本实施例中,所述步骤S202之后,还包括:
在所述预设脚本数据库中不存在与所述脚本标识匹配的脚本时,根据所述脚本标识在预设网站中查找目标脚本;
从所述预设网站下载所述目标脚本,将所述目标脚本添加至所述预设脚本数据库。
可理解的是,若匹配失败,说明所述预设脚本数据库中不包括所述脚本标识对应的脚本,即在所述预设脚本数据库中不存在与所述脚本标识匹配的脚本,则需要对所述脚本标识进行特征分析,分析所述脚本标识属于哪一种测试脚本特征,所述预设网站为包括多种测试脚本的网站,可从所述预设网站中查找与所述标本特征匹配的所述目标脚本,并将所述目标脚本从所述预设网站中进行下载,将下载的所述目标脚本添加至所述预设脚本数据库,以供后续测试需求使用。
在本实施例中,所述步骤S10,包括:
获取待测试请求数据,从所述待测试请求数据中获取用户所要访问网站的域名;
在获取的网站域名中添加预设字符集,生成特定字符串数据;
获取用户所要访问网站的网站信息;
根据所述特定字符串数据从所述网站信息中提取标识参数。
需要说明的是,为了实现跨站脚本攻击(Cross Site Scripting,简称XSS)或者结构化查询语言注入(Structured Query Language Inject,简称SqlInject)等类型测试,在用户在输入的请求数据中录入标识参数,获得所述待测试请求数据,通常在网页中的Textbox或者其他能输入数据的地方,输入所述标识参数。所述标识参数用于标识所述待测试请求数据需要进行测试的类型,为了提高所述标识参数的识别度,所述标识参数包括脚本标识和需要进行测试的参数。
在具体实现中,所述待测试请求数据中包括用户需访问的网站域名,可通过对所述待测试请求数据进行分析,提取所述网站域名。所述预设字符集为包括所述脚本标识和需要进行测试的参数,在获取的网站域名中添加预设字符集,所述预设字符集包括所述脚本标识,生成所述特定字符串数据,所述特定字符串数据即为所述标识参数,为了根据所述待测试请求数据提取出所述标识参数,则可通过获取用户所要访问网站的网站信息,通过将所述特定字符串与所述网站信息进行匹配,将匹配到的字符进行提取,获得所述标识参数。
本实施例中,从所述标识参数中提取脚本标识,将所述脚本标识与预设脚本数据库中的脚本进行特征匹配,在所述预设脚本数据库中存在与所述脚本标识匹配的脚本时,将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本,实现自动匹配到用于测试的目标脚本,无需手动添加脚本,提高测试效率。
参照图4,图4为本发明安全测试方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明安全测试方法的第三实施例。
在第三实施例中,所述步骤S40,包括:
步骤S401:接收所述预设服务器返回的测试结果。
应理解的是,将所述测试数据发送至所述预设服务器之后,所述预设服务器根据所述测试数据进行相应数据处理,比如数据查询或者数据增删减等处理,数据处理完成则返回所述测试结果至所述安全测试设备。
步骤S402:对所述测试结果进行数据提取,获得关键变量。
可理解的是,对所述测试结果进行与预处理,删除空字符等无意义的字符,对剩余的字符进行数据提取,获得所述关键变量,所述关键变量为所述测试结果中的核心数据,能够反映所述待测试请求是否被所述预设服务器正常处理,从而获得正确的反馈数据。
步骤S403:判断所述关键变量与预设变量是否一致。
在具体实现中,可首先将未注入所述目标脚本的所述待测试请求数据发送至所述预设服务器,接收所述预设服务器反馈的正常数据,对所述正常数据进行关键特征提取,将提取的关键特征作为预设变量。将注入所述目标脚本的所述测试数据发送至所述预设服务器,接收所述预设服务器返回的所述测试结果,对所述测试结果进行关键特征提取,获得关键变量。将所述预设变量与所述关键变量进行对比,若所述预设变量与所述关键变量一致,则说明所述预设服务器不存在漏洞。
步骤S404:若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞。
若所述预设变量与所述关键变量一致,则说明所述预设服务器不存在漏洞。若所述关键变量与所述预设变量不一致,说明注入所述目标脚本对预设服务器实现了漏洞攻击,导致无法返回正常数据,则判定所述预设服务器存在漏洞。
本实施例中,在所述步骤S404之后,还包括:
从所述测试数据中提取漏洞位置和漏洞原因;
将所述漏洞位置和所述漏洞原因以弹窗形式进行展示。
需要说明的是,所述测试数据包括所述预设服务器执行所述测试数据的运行日志,则可从所述测试数据中的所述运行日志中提取所述漏洞位置和所述漏洞原因。可将所述漏洞位置和所述漏洞原因以弹窗形式进行展示,使得测试结果可视化,提高了测试的便捷性,以便相关技术人员通过弹窗查看所述漏洞位置和所述漏洞原因,以尽快对漏洞进行修复。
本实施例中,接收所述预设服务器返回的测试结果,对所述测试结果进行数据提取,获得关键变量,判断所述关键变量与预设变量是否一致,若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞,实现自动识别漏洞,自动核实结果,提高测试效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有安全测试程序,所述安全测试程序被处理器执行时实现如上文所述的安全测试方法的步骤。
此外,参照图5,本发明实施例还提出一种安全测试装置,所述安全测试装置包括:
提取模块10,用于获取待测试请求数据,从所述待测试请求数据中提取标识参数。
应理解的是,Web客户端包含Web浏览器,用户可以通过点击Web浏览器页面上的链接与Web服务器之间进行信息交互,其中产生的连接即为请求数据。为了实现跨站脚本攻击(Cross Site Scripting,简称XSS)或者结构化查询语言注入(Structured QueryLanguage Inject,简称SqlInject)等类型测试,在用户在输入的请求数据中录入标识参数,获得所述待测试请求数据,通常在网页中的Textbox或者其他能输入数据的地方,输入所述标识参数。具体为,在需要进行安全测试的参数中录入脚本标识,形成所述标识参数。所述标识参数用于标识所述待测试请求数据需要进行测试的类型,为了提高所述标识参数的识别度,所述标识参数包括脚本标识和需要进行测试的参数。
需要说明的是,可从所述待测试请求数据中提取统一资源定位符(UniformResource Locator,简称URL),从所述URL中提取所述标识参数,可以通过查看超文本标记语言(Hyper Text Markup Language,简称HTML)源代码中的FORM标签来辨别是否包括所述标识参数。
获取模块20,用于根据所述标识参数获取对应的目标脚本。
可理解的是,所述标识参数包括脚本标识,以方便区分进行哪一种测试,所述脚本标识能够识别所述待测试请求数据需要进行哪一种测试,可获取各种不同测试类型的特征脚本,并将不同测试类型的测试脚本预先存储至预设脚本数据库中,则可通过所述脚本标识,与所述预设脚本数据库中的测试脚本进行特征匹配,若匹配成功,则可从所述预设脚本数据库中获取匹配成功的脚本作为目标脚本。所述目标脚本包括XSS或者SqlInject测试脚本等,本实施例对此不加以限制。
生成模块30,用于将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器。
需要说明的是,所述目标脚本包括XSS或者SqlInject测试脚本等,将所述目标脚本注入至所述待测试请求数据的输入参数中,生成所述测试数据,也即将包括需要测试的参数的所述标识参数替换为所述目标脚本,实现所述目标脚本的注入,所述测试数据能够检测所述预设服务器是否存在XSS或者SQL漏洞。
举例说明,结构化查询语言(Structured Query Language,简称SQL)注入是一种将SQL代码添加到输入参数中,利用发送至所述预设服务器的输入参数构造可执行的SQL代码,可加入到get请求、post请求、http头信息及cookie中,从而生成所述测试数据。所述预设服务器为接收所述测试数据的服务器,根据所述测试数据查询对应内容进行反馈,包括SQL服务器。还可在网页中的Textbox或者其他能输入数据的地方,注入XSS测试脚本,获得所述测试数据。
判断模块40,用于接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞。
在具体实现中,可首先将未注入所述目标脚本的所述待测试请求数据发送至所述预设服务器,接收所述预设服务器反馈的正常数据,对所述正常数据进行关键特征提取,将提取的关键特征作为预设变量。将注入所述目标脚本的所述测试数据发送至所述预设服务器,接收所述预设服务器返回的所述测试结果,对所述测试结果进行关键特征提取,获得关键变量。将所述预设变量与所述关键变量进行对比,若所述预设变量与所述关键变量一致,则说明所述预设服务器不存在漏洞。
本实施例中,通过获取待测试请求数据,从所述待测试请求数据中提取标识参数,根据所述标识参数获取对应的目标脚本,将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器,实现自动注入测试脚本,可绕过前端校验;接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞,基于信息安全,通过测试数据测试预设服务器是否存在漏洞,测试结果实时可见,提高测试效率和效果。
在一实施例中,所述获取模块20,还用于从所述标识参数中提取脚本标识;将所述脚本标识与预设脚本数据库中的脚本进行特征匹配;在所述预设脚本数据库中存在与所述脚本标识匹配的脚本时,将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本。
在一实施例中,所述安全测试装置还包括:
查找模块,用于在所述预设脚本数据库中不存在与所述脚本标识匹配的脚本时,根据所述脚本标识在预设网站中查找目标脚本;
添加模块,用于从所述预设网站下载所述目标脚本,将所述目标脚本添加至所述预设脚本数据库。
在一实施例中,所述提取模块10,还用于通过预设正则表达式,对所述标识参数进行字符提取,获得脚本标识。
在一实施例中,所述提取模块10,还用于获取待测试请求数据,从所述待测试请求数据中获取用户所要访问网站的域名;在获取的网站域名中添加预设字符集,生成特定字符串数据;获取用户所要访问网站的网站信息;根据所述特定字符串数据从所述网站信息中提取标识参数。
在一实施例中,所述判断模块40,还用于接收所述预设服务器返回的测试结果;对所述测试结果进行数据提取,获得关键变量;判断所述关键变量与预设变量是否一致;若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞。
在一实施例中,所述安全测试装置还包括:
所述提取模块10,还用于从所述测试数据中提取漏洞位置和漏洞原因;
展示模块,用于将所述漏洞位置和所述漏洞原因以弹窗形式进行展示。
本发明所述安全测试装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种安全测试方法,其特征在于,所述安全测试方法包括以下步骤:
获取待测试请求数据,从所述待测试请求数据中提取标识参数;
根据所述标识参数获取对应的目标脚本;
将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器;
接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞;
所述目标脚本包括XSS或者SqlInject测试脚本,所述标识参数用于标识所述待测试请求数据需要进行测试的类型。
2.如权利要求1所述的安全测试方法,其特征在于,所述根据所述标识参数获取对应的目标脚本,包括:
从所述标识参数中提取脚本标识;
将所述脚本标识与预设脚本数据库中的脚本进行特征匹配;
在所述预设脚本数据库中存在与所述脚本标识匹配的脚本时,将所述预设脚本数据库中与所述脚本标识匹配的脚本作为目标脚本。
3.如权利要求2所述的安全测试方法,其特征在于,所述将所述脚本标识与预设脚本数据库中的脚本进行特征匹配之后,所述安全测试方法还包括:
在所述预设脚本数据库中不存在与所述脚本标识匹配的脚本时,根据所述脚本标识在预设网站中查找目标脚本;
从所述预设网站下载所述目标脚本,将所述目标脚本添加至所述预设脚本数据库。
4.如权利要求2所述的安全测试方法,其特征在于,所述从所述标识参数中提取脚本标识,包括:
通过预设正则表达式,对所述标识参数进行字符提取,获得脚本标识。
5.如权利要求1所述的安全测试方法,其特征在于,所述获取待测试请求数据,从所述待测试请求数据中提取标识参数,包括:
获取待测试请求数据,从所述待测试请求数据中获取用户所要访问网站的域名;
在获取的网站域名中添加预设字符集,生成特定字符串数据;
获取用户所要访问网站的网站信息;
根据所述特定字符串数据从所述网站信息中提取标识参数。
6.如权利要求1-5中任一项所述的安全测试方法,其特征在于,所述接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞,包括:
接收所述预设服务器返回的测试结果;
对所述测试结果进行数据提取,获得关键变量;
判断所述关键变量与预设变量是否一致;
若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞。
7.如权利要求6所述的安全测试方法,其特征在于,所述若所述关键变量与所述预设变量不一致,则判定所述预设服务器存在漏洞之后,所述安全测试方法还包括:
从所述测试数据中提取漏洞位置和漏洞原因;
将所述漏洞位置和所述漏洞原因以弹窗形式进行展示。
8.一种安全测试设备,其特征在于,所述安全测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全测试程序,所述安全测试程序被所述处理器执行时实现如权利要求1至7中任一项所述的安全测试方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有安全测试程序,所述安全测试程序被处理器执行时实现如权利要求1至7中任一项所述的安全测试方法的步骤。
10.一种安全测试装置,其特征在于,所述安全测试装置包括:
提取模块,用于获取待测试请求数据,从所述待测试请求数据中提取标识参数;
获取模块,用于根据所述标识参数获取对应的目标脚本;
生成模块,用于将所述目标脚本注入至所述待测试请求数据中,生成测试数据,并将所述测试数据发送至预设服务器;
判断模块,用于接收所述预设服务器返回的测试结果,根据所述测试结果判断所述预设服务器是否存在漏洞;
其中,所述目标脚本包括XSS或者SqlInject测试脚本,所述标识参数用于标识所述待测试请求数据需要进行测试的类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763207.7A CN110460612B (zh) | 2019-08-15 | 2019-08-15 | 安全测试方法、设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763207.7A CN110460612B (zh) | 2019-08-15 | 2019-08-15 | 安全测试方法、设备、存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110460612A CN110460612A (zh) | 2019-11-15 |
CN110460612B true CN110460612B (zh) | 2022-05-20 |
Family
ID=68487521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910763207.7A Active CN110460612B (zh) | 2019-08-15 | 2019-08-15 | 安全测试方法、设备、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460612B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177729B (zh) * | 2019-12-17 | 2023-03-10 | 腾讯云计算(北京)有限责任公司 | 一种程序漏洞的测试方法以及相关装置 |
CN111343188A (zh) * | 2020-03-05 | 2020-06-26 | 深信服科技股份有限公司 | 一种漏洞查找方法、装置、设备和存储介质 |
US11509677B2 (en) * | 2020-05-05 | 2022-11-22 | Uber Technologies, Inc. | Automatically detecting vulnerability remediations and regressions |
CN111901310A (zh) * | 2020-07-06 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种网站安全测试方法、装置、电子设备及存储介质 |
CN112256561A (zh) * | 2020-09-22 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 推送信息的测试方法、装置、设备和存储介质 |
CN113254942A (zh) * | 2021-05-24 | 2021-08-13 | 浙江网商银行股份有限公司 | 数据处理方法、系统及装置 |
CN114205272A (zh) * | 2021-12-08 | 2022-03-18 | 北京恒安嘉新安全技术有限公司 | 通信安全测试方法、装置、设备及存储介质 |
CN114826756A (zh) * | 2022-05-10 | 2022-07-29 | 深信服科技股份有限公司 | 一种web漏洞检测方法及相关组件 |
CN116149983A (zh) * | 2022-11-17 | 2023-05-23 | 中国人民财产保险股份有限公司 | 脚本测试方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8448241B1 (en) * | 2006-02-16 | 2013-05-21 | Oracle America, Inc. | Browser extension for checking website susceptibility to cross site scripting |
US8949990B1 (en) * | 2007-12-21 | 2015-02-03 | Trend Micro Inc. | Script-based XSS vulnerability detection |
CN105282096A (zh) * | 2014-06-18 | 2016-01-27 | 腾讯科技(深圳)有限公司 | Xss 漏洞检测方法和装置 |
CN107392027A (zh) * | 2017-07-13 | 2017-11-24 | 福建中金在线信息科技有限公司 | 一种网站漏洞测试方法、测试系统、电子设备及存储介质 |
CN107948120A (zh) * | 2016-10-12 | 2018-04-20 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN108696481A (zh) * | 2017-04-07 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 漏洞检测方法和装置 |
-
2019
- 2019-08-15 CN CN201910763207.7A patent/CN110460612B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8448241B1 (en) * | 2006-02-16 | 2013-05-21 | Oracle America, Inc. | Browser extension for checking website susceptibility to cross site scripting |
US8949990B1 (en) * | 2007-12-21 | 2015-02-03 | Trend Micro Inc. | Script-based XSS vulnerability detection |
CN105282096A (zh) * | 2014-06-18 | 2016-01-27 | 腾讯科技(深圳)有限公司 | Xss 漏洞检测方法和装置 |
CN107948120A (zh) * | 2016-10-12 | 2018-04-20 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN108696481A (zh) * | 2017-04-07 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 漏洞检测方法和装置 |
CN107392027A (zh) * | 2017-07-13 | 2017-11-24 | 福建中金在线信息科技有限公司 | 一种网站漏洞测试方法、测试系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110460612A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460612B (zh) | 安全测试方法、设备、存储介质及装置 | |
CN110324311B (zh) | 漏洞检测的方法、装置、计算机设备和存储介质 | |
US10904286B1 (en) | Detection of phishing attacks using similarity analysis | |
Fonseca et al. | Testing and comparing web vulnerability scanning tools for SQL injection and XSS attacks | |
CN105069355B (zh) | webshell变形的静态检测方法和装置 | |
CN101964025B (zh) | Xss检测方法和设备 | |
CN103279710B (zh) | Internet信息系统恶意代码的检测方法和系统 | |
CN112906010B (zh) | 一种自动化攻击测试方法及基于此的自动化安全测试方法 | |
CN107786537B (zh) | 一种基于互联网交叉搜索的孤页植入攻击检测方法 | |
CN106022135A (zh) | 一种可动态判断xss漏洞的自动化检测系统 | |
Rocha et al. | Etssdetector: A tool to automatically detect cross-site scripting vulnerabilities | |
CN111783096B (zh) | 检测安全漏洞的方法和装置 | |
KR101902747B1 (ko) | 클라이언트 측 웹 취약점 분석 방법 및 장치 | |
CN108173814B (zh) | 钓鱼网站检测方法、终端设备及存储介质 | |
CN103647678A (zh) | 一种网站漏洞在线验证方法及装置 | |
CN113014549B (zh) | 基于http的恶意流量分类方法及相关设备 | |
CN101364988A (zh) | 一种确定网页安全性的方法和装置 | |
CN109672658B (zh) | Json劫持漏洞的检测方法、装置、设备及存储介质 | |
EP3637292A1 (en) | Determination device, determination method, and determination program | |
CN112597052A (zh) | 接口测试方法、装置及计算机可读存储介质 | |
CN105827664A (zh) | 漏洞检测方法及装置 | |
CN113434400A (zh) | 测试用例的执行方法、装置、计算机设备及存储介质 | |
CN108494728B (zh) | 防止流量劫持的黑名单库创建方法、装置、设备及介质 | |
CN111563260B (zh) | 一种面向安卓应用程序的Web注入代码执行漏洞检测方法及系统 | |
CN118036009A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |