sql注入攻击及其检测防御技术研究

sql注入攻击及其检测防御技术研究

ID:12504609

大小:24.00 KB

页数:10页

时间:2018-07-17

sql注入攻击及其检测防御技术研究_第1页
sql注入攻击及其检测防御技术研究_第2页
sql注入攻击及其检测防御技术研究_第3页
sql注入攻击及其检测防御技术研究_第4页
sql注入攻击及其检测防御技术研究_第5页
资源描述:

《sql注入攻击及其检测防御技术研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQL注入攻击及其检测防御技术研究关键字:SQL注入攻击及其检测防御技术研究本文为Word文档,感谢你的关注!  摘要:本文对SQL注入攻击的原理和方法进行了介绍,对如何检测和防御SQL注入攻击进行了研究。网络系统安全问题是一个持续性问题,SQL注入攻击作为网络中最为常见的攻击手段。了解并掌握如何有效防御SQL注入攻击对提升Web网络系统的安全性有着重大的现实指导意义。  关键词:Web安全;SQL注入;漏洞检测;攻击防御  TP391  文献标志码:A  2095-2163(2016)06-0087-03  0引言  最近十年来,互联网产业和技术发展蓬勃迅速,社

2、会的各个领域都已经与Web应用建立了密切联系。使用互联网已经成为现代生活方式的不二选择。在全世界,大致可知应有数以亿计的网络服务器都在提供互联网服务。但与此同时,这些网络服务器也无时无刻都会遭遇到各类恶意攻击。  数据库是Web应用系统的基础组成部分,存储着大量关键敏感信息,因此,侵入和攻击数据库,窃取数据信息是网络攻击的主要目的和��施手段。根据相关组织调研数据显示,Web应用十大关键风险排名第一位就是注入攻击。在全世界发生的Web服务系统攻击实践中,大约有60%的行为均可标注为SQL注入攻击。因此,研究SQL注入攻击及检测防御技术对有效控制和降低网络攻击事件发

3、生必将具有重大现实意义及作用。  [BT4]1SQL注入攻击研究  [BT5]1.1SQL注入攻击原理  SQL注入攻击(SQLinjection)是利用Web应用程序的设计漏洞来实现Web应用系统、尤其是数据库的入侵,从而最终达到获取或破坏数据的一种非法策略及手段。通过SQL注入可能会导致如下后果:入侵者恶意进占了数据库服务器、获取数据库高级操作权限、窃取数据库中存储的关键数据信息等。  SQL注入攻击的发起者多是利用Web页面中存在的漏洞,有针对性地构造SQL语句,并蓄意引导数据库服务器执行这些SQL语句,通过截取用户名和密码等重要信息,从而全面获取了数据库控

4、制权限。  SQL注入攻击的可选研究方式主要有:  1)使用注释符和恒等式;  2)使用union语句进行联合查询;  3)使用insert或update语句对数据库数据表内数据进行增加或修改;  4)利用一些内置函数辅助进行攻击等。  在此,将结合前2种方法给出实现过程详述与阐析。  1.1.1使用注释符和恒等式  众所周知,如果要查询数据库的user表中所有条目,那么正确的查询语句为:  SELECT*FROMuserWHEREusername='user'ANDpassword='pawd'  利用ASP实现时,需要连接字符串,而后再加上SQL命令,最后执行

5、查看返回的结果是否为空。那么SQL语句嵌套在ASP代码中的表现形式可描述如下:  varsql="SELECT*FROMuserWHEREusername='"+loginname+"'AND密码='"+loginpwd+"'";(loginname字段与loginpwd字段分别存储了用户在网页上所填入的用户名和密码信息。)  但是当用户在Web页面文本框内输入的内容为:loginname=‘or1=1--,而loginpwd的内容任意输入时,此时在ASP中的查询语句则演变成:  SELECT*FROMuserWHEREusername=‘’or1=1--ANDp

6、assword='pawd'  显然,SQL语句中密码验证部分被“--”注释符当成了注释语句,同时,由于“1=1”恒等式的存在导致用户名验证部分永远为真。用户名验证和密码验证均发生了失效,这样攻击者就可以登录进入Web应用系统了。  1.1.2使用union语句进行联合查询  利用union关键字查询一些数据库用户信息、数据库版本等信息。还可以用union关键字来获取其他信息。通过页面错误信息提示得到当前数据库名称、用户名等关键信息。而且,还可通过多次的报错测试,逐步获得多种关键数据信息,从而掌握数据库内部结构、数据库用户名等信息,为侵入数据提供实现基础。  [B

7、T5]1.2SQL注入攻击流程  SQL注入攻击的基础流程可概述为:首先,检测Web登录页面中是否有SQL注入漏洞,从而构建SQL注入点;其次,利用已经构建的SQL注入点将本该基于页面获取的验证参数通过SQL语句的语法组合传递给数据库;然后,经过多次试探,陆续可得到数据库类型、数据库结构、数据表信息以及数据库账号等;最后,则根据已知信息构造并执行SQL语句,达到侵入数据库,获取数据或实施数据更改等目的。研究设计步骤可展示如下:  [HT5”H][ST5”HZ]步骤1[HT5”SS][ST5”BZ]判断SQL注入点。通常使用的SQL注入点判断方法可分述为如下2种: 

8、 1)把“

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

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

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