欢迎来到天天文库
浏览记录
ID:39614713
大小:581.50 KB
页数:14页
时间:2019-07-07
《信息系统应用安全课程终期论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息系统应用安全课程终期论文——Web系统SQL注入漏洞专业:信息安全班级:0903姓名:付晓帆学号:U2009153281.选题背景1.1.全球网络面临的主要威胁——黑客攻击目前全球网络面临的主要威胁是黑客攻击,黑客技术逐渐被越来越多的人掌握和滥用,目前世界上有20多万个黑客网站,这些站点介绍一些攻击方法和攻击软件的使用以及曝光系统的一些漏洞,因而由此带来的各种攻击的可能性就非常大。尤其是现在众多机构还缺乏针对网络犯罪卓有成效的反击和跟踪手段,使得隐蔽性好的黑客的攻击具有更大的破坏性,这是目前网络安全的主要威胁。1.2.黑客脚
2、本攻击的主要技术——SQL注入目前黑客攻击采用的主流技术是结构化查询语(StructuredQueryLanguage,SQL)注入攻击,它产生于应用层,现已成为网上最流行最热门的黑客脚本攻击方法之一。SQL注入攻击是指黑客利用一些WEB应用程序(论坛,留言本,文章发布系统)中某些疏于防范和用户可以提交或修改的数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。而我国计算机技术普及相对较晚,网站管理员普遍经验不足,再加上网站开发人员技
3、术不过关,严重缺乏安全意识,导致存在大量的不安全网站。这些不安全的网站上存储着大量的用户帐号及密码信息,一旦被攻击者攻破,很可能会引起信用卡等金融安全问题。政府门户网站是政府对外宣传和信息发布的重要途径,由于安全问题没有得到重视,网站被篡改事件频繁发生,在社会上造成恶劣影响。2.实验原理2.1SQL注入攻击SQL注入(SQLInjection)攻击是目前网上最流行最热门的黑客脚本攻击方法之一,那什么是SQL注入式攻击呢?它是指黑客利用一些WEB应用程序(论坛,留言本,文章发布系统)中某些疏于防范和用户可以提交或修改数据的页面,精
4、心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。但这并不局限于MSSQL数据库中,ACCESS、MySQL、ORACLE、SYBASE都可以进行SQLInjection攻击。且SQL注入攻击具有以下特点:常规网络安全系统无法检测;攻击后果很严重;易于实施且技术门槛很低。2.2SQL注入攻击原理SQL注入原理:目前,几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细
5、心的话,用户数据就有可能被解释成命令,这就是潜在的SQL注入漏洞,针对此类漏洞,一旦参数精心构造,远程用户就不仅能向Web应用输入数据,而且还可以在数据库甚至OS上执行任意命令。存在SQL注入漏洞的根本原因:在用户输入作为SQL语句参数时,未进行充分的检查验证,导致程序命令和用户数据(即用户输入)之间混淆,从而使得攻击者有机会将程序命令当作用户输入的数据提交给Web程序,造成破坏。2.3如何利用SQL注入漏洞进行攻击用一个攻击实例来说明:假设一个由ASP技术搭建的电子银行网站,用户登陆后,可以查看他们的帐户信息,进行在线付款等操
6、作。WEB应用程序的典型操作流程为:首先,用户在WEB浏览器(表示层)中输入用户名和密码。然后,WEB浏览器通过Internet向服务器提交该信息。中间层根据用户的输入构造SQL查询语句,然后数据层在关系数据库中执行这个查询操作,并把查询的结果返回给中间层。中间层对返回的数据进行封装,生成HTML页面,建立连接返回给客户端的WEB浏器,这样用户就可以看到自己帐户的余额、付款记录等信息。上面所说的网上银行服务器,一般都有类似下面的脚本代码:1.Login.asp2.<%3.’服务器脚本中接收用户提交信息4.name=Request
7、(”login”)5.pwd=Request(”pass”)6.’连接数据库7.SetConn=Server.CreateObject(”adodb.Connection”)8.Conn.ConnectionString=”driver={SQLserver};server---dbsever;UID=id;9.PWD=pwd;10.Database=sei”11.conn.open12.‘数据已经打开13.14.……15.16.’构造查询的SQL语句17.SQL=”select*fromuserswhereuser=”+”&n
8、ame&”+”password=”+”&pwd&”18.’执行SQL语句19.Conn.Execute(SQL)20.21……22.%>如上面代码所示,如果用户输入的Login和pass的值分别为“doe”和“xyz”,则服务器得到用户输入,交给Loginasp
此文档下载收益归作者所有