sql注入的攻击分析与防范

sql注入的攻击分析与防范

ID:43984648

大小:36.55 KB

页数:7页

时间:2019-10-17

sql注入的攻击分析与防范_第1页
sql注入的攻击分析与防范_第2页
sql注入的攻击分析与防范_第3页
sql注入的攻击分析与防范_第4页
sql注入的攻击分析与防范_第5页
资源描述:

《sql注入的攻击分析与防范》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQL注入的攻击分析与防范摘要:在Web系统屮,SQL注入是一种经常出现的漏洞。攻击者利用此漏洞通过SQL语句对数据库进行直接地访问,严重威胁系统安全。本文山SQL注入原理着手,对产生SQL注入原因以及常见的SQL注入攻击方式进行了探究,并提出有效防范SQL注入攻击的对策,旨在为一些Web应用在防注入方面提供指导和帮助。Abstract:SQLinjectionisacommonloopholeinWebsystem,theattackercandirectlyaccessdatabasethroughtheSQLstatement,usingthis

2、loophole,whichcausedseriouslyhiddentroubleofsafety.ThispaperanalyzedtheprincipleofSQLinjectionfirstly,andthenmadeexplorationonSQLinjectionreasonsandcommonwaysofSQLinjectionattacks,finally,putforwardthecountermeasurestoSQLinjectionattack,soastoprovideguidanceforSQLinjectionpreven

3、tioninWebapplicationssystem.关键词:SQL注入;原理;防范Keywords:SQLinjection;principle;prevention中图分类号:TP30文献标识码:A文章编号:1006-4311(2013)07-0211-021SQL注入的原理以及产生SQL注入的原因1.1SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。1.2根据相关技术原理,SQ

4、L注入可以分为平台层注入和代码层注入。前者山不安全的数据库配置或数据库平台的漏洞所致;后者主要是山于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。1SQL注入技术探讨鉴于某些应用存在SQL注入漏洞,攻击者能够利用这些漏洞窃取用户数据。笔者参照各类注入方式,对以下注入技术进行详细的说明:2.1强制产牛错误。对数据库类型、版本等信息进行识别是此类型攻击的动机所在。它的目的是收集

5、数据库的类型、结构等信息为其他类型的攻击做准备,可谓是攻击的一个预备步骤。利用应用程序服务器返回的默认错误信息而取得漏洞信息。2.2采用非主流通道技术。除HTTP响应外,能通过通道获取数据,然而,通道大都依赖与数据库支持的功能而存在,所以这项技术不完全适用于所有的数据库平台。SQL注入的非主流通道主要有E-ma订、DNS以及数据库连接,基本思想为:先对SQL查询打包,然后借助非主流通道将信息反馈至攻击者。2.3使用特殊的字符。不同的SQL数据库有许多不同是特殊字符和变量,通过某些配置不安全或过滤不细致的应用系统能够取得某些有用的信息,从而对进一步攻击提

6、供方向。2.4使用条件语句。此方式具体可分为基于内容、基于时间、基于错误三种形式。一般在经过常规访问后加上条件语句,根据信息反馈来判定被攻击的目标。2.5利用存储过程。通过某些标准存储过程,数据库厂商对数据库的功能进行扩展的同时,系统也可与进行交互。部分存储过程可以让用户自行定义。通过其他类型的攻击收集到数据库的类型、结构等信息后,便能够建构执行存储过程的命令。这种攻击类型往往能达到远程命令执行、特权扩张、拒绝服务的目的。2.6避开输入过滤技术。虽然对于通常的编码都可利用某些过滤技术进行SQL注入防范,但是鉴于此种情况下也有许多方法避开过滤,一般可达到

7、此目的的技术手段包括SQL注释和动态查询的使用,利用截断,URL编码与空字节的使用,人小写变种的使用以及嵌套剥离后的表达式等等。借助于此些手段,输入构思后的查询可以避开输入过滤,从而攻击者能获得想要的查询结果。2.7推断技术。能够明确数据库模式、提取数据以及识别可注入参数。此种方式的攻击通过网站对用户输入的反馈信息,对可注入参数、数据库模式推断,这种攻击构造的查询执行后获得的答案只有真、假两种。基于推断的注入方式主要分为时间测定注入与盲注入两种。前者是在注入语句里加入语句诸如“waitfor100”,按照此查询结果出现的时间对注入能否成功和数据值范围的

8、推导进行判定;后者主要是"and1二1”、"and1=2"两种经典注入方法。这些方式均是对一些

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

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

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