SQL注入的常见攻击方法及其防范.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  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注入的常见攻击方法及其防范.pdf

lSSN1009-3044 Computer腼帆柏弦andTechnology电奠知识与技术 http://www.dnzs.net.en Tel:+86-551-5690963 V01.6,No.23,August2010,PP.6423-6424,6431 5690964 SQL注入的常见攻击方法及其防范 袁志 (广州大学华软软件学院。广东广州510990) 摘要:矣例介绍SQL注入攻击的几种常见方法,对每种方法的执行原理和关键代码进行说明,通过实例分析总结出SQL注入所依 赖的程序漏洞,提出防范SQL注入的方案。 关键词:SQL注入:网络攻击 中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)23嘲23.田2 SQL注入,是指在数据库应用程序中,用户在向应用程序提交的输人数据中包含SQL查询串,从而获取数据和权限的一种攻击 方式。SQL注入主要针对B/S模式的应用程序。一些注入方法对C/s模式的应用程序也同样生效。 Server2005作为开发环境,构造一个通信录网站,该网站可以向注册用 为说明各种SQL注人方法,使用IIS6.0+ASP.NET+SQL 应用程序用sa作为数据库连接用户。 下面结合对该网站的SQL注入实例来介绍常见的SQL注入方法,在实例分析的基础上,介绍防范SQL注入的措施。 lSQL注入的常见方法 1.1注入“或选择”获取数据 在浏览器与网站服务器交互的过程中。测览器将用户输入的数据传递给服务器.服务器端程序使用传人的数据构成SQL语句 别来说明。 例1:在登录页面的表单内进行SQL注入。绕过登录检测。 用户在登录页面输入用户名和密码后,用Post方式提交给服务器,应用程序将输入数据与数据库中的数据进行匹配.如果有满 =’pwd’。 此时,可以在表单内进行SQL注入,用户名输入Ⅺ【,密码输入醢’Or‘l’=’l,则程序构造的SQL语句变成: 4 SELECT FROM【表名】Where【列名11=’】【x’and【列名2】=’xx’or‘l’=’l’……(1) (1)的前半部分是程序正常情况下的逻辑,带下划线的部分是注入的危险代码,基于(1)的SQL查询。不管数据【表名】、【列名1】、 【列名2】是什么,也不管输入的xx是什么,最后都将通过身份验证。这是一个POST注入实例。 例2:在显示页面的地址栏进行SQL注入。以获取更多数据。 【列名】=’珏’。 构造的SQL语句变成: SELECT+From f表名】Where冽名仁’取’or‘l’=’l’……(2) 实例。 例(1)和例(2)的共同点是通过注入“或选择”去获取更多的数据,其中对于字符串类型的参数值,注入时添加了一些单引号,有些 程序在输入检查中屏蔽了单引号。此时可以使用chad85)代替单引号。 在下文中,为叙述简洁起见,只写出经过SQL注入之后生成SQL语句,注入方式和应用场合基本与例l和例2相同。不再重 复。不失一般性,将程序生成的正常的sQL语句统一写成Select【列名】From【表名】Where【条件】。 1.2利用服务器返回的错误提示获取数据 Web服务器返回的详细错误信息一般用于编程中的调试,但有些程序员在配置网站时,不加处理,使得错误信息公布给终端用 户,利用这些错误信息,可以获取系统的诸多消息,从而为SQL注入提供了便利。 例3:利用服务器返回的错误信息,获取网站连接数据库的用户名。 收稿日期:2010—06—26 作者简介:袁志(1971-),男,系统分析师,研究方向为信息系统开发,网络安全。 本栏目责任编辑:代影 ··-·。···t曩牟与值息蕾曩·-6423 万方数据 and ComputerKnowledgeTechnology电■知识‘i技术 注入后形成的SQL语句如下: SELECT}From f表名1Where【列名1=’anduserO……(3) (3)中,user是SQL nvarchar的值与O比较,先试图

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档