欢迎来到天天文库
浏览记录
ID:12504609
大小:24.00 KB
页数:10页
时间:2018-07-17
《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)把“
此文档下载收益归作者所有