文档介绍:基于渗透测试的SQL注入漏洞检测
***通信集团广丙有限公司梧州分公司543002
摘要:正在进一步的普及,计算机网络技术也在不断的快速发
展,Web技术已经被广泛的应用。基于数据库架构和Web技术的应用系统己慢慢成为主流,在企业外部和内部的业务系统中被广泛应用。然而,Web应用系统所面临的安全风险也在与日剧增。
关键字:Web安全;SQL注入;渗透测试
Web安全渗透测试技术是针对Web应用积极防范的一种技术。此技术在应用遭受到攻击之前,通过模拟黑客攻击Web应用的方式,探测目标系统。而在各种Web应用攻击手段当中,SQL注入攻击是最易于实施的也是最常用的方法。所以,做好针对SQL注入攻击的防范和入侵检测工作可以对整个信息基础设施的安全起到保证作用,是Web应用系统能够安全应用的关键,也作为网络安全方面所要研宄的一项重要课题。
一、SQL注入检测技术的研究
检测SQL的注入攻击,可以分成两种类型:系统运行时的动态检测和攻击发生前的漏洞检测。此处主要写检测的过程,对相关漏洞检测方法进行介绍。
1、传统的漏洞检测方法
传统的漏洞检测方法主要由敏感信息测试、网络爬虫和初步测试组成的。
首先利用网络爬虫搜索目标网站的链接得到网站的URL列表,然后对它进行敏感信息测试,了解目标网站数据库类型和服务器类型,最后在初步进行测试, 来确定网站是否有注入漏洞的存在。
在SQL注入攻击还没有被人们足够重视的时,传统的测试方法基木上可以对大多数网站进行SQL注入漏洞的检测。对于重视网络层防护而忽视应用层防护的Web系统来说,传统的测试方法通常都是有效果的。
敏感信息在测试的过程中,相关描述如下:
步骤1,从测试的语句库中读入,敏感信息测试的脚本。
步骤2,提交敏感信息测试脚本和包含待测URL的HTTP请求。
步骤3,对服务器返冋信息进行分析,对相关敏感信息进行确认。
而初步测试的过程描述就是按照下面如下进行的:
步骤1,从测试语句库中读入用于初步测试的测试脚本。
步骤2,提交包含待测URL和初级测试脚本一(and 1=1)的HTTP请求。
步骤3,提交包含待测URL和初级测试脚本二(and 1=2)的HTTP请求。
步骤4,分析服务器返冋信息,若步骤2返冋结果正常,继续步骤3;若步骤 3返冋结果异常,则说明待测系统存在SQL注入漏洞。反之还需进行深度测试作进一步的确认。
2、 传统检测方法存在的问题
分析传统SQL注入漏洞的检测方法,关键冇下面几个问题的存在:第一, 不规范的检测过程。检测SQL注入漏洞的工具奋很多,然而只是把一些测试用例简单的进行组合,从表面上来看,测试用例非常丰富,但没什么代表性。这种检测方法冇着比较人的盲0性,在漏洞没冇检测出来的情况下,所冇的测试用例都要尝试,其结果会导致检测效率低,工作量大。第二,测试用例比较简单。有一部分检测 SQL注入漏洞的工具,检测过程虽然比较规范,但在测试的用例上却相对简单。对于Web系统加入防过滤机制的这种情况,没有全面考虑,一般是对其进行简单的变换或是直接使用经典的测试方法,其结果会有一定漏报率的产生。第三,对漏洞形成的原因不能及吋分析。传统的漏洞检测方法只能简单地对0标网站扫描,扫描结束之后得到一个存在SQL注入漏洞的URL列表,但测试者对漏洞形成的原因并不能及吋的分析