一种网站漏洞测试方法、测试系统、电子设备及存储介质与流程

文档序号:13005394阅读:258来源:国知局
一种网站漏洞测试方法、测试系统、电子设备及存储介质与流程

本发明涉及网络技术领域,特别是涉及一种网站漏洞测试方法、测试系统、电子设备及存储介质。



背景技术:

随着对信息实时性要求的不断提高,目前的资讯类网站,通常会采用动态网站。动态网站,是以数据库技术为基础的网站。动态网站的数据库通常基于sql(structuredquerylanguage,结构化查询语言)编写,sql是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

程序员在开发动态网站时,与网站内容关联的数据库中难免出现sql注入漏洞。因此,攻击者有可能利用漏洞进行sql注入攻击。当遭受sql注入攻击时,数据库内容可能会被攻击者篡改、删除,带来安全隐患。



技术实现要素:

本发明实施例的目的在于提供一种网站漏洞测试方法、测试系统、电子设备及存储介质,以实现测试出网站数据库中的sql注入漏洞的目的。具体技术方案如下:

本发明实施例公开了一种网站漏洞测试方法,所述方法包括:

在测试界面中获取待测试网站的网络地址及结构化查询语言sql注入参数;

通过sql测试工具使用所述sql注入参数对所述待测试网站的网络地址进行测试,生成测试结果;

在所述测试界面中显示所述测试结果。

优选地,所述测试界面包括web测试界面;

所述在测试界面中获取待测试网站的网络地址及sql注入参数,包括:

在web测试界面中获取用户输入的待测试网站的网络地址及在web测试界面中选择的sql注入参数。

优选地,所述sql测试工具包括sqlmap。

优选地,所述通过sql测试工具使用所述sql注入参数对所述待测试网站的网络地址进行测试,生成测试结果,包括:

通过sqlmap,对所述待测试网站的网络地址执行所述sql注入参数,生成注入结果;

将所述注入结果通过正则表达式,转化为测试结果,所述测试结果为人工可读的数据。

优选地,所述在所述测试界面中显示所述测试结果之后,所述方法还包括:

将所述测试结果与所述待测试网站数据库中存储的数据进行匹配,判断所述数据库是否存在漏洞。

本发明实施例还公开了一种网站漏洞测试系统,所述系统包括:

获取模块,用于在测试界面中获取待测试网站的网络地址及结构化查询语言sql注入参数;

测试模块,用于通过sql测试工具使用所述sql注入参数对所述待测试网站的网络地址进行测试,生成测试结果;

显示模块,用于在所述测试界面中显示所述测试结果。

优选地,所述测试界面包括web测试界面;

所述获取模块,具体用于:在web测试界面中获取用户输入的待测试网站的网络地址及在web测试界面中选择的sql注入参数。

优选地,所述sql测试工具包括sqlmap。

本发明实施例还公开了一种一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现以下步骤:

在测试界面中获取待测试网站的网络地址及结构化查询语言sql注入参数;

通过sql测试工具使用所述sql注入参数对所述待测试网站的网络地址进行测试,生成测试结果;

在所述测试界面中显示所述测试结果。

本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在测试界面中获取待测试网站的网络地址及结构化查询语言sql注入参数;

通过sql测试工具使用所述sql注入参数对所述待测试网站的网络地址进行测试,生成测试结果;

在所述测试界面中显示所述测试结果。

本发明实施例提供的网站漏洞测试方法、测试系统、电子设备及存储介质,通过为程序开发人员提供测试界面,在测试界面中获取待测试网站的网络地址及sql注入参数,再通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果,能够将测试结果显示在测试界面中,帮助程序员测试出所开发网站是否存在漏洞,从而消除漏洞隐患。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的网站漏洞测试方法的一种流程示意图;

图2为本发明实施例的网站漏洞测试方法的另一种流程示意图;

图3为本发明实施例的网站漏洞测试系统的一种结构示意图;

图4为本发明实施例的网站漏洞测试系统的另一种结构示意图;

图5为本发明实施例的电子设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例一

本发明实施例提供的网站漏洞测试方法的一种具体实施例,参考图1,图1为本发明实施例的网站漏洞测试方法的一种流程示意图,本申请实施例的方法可以应用于服务器,当然也可以应用于其他类型的具有数据处理运算功能的设备,包括以下步骤:

s101、在测试界面中获取待测试网站的网络地址及sql注入参数。

本申请实施例中,可以为程序开发人员提供一个测试界面,用于测试程序开发人员所开发的网站中是否存在sql注入漏洞,该测试界面可以基于python的django(一种pythonweb框架)、html、javascript等语言编写。在该测试界面中,服务器获取由程序开发人员输入的待测试网站的网络地址,以及所要测试的sql注入参数,从而对网站进行测试。测试界面,可以是web测试界面,也可以是其它具有图形化操作显示的界面,或者还可以是以命令行形式进行操作的测试界面。

需要说明的是,sql注入参数中可以是具体的操作命令,也可以是用于获取某一段数据的参数,通过sql注入参数,可以获取该网站的数据库的部分/全部数据,或者获取数据库中用户的账号、密码等有价值的信息。

服务器可以通过web测试界面,获取由程序开发人员输入的待测试网站的网络地址及sql注入参数。或者,web测试界面还可以提供一个sql注入参数的选择列表,程序开发人员选择相应的sql注入参数即可,从而提高输入速度,对于初级程序员,能够降低参数输入难度。

s102、通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果。

服务器接收由程序开发人员输入的sql注入参数后,可以通过sql测试工具,对待测试网站的网络地址进行测试,利用待测试网站的数据库中的漏洞,在待测试网站的数据库中搜索通过sql注入参数所想获取的数据。

具体地例如,服务器接收由程序开发人员输入的sql注入参数sqlmap.py--users–password,用于测试通过漏洞是否可以获取待测试网站数据库的管理员账号,该参数用于搜索数据库中所有的用户和密码。sql测试工具对待测试网站的网络地址进行测试时,如果发现数据库存在漏洞,则可以通过漏洞对待测试网站的网络地址执行sql注入参数,从而搜索数据库中存储的数据是否包含账号和密码,并生成搜索到的结果。

可选地,服务器可以通过python调用sqlmap(一款开源的检测与利用sql注入漏洞的工具),对待测试网站的网络地址执行sql注入参数,生成注入结果。一般地,注入结果通常为命令行形式的数据,注入结果中包含有数字、字母和符号组成的字符串,不便于程序开发人员人工读取。因此,可以通过正则表达式,将注入结果中有用的信息直接转化为能够直观读取的数据。例如,可以通过手机号正则表达式:"^1[3|4|5|7|8][0-9]{9}$",在注入结果中将包含的手机号信息直接转化为手机号。

s103、在测试界面中显示测试结果。

本申请实施例中,测试结果可以通过测试界面显示,因此,程序开发人员可以方便地通过测试界面查看测试结果。可选地,服务器可以直接将测试结果显示在测试界面中,还可以先保存为测试结果文件,再将保存的测试结果文件传输至服务器,从而进行显示。

本发明方法实施例一,通过为程序开发人员提供一个测试界面,在测试界面中获取待测试网站的网络地址及sql注入参数,再通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果,能够将测试结果显示在测试界面中,帮助程序员测试出所开发网站是否存在漏洞,从而消除漏洞隐患,提高网站的安全性。

方法实施例二

本发明实施例提供的网站漏洞测试方法的另一种具体实施例,参考图2,图2为本发明实施例的网站漏洞测试方法的另一种流程示意图,包括:

s201、在测试界面中获取待测试网站的网络地址及sql注入参数。

本步骤与方法实施例一中步骤s101相同,在此不再赘述。

s202、通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果。

本步骤与方法实施例一中步骤s102相同,在此不再赘述。

s203、在测试界面中显示测试结果。

本步骤与方法实施例一中步骤s103相同,在此不再赘述。

s204、将测试结果与待测试网站数据库中存储的数据进行匹配,判断数据库是否存在漏洞。

本申请实施例中,当网站数据库存在sql注入漏洞时,通过漏洞获取的数据可以从测试结果中体现;如果不存在漏洞,即使对待测试网站的网络地址执行sql注入参数,也无法获取有价值的数据或者取得数据库的管理员权限。因此,测试结果中可能包含数据库中有价值的数据,也可能不包含数据库中的数据,这就需要将测试结果与待测试网站数据库中存储的真实数据进行对比、匹配。如果在测试结果中匹配到真实数据,说明测试工具可以通过漏洞获取到有价值的数据,也即,数据库存在漏洞;如果在测试结果中没有匹配到真实数据,说明测试工具无法在数据库中获取有价值的数据,也即,数据库不存在漏洞。

本发明方法实施例二,通过将测试结果与待测试网站数据库中存储的数据进行匹配,判断数据库是否存在漏洞,能够使程序开发人员根据匹配结果,确定所开发的网站是否存在漏洞,从而提高程序开发人员确认所开发网页是否存在漏洞的准确性。

系统实施例一

本发明实施例提供的网站漏洞测试系统的一种具体实施例,与图1所示流程相对应,参考图3,图3为本发明实施例的网站漏洞测试系统的一种结构示意图,包括:

获取模块301,用于在测试界面中获取待测试网站的网络地址及sql注入参数。

测试模块302,用于通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果。

显示模块303,用于在测试界面中显示测试结果。

其中,测试界面包括web测试界面;

获取模块301,具体用于:在web测试界面中获取用户输入的待测试网站的网络地址及在web测试界面中选择的sql注入参数。

其中,测试模块302,具体用于:

通过sqlmap,对待测试网站的网络地址执行sql注入参数,生成注入结果。将注入结果通过正则表达式,转化为测试结果,测试结果为人工可读的数据。

本发明系统实施例一提供的网站漏洞测试系统用于实现本发明方法实施例一提供的网站漏洞测试方法的测试,其实现原理和技术效果类似,此处不再赘述。

系统实施例二

本发明实施例提供的网站漏洞测试系统的另一种具体实施例,与图2所示流程相对应,参考图4,图4为本发明实施例的网站漏洞测试系统的另一种结构示意图,在系统实施例一的基础上,进一步包括:

匹配模块401,用于将测试结果与待测试网站数据库中存储的数据进行匹配,判断数据库是否存在漏洞。

本发明系统实施例二提供的网站漏洞测试系统用于实现本发明方法实施例二提供的网站漏洞测试方法的测试,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

在测试界面中获取待测试网站的网络地址及sql注入参数。

通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果。

在测试界面中显示测试结果。

本发明实施例提供的电子设备,通过为程序开发人员提供一个测试界面,在测试界面中获取待测试网站的网络地址及sql注入参数,再通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果,能够将测试结果显示在测试界面中,帮助程序员测试出所开发网站是否存在漏洞,从而消除漏洞隐患,提高网站的安全性。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,用以执行如下步骤:

在测试界面中获取待测试网站的网络地址及sql注入参数。

通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果。

在测试界面中显示测试结果。

本发明实施例提供的计算机可读存储介质,通过为程序开发人员提供一个测试界面,在测试界面中获取待测试网站的网络地址及sql注入参数,再通过sql测试工具使用sql注入参数对待测试网站的网络地址进行测试,生成测试结果,能够将测试结果显示在测试界面中,帮助程序员测试出所开发网站是否存在漏洞,从而消除漏洞隐患,提高网站的安全性。

对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,本发明实施例的装置、电子设备及存储介质分别是应用上述基于随机博弈理论的动态竞争窗口调整方法的装置、电子设备及存储介质,则上述基于随机博弈理论的动态竞争窗口调整方法的所有实施例均适用于该装置、电子设备及存储介质,且均能达到相同或相似的有益效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1