SQL注入攻击漏洞研究与防范措施论文正稿

SQL注入攻击漏洞研究与防范措施论文正稿

ID:46866805

大小:59.00 KB

页数:10页

时间:2019-11-28

SQL注入攻击漏洞研究与防范措施论文正稿_第1页
SQL注入攻击漏洞研究与防范措施论文正稿_第2页
SQL注入攻击漏洞研究与防范措施论文正稿_第3页
SQL注入攻击漏洞研究与防范措施论文正稿_第4页
SQL注入攻击漏洞研究与防范措施论文正稿_第5页
资源描述:

《SQL注入攻击漏洞研究与防范措施论文正稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.....SQL注入攻击漏洞研究与防范措施StructuredQueryLanguageInjectionLeakStudyAndDefenseMeasure姜志坤摘要:在当今的数字世界中,人们发现在维持公开的Internet连接的同时,保护网络和计算机系统的安全变得越来越困难。病毒、木马、后门、蠕虫等攻击层出不穷,虚假网站的钓鱼行为也让警惕性不高的公众深受其害。为了减轻信息泄露及系统被攻击带来的风险,企业和机构开始对自己的系统进行渗透测试,找出其中存在的漏洞和薄弱环节。本文通过对目前最流行的SQL注入攻击漏洞的攻击方法做了逐一的分析,并提出了检测和防范的措施。

2、关键字:SQL注入攻击 脚本攻击网络安全攻击防范模型有害代码SQL注入(SQLInjection)攻击是目前网上最流行最热门的黑客脚本攻击方法之一,那什么是SQL注入式攻击呢?它是指黑客利用一些Web应用程序(论坛、留言本、文章发布系统)中某些疏于防范的用户可以提交或修改的数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获得用户名、密码等敏感信息,从而达到获取主机控制权限的攻击方法。1.SQL注入攻击原理1.1SQL注入攻击实现原理结构化查询语言(SQL)是一种用来和数据库交互的文本语言,SQLInjection就是利

3、用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。SQL注入攻击主要是通过构建特殊的输入,这些输入往往是SQL语法中的一些组合,这些输入将作为参数传入Web应用程序,通过执行SQL语句而执行入侵者想要的操作,下面以登录验证中的模块为例,说明SQL注入攻击的实现方法。学习参考.....在Web应用程序的登录验证程序中,一般有用户名(username)和密码(password)两个参数,程序会通过用户所提交输入的用户名和密码来执行授权

4、操作。其原理是通过查找user表中的用户名(username)和密码(password)的结果来进行授权访问,典型的SQL查询语句为:Select*fromuserswhereusername=′admin′andpassword=′smith′如果分别给username和password赋值“admin'or1=1--”和“aaa”。那么,SQL脚本解释器中的上述语句就会变为:select*fromuserswhereusername=′admin′or1=1--andpassword=′aaa′该语句中进行了两个判断,只要一个条件成立,则就会执行成功,而1=

5、1在逻辑判断上是恒成立的,后面的“--”表示注释,即后面所有的语句为注释语句。同理通过在输入参数中构建SQL语法还可以删除数据库中的表,查询、插入和更新数据库中的数据等危险操作:(1)droptableauthors—如果存在authors表则删除。(2)unionselectsum(username)fromusers—从users表中查询出username的个数。(3)insertintousersvalues(666,′attacker′,′foobar′,0xffff)—在user表中插入值。(4)unionselect@@version,1,1,1--

6、查询数据库的版本。(5)execmaster.xp_cmdshell′dir′通过xp_cmdshell来执行dir命令。1.2SQL注入攻击分析SQL注入可以说是一种漏洞,也可以说是一种攻击。当程序中的变量处理不当,对用户提交的数据过滤不足,都可能产生这个漏洞。它的攻击原理就是利用用户提交或可修改的数据,把想要的SQL语句插入到系统实际SQL语句中,轻则获得敏感的信息,重则控制服务器。例如Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,要求用户输入一个名称和密码。攻击者在用户名字和密码输入框中输入1'or'1'='1之类的内容。该内容提交给服

7、务器之后,服务器运行上面的代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到的SQL命令变成:“select*fromuserswhereusername=''or'1'='1'andpassword=''or'1'='1'”。学习参考.....服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比,由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。SQL注入是通过目标服务器的80端口进行的,这和普通的Web页面访问没什么两样,所以一般的防火墙不会对这种攻击发出警告或

8、拦截。这种攻击可能引起的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。