基于渗透测试的sql注入漏洞检测

基于渗透测试的sql注入漏洞检测

ID:20701816

大小:48.00 KB

页数:5页

时间:2018-10-15

基于渗透测试的sql注入漏洞检测_第1页
基于渗透测试的sql注入漏洞检测_第2页
基于渗透测试的sql注入漏洞检测_第3页
基于渗透测试的sql注入漏洞检测_第4页
基于渗透测试的sql注入漏洞检测_第5页
资源描述:

《基于渗透测试的sql注入漏洞检测》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于渗透测试的SQL注入漏洞检测中国移动通信集团广丙有限公司梧州分公司543002摘要:Internet正在进一步的普及,计算机网络技术也在不断的快速发展,Web技术已经被广泛的应用。基于数据库架构和Web技术的应用系统己慢慢成为主流,在企业外部和内部的业务系统中被广泛应用。然而,Web应用系统所面临的安全风险也在与日剧增。关键字:Web安全;SQL注入;渗透测试Web安全渗透测试技术是针对Web应用积极防范的一种技术。此技术在应用遭受到攻击之前,通过模拟黑客攻击Web应用的方式,探测目标系统。而在各种Web应用攻击手段当中,SQL注入攻击是最易于实施的也是最常用的方法。所以

2、,做好针对SQL注入攻击的防范和入侵检测工作可以对整个信息基础设施的安全起到保证作用,是Web应用系统能够安全应用的关键,也作为网络安全方面所要研宄的一项重要课题。一、SQL注入检测技术的研究检测SQL的注入攻击,可以分成两种类型:系统运行时的动态检测和攻击发生前的漏洞检测。此处主要写检测的过程,对相关漏洞检测方法进行介绍。1、传统的漏洞检测方法传统的漏洞检测方法主要由敏感信息测试、网络爬虫和初步测试组成的。首先利用网络爬虫搜索目标网站的链接得到网站的URL列表,然后对它进行敏感信息测试,了解目标网站数据库类型和服务器类型,最后在初步进行测试,来确定网站是否有注入漏洞的存在。

3、在SQL注入攻击还没有被人们足够重视的时,传统的测试方法基木上可以对大多数网站进行SQL注入漏洞的检测。对于重视网络层防护而忽视应用层防护的Web系统来说,传统的测试方法通常都是有效果的。敏感信息在测试的过程中,相关描述如下:步骤1,从测试的语句库中读入,敏感信息测试的脚本。步骤2,提交敏感信息测试脚本和包含待测URL的HTTP请求。步骤3,对服务器返冋信息进行分析,对相关敏感信息进行确认。而初步测试的过程描述就是按照下面如下进行的:步骤1,从测试语句库中读入用于初步测试的测试脚本。步骤2,提交包含待测URL和初级测试脚本一(and1=1)的HTTP请求。步骤3,提交包含待测

4、URL和初级测试脚本二(and1=2)的HTTP请求。步骤4,分析服务器返冋信息,若步骤2返冋结果正常,继续步骤3;若步骤3返冋结果异常,则说明待测系统存在SQL注入漏洞。反之还需进行深度测试作进一步的确认。2、传统检测方法存在的问题分析传统SQL注入漏洞的检测方法,关键冇下面几个问题的存在:第一,不规范的检测过程。检测SQL注入漏洞的工具奋很多,然而只是把一些测试用例简单的进行组合,从表面上来看,测试用例非常丰富,但没什么代表性。这种检测方法冇着比较人的盲0性,在漏洞没冇检测出来的情况下,所冇的测试用例都要尝试,其结果会导致检测效率低,工作量大。第二,测试用例比较简单。有一

5、部分检测SQL注入漏洞的工具,检测过程虽然比较规范,但在测试的用例上却相对简单。对于Web系统加入防过滤机制的这种情况,没有全面考虑,一般是对其进行简单的变换或是直接使用经典的测试方法,其结果会有一定漏报率的产生。第三,对漏洞形成的原因不能及吋分析。传统的漏洞检测方法只能简单地对0标网站扫描,扫描结束之后得到一个存在SQL注入漏洞的URL列表,但测试者对漏洞形成的原因并不能及吋的分析。3、基于等级划分的漏洞检测方法在目前的Web应用系统中,开发人员会采取SQL注入过滤防御机制,依据漏洞检测的困难程度,可将Web应用系统中的SQL注入漏洞划分为三个级别。(1)初级漏洞的划分We

6、b应用程序对于用户输入数据没有进行任何的过滤或验证,只是简单的按照用户的输入构造动态的SQL语句。一般比较常见的构造参数包括奋’”,“””和经典的测试方法:“and1=1”和“and1=2”。比如某论坛用户登录ASP代码如下所示:stringsql="Select*fromUserlnfowhereuserName=,+user_input.Text+landPassword='+pass」nput.Text+’";当攻击者在用户名的文本框输入“abc1or1=1--”吋,因为在SQL语法中是注释符,后面的全部语句都会被注释掉,类似"1=1”这样的恒等式使得SQL

7、语句中的Where子句永真,所以攻击者能够顺利通过身份验证。(1)中级漏洞的划分Web应用程序对于SQL—些特殊字符和语法关键字进行了过滤。一般比较常见的SQL关键字有:"and'“select”,"insert","delete'"update"等等,而特殊字符有“”等攻击者一般能够使用下面几种方式来绕过Web应用程序的过滤规则。主要方式有下面几种:第一,变体关键字的使用。假如说应用程序只是对SQL语法关键字的原型(即全部大写和全部小写的两种情况)简单限制,使用关键字不同变体组合来替代它的原型,例如我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。