




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息系统应用安全课程终期论文Web系统SQL注入漏洞 专业:信息安全 班级:0903 姓名:付晓帆 学号:U2009153281. 选题背景1.1全球网络面临的主要威胁黑客攻击目前全球网络面临的主要威胁是黑客攻击,黑客技术逐渐被越来越多的人掌握和滥用,目前世界上有20多万个黑客网站,这些站点介绍一些攻击方法和攻击软件的使用以及曝光系统的一些漏洞,因而由此带来的各种攻击的可能性就非常大。尤其是现在众多机构还缺乏针对网络犯罪卓有成效的反击和跟踪手段,使得隐蔽性好的黑客的攻击具有更大的破坏性,这是目前网络安全的主要威胁。1.2. 黑客脚本攻击的主要技术SQL注入目前黑客攻击采用的主流技术是结构化查询语(Structured Query Language,SQL)注入攻击,它产生于应用层,现已成为网上最流行最热门的黑客脚本攻击方法之一。SQL注入攻击是指黑客利用一些WEB应用程序(论坛,留言本,文章发布系统)中某些疏于防范和用户可以提交或修改的数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。而我国计算机技术普及相对较晚,网站管理员普遍经验不足,再加上网站开发人员技术不过关,严重缺乏安全意识,导致存在大量的不安全网站。这些不安全的网站上存储着大量的用户帐号及密码信息,一旦被攻击者攻破,很可能会引起信用卡等金融安全问题。政府门户网站是政府对外宣传和信息发布的重要途径,由于安全问题没有得到重视,网站被篡改事件频繁发生,在社会上造成恶劣影响。2. 实验原理2.1 SQL注入攻击SQL注入(SQL Injection)攻击是目前网上最流行最热门的黑客脚本攻击方法之一,那什么是SQL注入式攻击呢?它是指黑客利用一些WEB应用程序(论坛,留言本,文章发布系统)中某些疏于防范和用户可以提交或修改数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。但这并不局限于MS SQL数据库中,ACCESS、MySQL、ORACLE、SYBASE都可以进行SQLInjection攻击。且SQL注入攻击具有以下特点:常规网络安全系统无法检测;攻击后果很严重;易于实施且技术门槛很低。2.2 SQL注入攻击原理SQL注入原理:目前,几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令,这就是潜在的SQL注入漏洞,针对此类漏洞,一旦参数精心构造,远程用户就不仅能向Web应用输入数据,而且还可以在数据库甚至OS上执行任意命令。存在SQL注入漏洞的根本原因:在用户输入作为SQL语句参数时,未进行充分的检查验证,导致程序命令和用户数据(即用户输入)之间混淆,从而使得攻击者有机会将程序命令当作用户输入的数据提交给Web程序,造成破坏。2.3 如何利用SQL注入漏洞进行攻击用一个攻击实例来说明:假设一个由ASP技术搭建的电子银行网站,用户登陆后,可以查看他们的帐户信息,进行在线付款等操作。WEB应用程序的典型操作流程为:首先,用户在WEB浏览器(表示层)中输入用户名和密码。然后,WEB浏览器通过Internet向服务器提交该信息。中间层根据用户的输入构造SQL查询语句,然后数据层在关系数据库中执行这个查询操作,并把查询的结果返回给中间层。中间层对返回的数据进行封装,生成HTML页面,建立连接返回给客户端的WEB浏器,这样用户就可以看到自己帐户的余额、付款记录等信息。上面所说的网上银行服务器,一般都有类似下面的脚本代码:1Login.asp2如上面代码所示,如果用户输入的Login和pass的值分别为“doe”和“xyz”,则服务器得到用户输入,交给Login asp脚本处理,在脚本的第4、5行将用户输入保存到变量中,在第17行将用户输入放在SQL查询语句中自动生成查询语句为:Select*from users where username =Doe and password = xyz。如果用户的输入为“abeor 1=1”和“”,而不是“doe”和“xyz”,该服务器端脚本构造的SQL查询语句为:Select * from users where username = abe or l =1- and password = 输入的“”闭合了SQL语句的“”,“-”是SQL语言中的注释。所以“-”后面的所有内容被忽略,WHERE 判断语句后面的“Or 1=1”的恒成立,攻击者绕过了SQL语句的验证逻辑,查询执行之后将返回所有用户的信息。可见,服务器执行查询或存储过程时,由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。3. 实验设计 3.1 实验目的: 1. 学会SQL漏洞注入攻击; 2. 学会利用SQL漏洞注入攻击Web网站; 3. 对实验进行总结。3.2 实验环境及工具:操作系统 Windows XP 专业版 32位 SP3 ( DirectX 9.0c )处理器 英特尔 酷睿2 双核 T6570 2.10GHz 笔记本处理器网络平台 电信局域网工具 小榕哥的SQL注入攻击工具;明小子注入工具3.3 实验设计思路:3.3.1 确定注入漏洞要进行SQL注入攻击,首先要确认攻击的网络应用程序存在注入漏洞。一般攻击者通过进行攻击测试,首先尝试提交一些无效的请求,根据能否引起服务器错误来判断WEB页面是否存在注入漏洞。一个网络应用程序主要会产生两种类型的错误,第一种是由WEB服务器产生的代码异常(exception),第二类错误是由应用程序代码产生的。无论哪一种错误发生都表明这可能是个潜在的注入点。3.3.2 分析漏洞注入点每一个从网络应用程序提交给SQL查询的参数可以被划分为三个主要类型:数字、字符串和日期。其中数字参数被直接提交给服务器,而字符串和日期则需要加上引号才被提交,例如:Select * from products where ProdID=4 与Select * from products where ProdName=Book攻击者为了对注入点充分利用,需要分析出注入点的参数类型,以便在随后的攻击中采取适当的方式。如果注入点确实存在,通过一定的技巧,攻击者很容易判断出注入点的参数类型。3.3.3 实施注入攻击攻击者在确定注入点并对其进行分析后,就要尝试进行注入利用,这需要确定符合SQL语法的注入请求表达式,判断出后台数据库的类型,然后构造出所需的利用代码。(1) 确定正确的注入句式:这是SQL注入攻击中最难也最有技巧的步骤,如果最初的SQL请求语句很简单,那么确定正确的注入句法也相对容易,而如果最初的SQL请求语句较复杂,那么要想突破其限制就需要多次的尝试,但进行这些尝试所需要的基本技术却是非常简单。(2) 判断出后台数据库的类型:这个步骤比确定注入句法要简单得多。攻击者使用的技巧是基于不同类型数据库引擎在具体实现上的差异。比如:MS SQLServer使用符号“+来连结字符串,而Oracle使用符号“ | 来连结。(3) 构造注入利用代码:当上述步骤都成功的时候,攻击者就可以开始进行注入利用,通过构造特定的SQL语句的敏感信息,提升访问权限甚至渗透至操作系统。攻击者通常也会采用下面介绍的一些常用的技术:1)插入恒等式这是SQL注入最常用的技巧之一,通过向SQL查询语句中插入恒等式可以在没有经过授权的情况下进入数据库。更为严重的是,如果中间层需要的只是一条记录,而SQL查询返回的是一个数据库表的所有记录,一般中间层会把查询结果集合的第一条记录返回给客户端,而用户表中第一条记录往往就是管理员的信息。2)UNION查询UNION关键字可以将两个查询连接在一起,并合并查询结果,返回一个查询集合。进行UNION SELECT注入需要预先获知数据库的表中的字段个数和类型,而这些信息通过WEB服务器返回的错误信息的提示是比较容易获得的。3)利用注释在T-SQL和PLSQL中,连字符一一表示注释的开始。通过加入注释符号,攻击者可以截断SQL语句,绕过认证逻辑,从而对数据库进行越权操作。4)调用存储过程存储过程(stored procedure)是一组为了完成特定功能的SQL语句集,经编译和优化后存储在数据库。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程允许标准组件式编程,具有较快的执行速度,能够减少网络流量等优点,所以在WEB应用程序开发中被广泛应用。但是如果存储过程能够为攻击者所调用,则对WEB应用程序系统的危害是无法估量的。4实验过程4.1 下载榕哥的工具包 小榕哥的这个SQL注入攻击工具包在榕哥的站点 /main.html可以下载到,下载来的这个工具包中总有两个 小程序:wed.exe和wis.exe,其中wis.exe是用来扫描某个站点中是否存在SQL注入漏洞的;wed.exe则是用来破解SQL注入用户名密码的。两个工具的使 用都非常简单,结合起来,就可以完成从寻找注入点到注入攻击完成的整个过程。4.2 寻找SQL注入点 wis.exe使用的格式如下:wis.exe 网址,首先打开命令提示窗口,输入如下命令:wis.exe / (在输入网址时,前面的http:/;和最后面的/是必不可少的,否则将会提示无法进行扫描),输入完毕后回车,即可开始进行扫描了。很快得到了扫描结果,可以看到这个网站中存在着一些SQL注入漏洞,我们可以挑其中一个来做试验,比如/archiver/ ,截图如下所示:4.3 SQL注入破解管理员帐号现在进入命令窗口中,使用刚才下载的工具包中的wed.exe程序,命令使用格式为:wed.exe 网址输入如下命令:wed.exe /archiver 。回车后可看到命令运行情况。(这次输入网址时,最后面千万不要加上那个/,但前面的http:/;头也还是必不可少的)。可以看到程序自动打开了工具包中的几个文件,C:wedwedTableName.dic、C:wedwedUserField.dic和C:wedwedPassField.dic,这几个文件分别是用来破解用户数据库中的字表名、用户名和用户密码所需的字典文件在破解过程中还可以看到SQL Injection Detected.的字符串字样,表示程序还会对需要注入破解的网站进行一次检测,看看是否存在SQL注入漏洞,成功后才开始猜测用户名。实验截图如下所示,可以看到没有检测到该网页的SQL注入漏洞。试图对其它几个注入点尝试SQL注入破解管理员账户,也因为类似原因失败。如下,对/wap/进行实验:所以可以认为小榕哥的SQL注入攻击工具无法对该论坛的管理员帐号进行破解。可以尝试其它网站。我在尝试了其它一些网站后发现,小榕哥的SQL注入攻击工具要么我发找到注入点,要么即使找到大量注入点也无法破解管理员账户,所以小榕哥的SQL注入攻击工具可以发现大量注入点,但很难从中合适的注入点进行管理员账户破解。之后我下载了明小子的注入工具进行SQL漏洞注入实验,但大多数网址在注入点检测时都显示:检测失败,该URL不可以进行注入!如下图所示:在尝试了一些网址后终于发现了一个可以进行SQL注入的网页,是伊春职业学院的首页地址,检测结果显示该URL可以注入,且数据库类型为Acess数据库。实验截图如下所示:对其进行表名猜解、列名猜解以及内容猜解后得到如下结果:可以看到有一个名为 admin 的数据库,且得到三个账户:username内容:adminpassword内容:e1565f7ad2cdc0f7username内容:adminpassword内容:49ba59abbe56e057username内容:adminpassword内容:21bf9830f2b1ec07对这些账户的密码形式进行观察,认为这些密码可能是加过密的,在网上尝试对其进行解密后得到:username内容:adminpassword内容:han654321username内容:adminpassword内容:123456username内容:adminpassword内容:han123456观察解密后结果,可以认为这些密码确实是加过密的。然后对该URL进行管理入口扫描后可以得到一系列的管理入口地址,扫描时间可能会有些漫长,扫描后得到12条地址,如下图所示:对扫描到的网址一一右击打开,结果却发现下面的一系列问题,截图如下:或者:或者是用户登录界面:或者:或者:就是无法找到系统的后台管理页面。尝试从用户界面登录,都无法成功登录。尝试用 google hacking 的方法寻找管理员后台登录界面,也没有找到。所以此次利用明小子的注入工具进行SQL漏洞注入实验虽然找到了三个管理员账户信息,但却没有找到可用的系统后台管理页面,无法验证账户信息的正确与否。4. 试验总结在此次实验中,我了解到了更多有关SQL注入攻击技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田螺姑娘考试试题及答案
- Unit 4 The Earth 单元核心素养培优卷(含答案解析)七年级上册英语沪教版
- 2025年公需科目大数据时代的互联网信息安全考试试题及答案
- 2025年高级汽车驾驶员资格证考试题库(含答案)
- 2025年高级会计师资格考试《高级会计实务》试题及答案
- 中考试题压轴题及答案
- 中控初级试题及答案
- 食品营养题库及答案
- 《薪资福利管理办法》
- 两江新区疫情管理办法
- 《美发师的职业道德》课件
- 2023年江苏省宝应县事业单位公开招聘辅警33名笔试题带答案
- 2025德州市禹城市梁家镇社区工作者考试真题
- 中国老年糖尿病诊疗指南(2024版)解读课件
- 2025-2030中国手机无线充电行业市场现状供需分析及投资评估规划分析研究报告
- 《老子与道德经智慧》课件
- 绞磨工考试试题及答案
- 胰岛素皮下注射
- GB 4789.3-2025食品安全国家标准食品微生物学检验大肠菌群计数
- 危货运输企业安全生产管理制度汇编
- 血液透析患者的心理护理
评论
0/150
提交评论