安全编程-XSS跨站脚本介绍.ppt_第1页
安全编程-XSS跨站脚本介绍.ppt_第2页
安全编程-XSS跨站脚本介绍.ppt_第3页
安全编程-XSS跨站脚本介绍.ppt_第4页
安全编程-XSS跨站脚本介绍.ppt_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

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

文档简介

XSS跨站脚本介绍,2XSS介绍,背景实例攻击原理攻击方式,2XSS介绍,XSS跨站脚本的背景,现今黑客关于XSS的攻击是越来越火了,OWASP这个WEB安全组织已经将XSS列为2007年WEB安全威胁第一位.然而国内网站对这个问题并没有重视起来,几乎所有的大型门户网站都存在这个漏洞,国外的MYSPACHE站点曾经发生过这样一个事件,一个叫samy的人利用XSS漏洞写了世界上第一只跨站脚本蠕虫,20小时内就传染了一百万个用户,最后导致MySpace站瘫痪。前车之鉴,如果这些漏洞给黑客利用在博客上,后果将不堪设想!,4,先看一个简单的登陆页面XSS漏洞,XSS跨站脚本,2XSS介绍,2XSS介绍,XSS跨站脚本,正常登陆,6,尝试一下将用户名替换为javascript,XSS跨站脚本,2XSS介绍,7,看一下页面的源代码,XSS跨站脚本,2XSS介绍,8,这次为什么失败了没有弹出窗口呢?,2XSS介绍,XSS跨站脚本,9,2XSS介绍,XSS跨站脚本,看一下页面的源代码,10,2XSS介绍,XSS跨站脚本,11,2XSS介绍,XSS跨站脚本,稍作修改,12,2XSS介绍,什么是XSS跨站脚本,XSS=CSS(CrossSiteScript)跨站脚本攻击XSS属于被动式的攻击,针对用户,网站作为平台恶意攻击者利用漏洞往Web页面里插入恶意代码用户浏览时恶意代码被执行,13,2XSS介绍,什么类型的脚本可以插入远程页面?,主流脚本包括以下几种:,HTMLJavaScriptVBScriptActiveXFlash,14,所有可以执行与解释脚本语言的软件中,包括:,2XSS介绍,IEFireFoxEtc.,15,2XSS介绍,XSS跨站脚本,16,2XSS介绍,XSS跨站脚本,下图是XSS的数据流,恶意用户的Html输入-Web程序-进入数据库-Web程序-用户浏览器,17,2XSS介绍,XSS跨站脚本攻击原理,我们浏览的网页全部都是基于超文本标记语言HTML创建的,如显示一个超链接:,而XSS的原理也就是往HTML中注入脚本,18,2XSS介绍,下图是这段超链接HTML语言的效果,19,2XSS介绍,XSS的触发条件,XSS跨站脚本的触发条件有以下四种:1)完整无错的脚本标记2)访问文件的标记属性3)触发事件4)请求失败,20,2XSS介绍,1)完整的脚本标记,假如我们在某个资料表单提交内容,表单提交内容就是某个标记属性所赋的值,我们可以构造如下值来闭和标记来构造完整无错的脚本标记,以超链接HTML语言为例提交内容:alert(XSS);示例:,2XSS介绍,XSS跨站脚本的转码,31,下面以为例:,2XSS介绍,XSS跨站脚本漏洞的转码,十进制转码,32,2XSS介绍,XSS跨站脚本漏洞的转码,33,同样转为十六进制也能达到效果:。,2XSS介绍,XSS跨站脚本漏洞的转码,十六进制转码,34,2XSS介绍,XSS跨站脚本漏洞的转码,JavaScript中的字符是转义字符,可以使用连接16进制字符串运行代码:,35,2XSS介绍,XSS跨站脚本漏洞的转码,36,脚本语言具有很高的灵活性程序员对与恶意输入信息的疏忽,没有对输入信息进行必要的过滤,2XSS介绍,XSS跨站脚本漏洞的原因,37,利用XSS跨站脚本漏洞我们可以实施这些攻击1)获取Cookie2)Session欺骗3)恶意链接4)其它利用,2XSS介绍,XSS跨站脚本攻击,38,下面我们以网易邮箱存在的XSS漏洞为例依次介绍这些攻击方式网易邮箱在使用IE浏览器的时候,img的dynsrc标签存在XSS跨站脚本漏洞,格式为,其中url可以为绝对地址或者相对地址;当然我们这里要使用脚本代码了。,2XSS介绍,XSS跨站脚本攻击,39,XSS漏洞测试,我们使用经典的alert去测试是否存在XSS漏洞我们进入网易邮箱,新建一个邮件,填好收件人和邮件主题,在正文的工具栏里有个勾选框”编辑源码”,如图,2XSS介绍,XSS跨站脚本攻击,40,勾选后输入测试XSS漏洞的语句:,2XSS介绍,XSS跨站脚本攻击,41,点击发送后再收取并打开刚刚的邮件,跳出对话框,很明显,我们可以在邮件内容里插入html代码并成功运行。如图,2XSS介绍,XSS跨站脚本攻击,42,我们先试试这段代码然后发送并收取mail,可以看到,cookie都显示出来了,2XSS介绍,1)获取Cookie,43,上面只是一个测试,比较早的跨站用于获取cookie,早期许多web程序设计时cookie里明文保存了密码;当web程序采用session认证时,跨站又可以收集session从而达到与被害者一起登陆网站的目的;例如,攻击者可以利用一个远程的asp页面收取访问者的cookie,收取后在你的服务器上生成指定文件。利用这种方式,可以让攻击者在有效时间内登陆受害者的邮箱.,2XSS介绍,2)Session欺骗,44,同样勾选“编辑源码”,填入以下内容,XSS介绍,2)Session欺骗,意思是访问服务器上getcookie.asp文件,这个文件用于收取访问者的cookie,收取后在服务器上生成指定文件,45,2XSS介绍,2)Session欺骗,46,getcookie.asp的源码是:这就是session欺骗。Session的默认有效时间是20分钟,当攻击者截取到session,同时受害者没有注销掉会话记录的时候,欺骗就成功了。,2XSS介绍,2)Session欺骗,47,如果你认为这个漏洞的破坏程度仅仅这样那就错了,让我们再试一试这句意思是在页面中以窗口的形式显示URL所指向的内容.,2XSS介绍,3)恶意链接,48,结果如图既然上面的利用可以让你访问任意网页,那么如果攻击者让你浏览的是病毒页面呢?可想而知,如果你的IE存在漏洞,那是非常危险的。,2XSS介绍,3)恶意链接,49,XSS并不只存在于邮件中,由于没有过滤敏感字符的原因,任何用户可以输入的地方都可能存在XSS漏洞,并且杀毒软件和防火墙都检测不到这种攻击行为。在一些渗透过程中,攻击者用常构造复杂的而隐蔽的语句让管理员访问并执行,如备份数据库,备份获得webshell,添加管理员等等其他恶意操作,对服务器和用户的安全构成威胁.,2XSS介绍,4)其他利用,50,HowtoPerformStoredCrossSiteScripting(XSS)HowtoPerformReflectedCrossSiteScripting(XSS)AttacksHTTPOnlyTest,3XSS演示实例,OWASPXSS,51,问题描述:向浏览器发送非法的数据会使浏览器执行恶意代码,通过XML编码进行身份认证也会导致浏览器执行非法代码。详细描述:跨站脚本发生在以下两种情况:1.数据通过不可靠的源进入webapplication,大多数情况下是webrequest;2.包含在动态内容中的数据在没有经过安全检测就发送给网络用户。,4软件开发中面临的XSS问题,52,发给web浏览器的恶意内容通常以JavaScript段的形式出现,但也包括HTML,Flash或者其他浏览器能够执行的代码类型。基于XSS的攻击种类几乎是无限的,但是它们通常会包括:传送私有数据(如cookies或者其他session信息)给攻击者,将受害者的浏览器重定向到攻击者所控制的web内容中,或者假借有漏洞的站点在用户机器上进行其他恶意操作。,4软件开发中面临的XSS问题,XSS攻击可以采用如下形式:,53,下面的JSP代码段从一个HTTPrequest中读雇员的eid,并将它显示出来,如果eid包含源代码,该源代码就会被浏览器执行。,4软件开发中面临的XSS问题,实例1:,.EmployeeID:,54,下面的JSP代码段根据一个雇员的ID在数据库中查询对应的名字,并将其打印出来。如果数据库中的数据来源于用户的输入并没有进行相应的安全性检查,将会造成用户的浏览器执行恶意代码。,4软件开发中面临的XSS问题,实例2:,EmployeeName:,55,当name符合规范的时候,这段代码能够正确运行。但当name有问题时,代码中并没有任何措施来阻止其运行。如果name的值来自于用户所提供的数据,那么这个数据库就会成为恶意内容的渠道。如果对数据库中存储的所有数据没有一个适当的输入验证,那么攻击者就能够在用户的浏览器上执行恶意内容。这种类型的攻击被称为存储型XSS,它显得尤为隐蔽,因为数据存储所带来的间接性使得这种威胁更难被识别,也使得攻击者能够侵袭更多的用户。,4软件开发中面临的XSS问题,实例2:,56,4软件开发中面临的XSS问题,XSS攻击可以采用如下形式,一个web站点对访问者进行来宾登记(譬如经常使用的留言簿程序),攻击者在来宾登记中注入JavaScript代码,之后所有进入来宾登记页面的访问者都会执行该恶意代码当name符合规范的时候,这段代码能够正确运行。但当name有问题时,代码中并没有任何措施来阻止其运行。正如上面的示例所述,造成XSS攻击的原因是HTTP响应中包含了未经验证的数据。,57,反射型XSS存储型XSS应用程序外部的数据源,4软件开发中面临的XSS问题,XSS攻击可以通过三种媒介侵入受害者,58,反射型XSS通常是由攻击者诱使用户向有漏洞的web应用程序提供危险内容,然后这些危险内容会反射给用户并由浏览器执行。传递恶意内容最常见的方法是将恶意内容作为一个参数包含在URL中,然后将URL公开发布或者通过email发给受害者。以这种形式构造的URL是很多钓鱼圈套的核心,通过钓鱼圈套,攻击者获取受害者的信任,诱使受害者访问指向有漏洞站点的URL。当站点将攻击者的内容反射给用户后,恶意内容将被执行,从用户机器上窃取用户的私有信息(如包含session信息的cookies)发送给攻击者或者进行其他恶意活动。,反射型XSS,4软件开发中面临的XSS问题,59,存储型XSS通常是由攻击者将危险内容注入数据存储中,然后该内容被读出并包含在动态内容中。在攻击者看来,注入恶意内容最理想的地方是用户访问量大的地方,或是能引起用户兴趣的地方。这些被攻击者感兴趣的用户通常能够提高该应用程序的权限或者交互一些对攻击者而言有价值的敏感数据。如果这种用户执行了恶意内容,攻击者就有可能假冒用户执

温馨提示

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

评论

0/150

提交评论