SQL注入防护.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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注入漏洞对网站的安全构成严重威胁,然而SQL注入漏洞又具有较高的普遍性。因此查找SQL注入漏洞并了解其入侵方式,及时堵塞网站安全漏洞,是我们网站管理员必须要掌握的。本文以一款SQL注入工具入侵原理入手,讲解了其入侵步骤,并给出了防范措施。   【关键词】SQL注入;入侵;漏洞;防范   0 引言   SQL注入攻击指的是攻击者通过构建特殊的输入作为参数传入Web应用程序(一般通过网页地址栏或留言板等具有提交功能的栏目输入),应用程序接收后错误的将攻击者的输入作为原始SQL查询语句的一部分执行,导致改变了程序原始的SQL查询逻辑,额外的执行了攻击者构造的SQL查询语句。攻击者根据程序返回的结果,获得想得知的某些数据(譬如后台管理账户、密码),进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使信息泄露。   SQL注入攻击是黑客对网站进行攻击、渗透的常用手段,其风险性极高,并且因为SQL注入入侵跟普通的WEB页面访问没什么区别,所以防火墙与杀毒软件对SQL注入是没办法防范的。由于程序员的水平及经验参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,导致存在SQL注入漏洞的网站相当普遍。如何从根本上进行SQL注入防御,降低SQL注入风险具有极其重要的现实意义。   1 啊D注入工具入侵原理   所谓知己知彼,百战百胜。要想有效防御SQL注入攻击,就要了解其攻击原理。本文通过对一款黑客常用注入工具――啊D注入工具工作原理的讲解,来分析SQL注入的防范措施。   啊D注入工具的攻击方法实际上就是逐步测试、逐步猜解,猜解网站数据库中的后台管理员表名、字段名、字段值,进而获取到网站的管理员账号、密码,在其它工具获取网站后台登录地址的前提下,登录网站后台,获取网站控制权,甚至整个服务器的管理权限。   有了这个攻击工具,使得入侵存在SQL注入漏洞的网站成了小儿科的游戏,那些既不懂编程又不懂SQL、年纪小小的青年常常得以在一天之内入侵十多个网站。   2 啊D注入工具攻击步骤   2.1 啊D注入工具入侵的第一步是寻找注入点   怎样才算注入点呢?其实就是一类URL,就是网站的一些链接,在后面人为的添加一些SQL语句、单引号等之后,这些人为添加的语句可以最终被提交到数据库执行,并将结果在浏览器端显示出来,这样的URL就是网站的注入点。黑客通过执行后不同的返回结果,来猜解数据库的表名、字段名、字段值,进而入侵网站。   那么啊D注入工具是怎么寻找注入点的呢?实际上和手工注入一样,就是通过在一些网站链接地址后输入一些非法字符串,根据返回的结果判断网站是否可以进行注入。最常用的就是单引号测试法和1=2测试法。   单引号测试法就是在最后面加上单引号,如果结果返回“microsoft jet database engine 错误’80040e14’”之类的错误信息,就表示单引号被连接到SQL语句中执行了,就说明在该链接地址后面添加SQL语句可以被提交到数据库执行,就表示该链接地址存在SQL注入漏洞。   1=2测试法就是在网站链接地址后输入1=2,返回的结果如果是:BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录,或者原来正常显示的网页没有显示出来,就表示1=2被连接到SQL语句中执行了,就说明在该链接地址后面添加SQL语句可以被提交到数据库执行,就表示该链接地址存在SQL注入漏洞。   2.2 猜解表名   假如http://localhost/article.aspx?id=124是一个注入点,要用它来猜解表名。怎么提交?   http://localhost/article.aspx?id=124 and exists(select count(*) from admin)   然后看页面返回了,返回正常就表示该表存在,否则就不存在了。啊D工具就是这样猜解的,它的软件数据库里面有很多提前添加好的表名。然后猜解的时候就是挨个试了。   2.3 猜解字段名   有了表名,下一步就是猜解字段了。需要用到这样的语句:http://localhost/article.aspx?id=124 and exists(select username from admin)   也就是将count(*)换成了字段名。将设置列表中的字段挨个进去匹配。页面返回正常就表示字段存在,否则就不存在。   2.4 猜解字段长度   字段有了,下一步就是猜解字段值了,先猜解字段长度。   http://localhost/article.aspx?id=124 and (select top 1

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档