[发明专利]一种SQL注入漏洞检测方法无效

专利信息
申请号: 201110153505.8 申请日: 2011-06-09
公开(公告)号: CN102185930A 公开(公告)日: 2011-09-14
发明(设计)人: 金福生;宋挺;戴银涛;牛振东;韩翔宇 申请(专利权)人: 北京理工大学
主分类号: H04L29/08 分类号: H04L29/08;G06F17/30;H04L29/06
代理公司: 暂无信息 代理人: 暂无信息
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种SQL注入漏洞检测方法,包括以下步骤:一、用户输入数据截获;二、无害化输入生成;三、进行SQL词法分析和语法分析,生成SQL语法树,分别是基于用户输入字串的语法树以及基于无害化字串的语法树;四、SQL语法树比对,如果相同认为该组测试字串通过本轮测试;五、结果响应:如果发现了用户有SQL注入的企图,则阻止该HTTP包,否则将该HTTP包放行。本发明分析对象均直接或间接来源于用户输入,这样可以最大限度还原用户本意,降低了误报率。同时基于SQL语法树分析,能够从根本上阻断进行SQL注入的可能,从而提高检测的准确率。
搜索关键词: 一种 sql 注入 漏洞 检测 方法
【主权项】:
一种SQL注入漏洞检测方法,包括以下步骤:一、用户输入数据截获:(1)获取用户向应用程序提交的HTTP包;(2)将用户提交的GET、POST数据按URL、COOKIE、表单分类,并按类型提取用户数据包中提交的所有参数值;(3)将获得的多组参数值按照URL编码和其他HTTP包指定编码方式解码参数值;二、无害化输入生成:(1)将步骤一中得到的n组参数值记为Q1,Q2……Qn,同时生成等量的空白字串Q’1,Q’2……Q’n;(2)按照无害化规则将Qi字串转化为无害字串拷贝至字串Q’i,Qi仍保留原内容(i=1,2,……n);(3)将n组用户输入的原始字串Qi与n组由用户输入生成的无害化字串Q’i归为n组待测试字串组Si(i=1,2,3……n);三、SQL语法树生成:(1)预设SQL语句的注入点模板,将待测试字串组Si(i=1,2,3,……n)按序同SQL语句注入点模板组合,生成包含用户输入的SQL语句和包含无害字串的SQL语句,分别输入SQL词法分析器;(2)将词法分析结果输入SQL语法分析器;(3)将语法分析结果生成两棵语法树,分别是基于用户输入字串Qi的语法树Ti以及基于无害化字串Q’i的语法树T’i;四、SQL语法树比对:(1)将两棵语法树Ti及T’i通过孩子‑兄弟表示法转为等价的二叉树形式BTi及BT’i;(2)对BTi及BT’i进行前序遍历,得到前序序列Fi,F’i,通过字符串比较算法对Fi与F’i进行比较,如发现不相同,则判定用户在进行SQL注入,直接转入步骤五;(3)对BTi和BT’i进行中序遍历,得到中序序列Mi,M’i,通过字符串比较算法对Mi与M’i进行比较,如发现不相同,则判定用户在进行SQL注入,直接转入步骤五,否则认为该组测试字串通过本轮测试;(4)更换组合的SQL语句模板,如已经组合了全部模板,则认为该组测试字串通过本次检测,否则转到步骤三继续测试;(5)将i值加1,如i<=n转入步骤三继续测试,否则转入步骤五;五、结果响应:(1)如果有任意一组测试发现了用户有SQL注入的企图,则阻止该HTTP包,并产生一个警告,按系统配置显示在本地或远程屏幕上,同时记录进入日志文件;(2)如果所有测试均没有发现用户有SQL注入的企图,则将该HTTP包放行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201110153505.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top