[发明专利]一种针对COOKIE方式的SQL注入漏洞检测方法有效
申请号: | 201310317265.X | 申请日: | 2013-07-25 |
公开(公告)号: | CN103441985A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 冯谷;余勇;张小键;郭骞;石聪聪;鲍兴川;高鹏;蒋诚智;俞庚申;范杰;曹宛恬;李尼格 | 申请(专利权)人: | 国家电网公司;中国电力科学研究院 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 cookie 方式 sql 注入 漏洞 检测 方法 | ||
技术领域
本发明属于网络安全检测技术领域,具体涉及一种针对COOKIE方式的SQL注入漏洞检测方法。
背景技术
近年来,SQL注入式攻击一直如幽灵般困扰着众多企业,成为令企业毛骨悚然的梦魇。每年都有大规模SQL注入式攻击袭掠大量的网站,连苹果公司的网站也未能幸免。这种猖獗的攻击向业界招示其日渐流行的趋势,黑客们也越来越喜欢这种可以渗透进入企业的基础架构和数据库资源的攻击方式。
随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越来越多,但是由于程序员的水平参差不齐相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知的数据,这个就是所谓的SQLinjection。
COOKIE方式下的SQL注入与传统SQL注入相比,更难以被发现,普通简单的检测手段无法查出COOKIE方式下的SQL注入漏洞,很多管理员为了简单快速防止SQL注入,都会使用通用防SQL注入程序,由于很多通用防SQL注入程序对用户提交的POST和GET方式数据进行过滤,但缺少COOKIE数据层的防护,程序员在编写代码时,变量定义不严格,导致程序会接受COOKIE值,COOKIE值可以在本机进行修改,黑客通过在本机构造COOKIE值进行SQL注入。为此,本专利提出一种针对COOKIE方式的SQL注入漏洞检测技术,通过截获COOKIE值,通过程序对页面数据的差异,来判断SQL注入是否存在,防SQL注入程序是否彻底防止SQL注入,解决了COOKIE方式下的SQL注入问题。
在WEB应用常见的脚本语言中,如ASP.NET,PHP或JSP中,一个典型的显示新闻页面的SQL语句可以写成:
id=request(id)
strSQL=select*from news where ID=&id
通常我们通过获取用户提交的变量$id,将其提交给数据库并查看返回的strSQL值,从而显示出正确的新闻。这条查询SQL语句在正常情况下可以显示新闻内容,但当攻击者输入一些精心构造的语句时,我们提交给数据库的SQL语句执行结果就会发现改变。如攻击者输入
$id为:“1and1=1”和“1and1=2”。此时整条查询语句变成了:
strSQL1=“select*from news where ID=1and1=1”
strSQL2=“select*from news where ID=1and1=2”
这两条SQL语句由于条件的不同,页面返回的内容也不同。如果攻击者继续构造其它SQL语句,可查询出数据库管理员表信息,SQL注入漏洞的最大危害,攻击者可以任意构造SQL语句查询数据库内容,可对数据库进行查询,增加,修改,删除等操作。然而SQL注入漏洞在理论上存在于所有应用程序与数据库交互之处,一个中等规模的应用系统可能有上百处交互,由于SQL语句是由用户输入与程序提供的原始语句拼合而成,对于用户的输入,分析防范非常困难。
目前,对SQL注入攻击的防御方式主要有以下几种:
1.手工添加参数过滤语句,对用户输入进行严格过滤。
2.制定一个关键词集合,对于所有的用户输入均与该集合中的每一个关键词匹配,如果用户的输入中存在关键字,则判定为非法输入。
3.使用通用防SQL注入程序,针对ASP、PHP、JSP等不同脚本都有相应的防SQL注入程序。但部分通用防SQL注入程序不能完全防止SQL注入漏洞。
发明内容
为了克服上述现有技术的不足,本发明提供一种针对COOKIE方式的SQL注入漏洞检测方法,主要用于解决防SQL注入,对SQL注入防护不彻底的问题。通过提交COOKIE值形成的SQL注入判断语句,查看程序对COOKIE值的接受情况,通过页面返回数据对比,最终检测出程序COOKIE值的SQL注入问题。
为了实现上述发明目的,本发明采取如下技术方案:
提供一种针对COOKIE方式的SQL注入漏洞检测方法,所述方法包括以下步骤:
步骤1:形成用户COOKIE值的初始SQL注入判断语句;
步骤2:截取并修改用户提交的COOKIE值;
步骤3:通过修改用户COOKIE值生成最终SQL注入判断语句;
步骤4:页面获取最终SQL注入判断语句;
步骤5:返回执行SQL注入判断语句页面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;中国电力科学研究院,未经国家电网公司;中国电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310317265.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种复方杨树花口服液及其制备方法
- 下一篇:半浮棍式钓组钩