- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- Openstack这六年.doc
- Ophiognomonia castaneae协同板栗褐缘叶枯病病原菌致病作用的研究.doc
- OpTic Gaming联合创始人讨论“使命召唤”的电竞崛起.doc
- Oracle MAA在汽车行业电子政务平台中的应用.doc
- Oracle数据库系统的字符集转换问题分析.doc
- ORCID在科技期刊同行评议专家信息收集中的应用探讨.doc
- Origin软件在试验数据处理中的应用分析.doc
- Outline the strengths and weaknesses of performance―related pay (PRP) systems and assess their overall value.doc
- P2P技术在即时通信中的应用及安全策略.doc
- P92钢焊接质量控制要点分析.doc
文档评论(0)