一种针对COOKIE方式的SQL注入漏洞检测方法技术

技术编号:9436312 阅读:197 留言:0更新日期:2013-12-12 01:43
本发明专利技术提供一种针对COOKIE方式的SQL注入漏洞检测方法,包括以下步骤:形成用户COOKIE值的初始SQL注入判断语句;截取并修改用户提交的COOKIE值;通过修改用户COOKIE值生成最终SQL注入判断语句;页面获取最终SQL注入判断语句;返回执行SQL注入判断语句页面。本发明专利技术主要用于解决防SQL注入,对SQL注入防护不彻底的问题。通过提交COOKIE值形成的SQL注入判断语句,查看程序对COOKIE值的接受情况,通过页面返回数据对比,最终检测出程序COOKIE值的SQL注入问题。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种针对COOKIE方式的SQL注入漏洞检测方法,包括以下步骤:形成用户COOKIE值的初始SQL注入判断语句;截取并修改用户提交的COOKIE值;通过修改用户COOKIE值生成最终SQL注入判断语句;页面获取最终SQL注入判断语句;返回执行SQL注入判断语句页面。本专利技术主要用于解决防SQL注入,对SQL注入防护不彻底的问题。通过提交COOKIE值形成的SQL注入判断语句,查看程序对COOKIE值的接受情况,通过页面返回数据对比,最终检测出程序COOKIE值的SQL注入问题。【专利说明】—种针对COOKIE方式的SQL注入漏洞检测方法
本专利技术属于网络安全检测
,具体涉及一种针对COOKIE方式的SQL注入漏洞检测方法。
技术介绍
近年来,SQL注入式攻击一直如幽灵般困扰着众多企业,成为令企业毛骨悚然的梦魇。每年都有大规模SQL注入式攻击袭掠大量的网站,连苹果公司的网站也未能幸免。这种猖獗的攻击向业界招示其日渐流行的趋势,黑客们也越来越喜欢这种可以渗透进入企业的基础架构和数据库资源的攻击方式。随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越来越多,但是由于程序员的水平参差不齐相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知的数据,这个就是所谓的SQLinjection0COOKIE方式下的SQL注入与传统SQL注入相比,更难以被发现,普通简单的检测手段无法查出C00KIE方式下的SQL注入漏洞,很多管理员为了简单快速防止SQL注入,都会使用通用防SQL注入程序,由于很多通用防SQL注入程序对用户提交的POST和GET方式数据进行过滤,但缺少C00KIE数据层的防护,程序员在编写代码时,变量定义不严格,导致程序会接受C00KIE值,C00KIE值可以在本机进行修改,黑客通过在本机构造C00KIE值进行SQL注入。为此,本专利提出一种针对C00KIE方式的SQL注入漏洞检测技术,通过截获C00KIE值,通过程序对页面数据的差异,来判断SQL注入是否存在,防SQL注入程序是否彻底防止SQL注入,解决了 C00KIE方式下的SQL注入问题。在WEB应用常见的脚本语言中,如ASP.NET,PHP或JSP中,一个典型的显示新闻页面的SQL语句可以写成:id=request("id")strSQL="select*from news where ID="&id通常我们通过获取用户提交的变量$id,将其提交给数据库并查看返回的strSQL值,从而显示出正确的新闻。这条查询SQL语句在正常情况下可以显示新闻内容,但当攻击者输入一些精心构造的语句时,我们提交给数据库的SQL语句执行结果就会发现改变。如攻击者输入$id为:“landl=l”和“landl=2”。此时整条查询语句变成了:strSQLl = “select*from news where ID=Iandl=I strSQL2 = “select*from news where ID=landl=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值的接受情况,通过页面返回数据对比,最终检测出程序C00KIE值的SQL注入问题。为了实现上述专利技术目的,本专利技术采取如下技术方案:提供一种针对C00KIE方式的SQL注入漏洞检测方法,所述方法包括以下步骤:步骤1:形成用户C00KIE值的初始SQL注入判断语句;步骤2:截取并修改用户提交的C00KIE值;步骤3:通过修改用户C00KIE值生成最终SQL注入判断语句;步骤4:页面获取最终SQL注入判断语句;步骤5:返回执行SQL注入判断语句页面。所述步骤I中,使用javascript:alert方式提交对某变量的判断值,形成初始SQL注入判断语句,通过C00KIE编码对语句进行修改,最终以javascript:alert方式配合C00KIE编码下的escape函数提交C00KIE值。所述步骤2包括以下步骤:步骤2-1:对用户提交的C00KIE值进行查看并修改,使C00KIE值的格式和语法正确,最终在C00KIE值中形成验证某变量的初始SQL注入判断语句;步骤2-2:通过 javascript:alert O 函数提交 C00KIE 值,使用 document, cookie方法,配合escape函数对C00KIE值据进行编码处理;并对javascript:alert O函数document, cookie方法提交的数据进行截取,对截取的数据进行验证,如果数据正确,再进行提交处理。所述步骤3中,截取新闻页面的访问数据,查看生成的最终SQL注入判断语句,查看变量是否接受了用户的C00KIE值;通过访问未带参数的新闻页面,查看新闻页面数据值,判断新闻页面是否接受了提交的C00KIE值。所述步骤4中,新闻页面变量通过C00KIE值获取最终SQL注入判断语句,通过对未带参数的新闻页面进行访问,通过访问结果查看C00KIE值中的SQL注入判断语句是否进入了新闻页面。所述步骤5中,访问过滤掉参数的新闻页面,提交SQLl和SQL2后,访问无参数的新闻页面,两个新闻页面返回的数据进行对比,若两个新闻页面数据有差异,则表明存在COOKIE方式的SQLL注入漏洞,若两个新闻页面数据相同,则表明不存在COOKIE方式的SQL注入漏洞。与现有技术相比,本专利技术的有益效果在于:本专利技术提供的针对COOKIE方式的SQL注入漏洞检测方法,主要用于解决防SQL注入,对SQL注入防护不彻底的问题。通过提交COOKIE值形成的SQL注入判断语句,查看程序对COOKIE值的接受情况,通过页面返回数据对比,最终检测出程序COOKIE值的SQL注入问题。【专利附图】【附图说明】图1是针对COOKIE方式的SQL注入漏洞检测方法流程图;图2是用户提交C00KIE值截取到的SQL注入判断语句流程图。【具体实施方式】下面结合附图对本专利技术作进一步详细说明。如图1和图2,提供一种针对C00KIE方式本文档来自技高网
...

【技术保护点】
一种针对COOKIE方式的SQL注入漏洞检测方法,其特征在于:所述方法包括以下步骤:步骤1:形成用户COOKIE值的初始SQL注入判断语句;步骤2:截取并修改用户提交的COOKIE值;步骤3:通过修改用户COOKIE值生成最终SQL注入判断语句;步骤4:页面获取最终SQL注入判断语句;步骤5:返回执行SQL注入判断语句页面。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯谷余勇张小键郭骞石聪聪鲍兴川高鹏蒋诚智俞庚申范杰曹宛恬李尼格
申请(专利权)人:国家电网公司中国电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1