[发明专利]一种SQL注入漏洞测试与验证方法及系统有效
申请号: | 201310439957.1 | 申请日: | 2013-09-24 |
公开(公告)号: | CN103530564A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 孙歆;王红凯;李景;陈华智;韩嘉佳;周辉;卢新岱;王保卫 | 申请(专利权)人: | 国家电网公司;国网浙江省电力公司电力科学研究院;国网浙江省电力公司信息通信分公司;杭州辰青和业科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 注入 漏洞 测试 验证 方法 系统 | ||
技术领域
本发明涉及计算机Web服务应用技术领域,更具体的说,是涉及一种SQL注入漏洞测试与验证方法及系统。
背景技术
Web网站是互联网最基础的组成部分,如今的Web网站都采用动态交互式网页技术,并且大多使用数据库来保存网站的数据。数据库驱动的Web网站通常包含三层:表示层、逻辑层和存储层。表示层用于页面展现,逻辑层实现具体的业务功能,存储层实现数据的存储。HTTP请求通过表现层传入逻辑层,逻辑层根据需要利用SQL命令向存储层数据库请求数据,并形成HTTP响应返回至表现层。HTTP请求中包含用户输入的参数,这些参数会以GET、COOKIE、POST等形式传输,如果这些参数传递给SQL查询语句,开发人员又没有对它们进行验证和过滤,则将导致SQL注入漏洞。
SQL注入漏洞是一种严重的Web安全漏洞,该漏洞主要是由于程序员在编写程序的时候没有对用户输入的参数进行有效性验证和过滤,导致恶意攻击者可将SQL命令注入到参数中,使得服务器执行这些SQL命令。SQL注入漏洞风险程度取决于攻击者能够执行什么SQL命令,与之有关的有两个因素,一是数据库类型,二是数据库用户的权限。通常来讲SQL注入漏洞将导致数据库数据泄露、数据被篡改,如果数据库允许执行操作系统命令,则可能导致整个数据库服务器被入侵。所以作为一个Web应用程序来说,SQL注入是必须要防范的安全问题。
虽说SQL注入漏洞至今已有十余年时间了,但如今的Web网站仍然存在大量的SQL漏洞,同时,对SQL注入漏洞的检测手段和水平也在不断提升,不少Web安全扫描类工具能够快速的检测出包括SQL注入漏洞在内的Web漏洞,自动化程度较高,但是通常漏报率较高。
因此,提供一种SQL注入漏洞测试与验证方法及系统,在保证自动化程度的前提下,降低漏报率,是本领域技术人员亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种SQL注入漏洞测试与验证方法及系统,以克服现有技术中由于利用爬虫技术识别被测链接,容易导致部分隐蔽的交互无法被识别导致漏报率较高的问题。
为实现上述目的,本发明提供如下技术方案:
一种SQL注入漏洞测试与验证方法,基于JavaEE的WebApp框架,该方法包括:
S1、接收SQL注入管理员发送的SQL注入扫描指令,所述SQL注入扫描指令为URL或请求信息;
S2、对指定Web应用服务器的Web应用进行SQL注入扫描;
S3、根据所述SQL注入扫描指令创建新的线程,并记录用户信息和所述SQL注入管理员的请求信息到数据库服务器中;
S4、对所述URL进行解析或根据已知的HTTP request,提取参数和注入点,根据所述SQL注入管理员的需求,选择请求模式、请求协议及对应数据库服务器;
S5、载入绕过技术配置、规则池中的静态规则和动态规则数据;
S6、对所述静态规则和动态规则数据进行预处理,并进行线程分配,由扫描管理器进行SQL注入扫描,得到扫描结果;
S7、将所述扫描结果记录,并管理和记录在扫描过程中全程扫描情况。
优选的,还包括:
S8、根据配置好的通知方式,将所述扫描结果和所述全程扫描情况由JMS与短信服务管理器发送email或短信进行显示。
其中,所述步骤S3具体包括:
S31、建立所述线程的ID与宿主用户的对应关系得到对应表;
S32、当所述宿主用户发出暂停或终止命令时,根据所述对应表中记录的所述对应关系得到对应的线程,执行所述线程暂停或终止命令。
其中,所述步骤S4具体包括:
S41、分析预验证的所述URL,调用URL参数分析子功能模块对所述URL进行解析;
S42、提取所述URL中不带参数的URL以及URL后面跟随的所有参数列表,并提取所述URL中的cookie信息;
S43、将所述不带参数的URL、所述参数列表以及所述cookie信息存储至专用存储数据库服务器中。
其中,所述步骤S8具体包括:
S81、从所述数据库服务器中读取当前线程的所述扫描结果,将所述扫描结果组合汇总成SQL注入汇总报告文件;
S82、从所述汇总报告文件配置项中判断是否有汇报配置信息,如果无所述汇报配置信息,则结束所述线程;
S83、如果有所述汇报配置信息,则确定配置形式,所述配置形式为短信方式或邮件方式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网浙江省电力公司电力科学研究院;国网浙江省电力公司信息通信分公司;杭州辰青和业科技有限公司,未经国家电网公司;国网浙江省电力公司电力科学研究院;国网浙江省电力公司信息通信分公司;杭州辰青和业科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310439957.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:建立无线连接的方法及无线中继器
- 下一篇:一种网络接入的方法和设备