L003001006-HTTP攻击与防范-跨站攻击-01简介_第1页
L003001006-HTTP攻击与防范-跨站攻击-01简介_第2页
L003001006-HTTP攻击与防范-跨站攻击-01简介_第3页
L003001006-HTTP攻击与防范-跨站攻击-01简介_第4页
L003001006-HTTP攻击与防范-跨站攻击-01简介_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程编写类别内容实验课题名称HTTP攻击与防范-跨站攻击-01简介实验目的与要求1、  掌握WEB渗透测试跨站攻击原理2、  了解WEB站点的跨站攻击脆弱性3、  修复存在跨站攻击可能的漏洞实验环境VPC1(虚拟PC)Windows server 2003VPC1 连接要求PC 网络接口,本地连接与实验网络直连软件描述1、学生机要求安装java环境2、vpc安装windwos 系统实验环境描述1、 学生机与实验室网络直连;2、 VPC1与实验室网络直连;3、 学生机与VPC1物理链路连通;预备知识XSS又叫CSS (Cross Si

2、te Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。XSS原理图跨站脚本攻击(cross-site scripting,XSS)发生在客户端,恶意代码在服务器上,用户点击此链接,恶意代码注入浏览器,从而达到攻击效果。跨站攻击多是窃取cookie的信息。XSS跨站脚本攻击一直都被认为是客户端Web安全中最主流的攻击方式。因为Web环境的复杂性以及XSS跨站脚本攻击的多变性,使得该类型攻击很难

3、彻底解决。那么,XSS跨站脚本攻击具体攻击行为是什么,又该如何进行有效的防范呢?本文对此进行了有针对性的具体实例分析。跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。为了与层叠样式表(Cascading Style Sheets)的缩写CSS区分开,跨站脚本攻击通常简写为XSS。XSS原理(1)嵌入非法的html标签;(2)嵌入JavaScript;(3)flash的actionscript脚本。注入的标签和脚

4、本都在客户端浏览器执行。XSS实例攻击者给查询参数q增加了恶意构造的值(跨站代码:?q=<script>alert(document.cookie)<script> )如果服务端在返回的结果页面中,将用户提交的内容进行了原样的显示,那么访问这个链接时会弹出你的Cookie信息. XSS危害:(1)钓鱼欺骗;(2)网站挂马;(3)身份盗用;(4)xss蠕虫。 XSS解决方案(1)假定所有输入出都是可疑的。对http请求头部的变量,cookie中的变量检查。(2)验证数据的类型,格式,长度,范围和内容。(3)在服务器端过滤。XSS跨站脚本攻击的分类及类型

5、根据XSS跨站脚本攻击存在的形式及产生的效果,可以将其分为以下三类。一、 反射型XSS跨站脚本攻击,非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。反射型XSS脚本攻击即如我们上面所提到的XSS跨站脚本攻击方式,该类型只是简单地将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。由于此种类型的跨站代码存在于URL中,所以黑客通常需要通过诱骗或加密变形等方式,将存在恶意代码的链接发给用户,只有用户点击以后才能使得攻击成功实施。二、 存储型XSS跨站脚本攻击,也称为持久型跨站:最直接的危害类型,跨站代

6、码存储在服务器(数据库)。存储型XSS脚本攻击是指Web应用程序会将用户输入的数据信息保存在服务端的数据库或其他文件形式中,网页进行数据查询展示时,会从数据库中获取数据内容,并将数据内容在网页中进行输出展示,因此存储型XSS具有较强的稳定性。存储型XSS脚本攻击最为常见的场景就是在博客或新闻发布系统中,黑客将包含有恶意代码的数据信息直接写入文章或文章评论中,所有浏览文章或评论的用户,都会在他们客户端浏览器环境中执行插入的恶意代码。如流行的Bo-Blog程序的早期版本中存在对用户提交评论数据过滤不严导致的XSS跨站脚本攻击漏洞,黑客可以在文章评论中提交插入恶意数据的UBB代码,提交后,Bo-Bl

7、og程序会将数据保存至数据库中,当用户浏览该日志时,就会执行插入的恶意代码,如图所示。三、 基于DOM的XSS跨站脚本攻击,DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。基于DOM的XSS跨站脚本攻击是通过修改页面DOM节点数据信息而形成的XSS跨站脚本攻击。不同于反射型XSS和存储型XSS,基于DOM的XSS跨站脚本攻击往往需要针对具体的javascript DOM代码进行分析,并根据实际情况进行XSS跨站脚本攻击的利用。基于DOM的XSS漏洞反射型和保存型XSS漏洞都表现出一种特殊的行为模式,其中应用程序提

8、取用户控制的数据并以危险的方式将这些数据返回给用户。第三类XSS漏洞并不具有这种特点。在这种漏洞中,攻击者的JavaScript通过以下过程得以执行。用户请求一个经过专门设计的URL,它由攻击者提交,且其中包含嵌入式JavaScript。服务器的响应中并不以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,上述脚本得以处理。这一系列事件如何发生呢?由于客户端JavaScript可以访问浏览器的文本对象模型(Document Object Model,DOM),因此它能够决定用于加载当前页面的 URL。由应用程序发布的一段脚本可以从URL中提取数据,对这些数据进行处理,然后用它动

9、态更新页面的内容。如果这样,应用程序就可能易于受到基于DOM的XSS攻击。回到前面的反射型XSS漏洞中的示例,其中服务器端应用程序将一个URL参数值复制到一条错误消息中。另一种实现相同功能的办法是由应用程序每次返回相同的静态 HTML,并使用客户端JavaScript动态生成消息内容。例如,假设应用程序返回的错误页面包含以下脚本:/这段脚本解析 URL,提取出message参数的值,并把这个值写入页面的HTML源代码中。如果按开发者预想的方式调用,它可以和前面的示例中一样,用于创建错误消息。但是,如果攻击者设计出一个 URL,并以JavaScript代码作为mes

10、sage参数,那么这段代码将被动态写入页面中,并像服务器返回代码一样得以执行。在这个示例中,前面示例中利用反射型XSS漏洞的相同URL也可用于生成一个对话框:利用基于DOM的XSS漏洞的过程如图所示。与保存型XSS漏洞相比,基于DOM的XSS漏洞与反射型XSS漏洞有更大的相似性。利用它们通常需要攻击者诱使一名用户访问一个包含恶意代码的专门设计的URL,并由服务器响应那个使得恶意代码得以执行的特殊请求。但是,在利用反射型与基于DOM的XSS漏洞的细节方面,还存在一些重要的差异,这点我们在稍后讨论。CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one cl

11、ick attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS), 但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击 相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。实验内容1、  掌握跨站攻击的基本原理2、  了解WEB站点的脆弱性-XSS3、  通过掌握的只是能够修复XSS的漏洞实验步骤1、 学生单击

12、实验拓扑按钮,进入实验场景,进入目标主机,(第一次启动目标主机,还需要安装java控件),如图所示:2.打开虚拟机,输入用户名和密码,用户为adminsitrator 密码为 1234563. 、打开IE浏览器,输入:8080/xss/ ,即可登录如图所示页面:4.我们使用的跨站脚本演示环境如下:5.查看跨站脚本演示目录的结构,点击开始->运行->输入cmd,打开命令提示符6.进入dos窗口,输入:cd xampphtdocsxss7. 查看代码文档结构树,输入命令如下:tree /f8. 查看文档info.php代码,输入命令如下:type info

13、.php9. 查看文档index.php代码,输入命令如下:type index.php 10.切换到IE浏览器窗口11.演示反射型跨站脚本攻击漏洞:    正常情况下,用户会在URL中提交参数name的值为自己的姓名,然后该数据内容会通过以上代码在页面中展示,如用户提交姓名为“张三”,完整的URL地址如下:          :8080/xss/info.php?name=张三    点击”反射

14、型XSS跨站脚本攻击漏洞”,在浏览器中访问时,会显示如下图1所示内容: 12、此时,因为用户输入的数据信息为正常数据信息,经过脚本处理以后页面反馈的源码内容为<p>欢迎您, 张三!</p>。    但是如果用户提交的数据中包含有可能被浏览器执行的代码的话,会是一种什么情况呢?    我们继续提交name的值为<script>alert(/我的名字是张三/)</script>,即完整的URL地址为    

15、60;       :8080/xss/info.php?name=<script>alert(/我的名字是张三/)</script>    我们点击后退按钮,进入xss跨站攻击演示环境13.我们点击“反射型XSS跨站脚本攻击”链接,在浏览器中访问时,我们发现会有弹窗提示,如下图所示:14、那么此时页面的源码又是什么情况呢?     源码变成了“<p>欢迎您, <script>alert(

16、/我的名字是张三/)</script>!</p>”,从源代码中我们发现,用户输入的数据中,          <script>与</script>标签中的代码被浏览器执行了,而这并不是网页脚本程序想要的结果。     这个例子正是最简单的一种XSS跨站脚本攻击的形式,称之为反射型XSS。15、在对一个网站进行安全检测的时候,检测者并不知道被检测的网站使用的是什么数据库及网页程序语言,需要对其进行一些

17、手动探测。     点击刚才弹出的窗口“确定”按钮。16.点击后退按钮,进入xss跨站攻击演示环境17. 切换到dos窗口,我们查看一下“基于DOM的XSS跨站脚本攻击”的演示环境代码 18.输入命令,type DOM_Based_XSS_Demo.php19.切换到IE浏览器窗口20.我们点击“基于DOM的XSS跨站脚本攻击”链接 21.以上代码的作用是提交一个图片的URL地址以后,程序会将图片在页面中进行展示,如我们提交的LOGO图片的地址: 22.当用户输入完的LOGO的地址,点击“提交”按钮后,“提交”按钮的onclick事件会调用xsstest()函数。   而xsstest()函数会获取用户提交的地址,通过innerHTML将页面的DOM节点进行修改,把用户提交的数据以HTML代码的形式写入页面中并进行展示。&#

温馨提示

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

评论

0/150

提交评论