SQL注入攻击及其检测防御技术研究.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL注入攻击及其检测防御技术研究.doc

SQL注入攻击及其检测防御技术研究 关键字: SQL注入攻击及其检测防御技术研究 本文为Word文档,感谢你的关注!   摘要:本文对SQL注入攻击的原理和方法进行了介绍,对如何检测和防御SQL注入攻击进行了研究。网络系统安全问题是一个持续性问题,SQL注入攻击作为网络中最为常见的攻击手段。了解并掌握如何有效防御SQL注入攻击对提升Web网络系统的安全性有着重大的现实指导意义。   关键词: Web安全; SQL注入; 漏洞检测; 攻击防御    TP391   文献标志码:A    2095-2163(2016)06-0087-03   0引言   最近十年来,互联网产业和技术发展蓬勃迅速,社会的各个领域都已经与Web应用建立了密切联系。使用互联网已经成为现代生活方式的不二选择。在全世界,大致可知应有数以亿计的网络服务器都在提供互联网服务。但与此同时,这些网络服务器也无时无刻都会遭遇到各类恶意攻击。   数据库是Web应用系统的基础组成部分,存储着大量关键敏感信息,因此,侵入和攻击数据库,窃取数据信息是网络攻击的主要目的和??施手段。根据相关组织调研数据显示,Web应用十大关键风险排名第一位就是注入攻击。在全世界发生的Web服务系统攻击实践中,大约有60%的行为均可标注为SQL注入攻击。因此,研究SQL注入攻击及检测防御技术对有效控制和降低网络攻击事件发生必将具有重大现实意义及作用。   [BT4]1SQL注入攻击研究   [BT5]1.1SQL注入攻击原理   SQL注入攻击(SQL injection)是利用Web 应用程序的设计漏洞来实现Web应用系统、尤其是数据库的入侵,从而最终达到获取或破坏数据的一种非法策略及手段。通过SQL注入可能会导致如下后果:入侵者恶意进占了数据库服务器、获取数据库高级操作权限、窃取数据库中存储的关键数据信息等。   SQL注入攻击的发起者多是利用Web页面中存在的漏洞,有针对性地构造SQL语句,并蓄意引导数据库服务器执行这些SQL语句,通过截取用户名和密码等重要信息,从而全面获取了数据库控制权限。   SQL注入攻击的可选研究方式主要有:   1)使用注释符和恒等式;   2)使用union语句进行联合查询;   3)使用insert或update语句对数据库数据表内数据进行增加或修改;   4)利用一些内置函数辅助进行攻击等。   在此,将结合前2种方法给出实现过程详述与阐析。   1.1.1使用注释符和恒等式   众所周知,如果要查询数据库的user表中所有条目,那么正确的查询语句为:   SELECT * FROM user WHERE username = user AND password = pawd   利用ASP 实现时,需要连接字符串,而后再加上SQL 命令,最后执行查看返回的结果是否为空。那么SQL 语句嵌套在ASP 代码中的表现形式可描述如下:   var sql = SELECT * FROM user WHERE username = +loginname + AND密码 = +loginpwd + ;(loginname字段与loginpwd字段分别存储了用户在网页上所填入的用户名和密码信息。)   但是当用户在Web页面文本框内输入的内容为:loginname=‘ or 1=1 -- ,而loginpwd 的内容任意输入时,此时在ASP 中的查询语句则演变成:   SELECT * FROM user WHERE username=‘’or 1=1 --AND password = pawd   显然,SQL语句中密码验证部分被“- -”注释符当成了注释语句,同时,由于“1=1”恒等式的存在导致用户名验证部分永远为真。用户名验证和密码验证均发生了失效,这样攻击者就可以登录进入Web应用系统了。   1.1.2使用union语句进行联合查询   利用union关键字查询一些数据库用户信息、数据库版本等信息。还可以用union关键字来获取其他信息。通过页面错误信息提示得到当前数据库名称、用户名等关键信息。而且,还可通过多次的报错测试,逐步获得多种关键数据信息,从而掌握数据库内部结构、数据库用户名等信息,为侵入数据提供实现基础。   [BT5]1.2SQL注入攻击流程   SQL注入攻击的基础流程可概述为:首先,检测Web登录页面中是否有SQL注入漏洞,从而构建SQL注入点;其次,利用已经构建的SQL注入点将本该基于页面获取的验证参数通过SQL语句的语法组合传

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档