发明名称 SQL注入漏洞检测中的注入点提取方法
摘要 本发明公开了一种SQL注入漏洞检测中的注入点提取方法,用于解决现有的Web环境下SQL注入漏洞检测方法准确性差的技术问题。技术方案是首先对下载的网页进行预处理,将网页分为简单网页和复杂网页,对简单网页数据注入点进行提取,对复杂网页数据注入点进行提取,通过构建测试用例,提交测试用例,分析服务响应,建立存在SQL注入漏洞的判定规则。本发明从获取Web应用系统的数据注入点入手,通过构建有针对性的测试用例,使用的测试用例依据数据注入点的类型和参数构成,对字符串、数值、注释和延迟测试,有效应对URL参数和表单提交数据过滤不严造成注入漏洞的测试;通过分析响应,建立的SQL注入漏洞判定规则,提高了测试的准确性。
申请公布号 CN102831345B 申请公布日期 2015.01.28
申请号 CN201210268735.3 申请日期 2012.07.30
申请人 西北工业大学 发明人 蔡皖东;马凯;姚烨
分类号 G06F21/57(2013.01)I 主分类号 G06F21/57(2013.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种SQL注入漏洞检测中的注入点提取方法,其特征在于包括以下步骤:步骤1、根据被测试网站起始URL进行的预处理;分析页面Frame帧结构,下载帧集合中的所有帧页面;下载网页中链接的全部脚本文件;获取并存储测试网站设置的Cookies;步骤2、根据网页HTML源码中的标记对或者关键字区分网页类型;网页HTML源码中不包含“<script></script>”标记对或“javascript:”关键字的网页为简单网页;网页HTML源码中包含“<script></script>”标记对或“javascript:”关键字的网页为复杂网页;步骤3、提取简单网页中的数据输入点;根据网页HTML源码,建立相应的DOM树;遍历DOM树,提取“<form>”元素的属性和全部子元素;根据“<form>”元素及其子元素的属性,建立表单提交向量;遍历DOM树,提取“<a>”元素的属性和全部子元素;对“<a>”元素的“href”属性值进行链接规范化处理和滤除重复后加入到URL列表;步骤4、提取复杂网页中的数据输入点;根据网页HTML源码,建立相应的DOM树;建立并初始化自定义DOM对象和BOM对象;遍历DOM树,提取所有绑定脚本事件的DOM元素;提取所有具有“JavaScript”伪协议的“<a>”元素;初始化脚本引擎,按照DOM树的遍历次序,建立脚本事件的运行队列;执行绑定在DOM元素上的脚本,分析脚本运行后网页DOM的变化;对具有“JavaScript”伪协议的“<a>”元素,提取其运行函数的名称和参数;将函数及参数提交给脚本引擎,分析脚本运行后网页DOM的变化;如果脚本运行后产生跳转链接或HTTP异步请求,则提取出链接地址;对提取出的链接进行整形处理,将整形后的链接加入URL列表;处理完运行队列中的其他脚本,结束复杂页面的数据输入点提取;步骤5、根据数据输入点构建测试用例;使用编程语言和数据库中的注释符、连接符、界定符、数据库中的默认表素材构建测试用例;建立基于字符串、数值、注释语句和延时测试的测试用例;步骤6、提交测试用例,分析服务响应;步骤7、建立存在SQL注入漏洞的判定规则,确认注入点。
地址 710072 陕西省西安市友谊西路127号