CTF实战9 XSS跨站脚本漏洞

  • A+
所属分类:CTF 网络安全

依旧先拜祖师爷~


CTF实战9 XSS跨站脚本漏洞
CTF实战9 XSS跨站脚本漏洞
CTF实战9 XSS跨站脚本漏洞

重要声明


该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

CTF实战9 XSS跨站脚本漏洞
CTF实战9 XSS跨站脚本漏洞


有同学问咋最近不发小姐姐了~?


众口难调唉?~


好吧我们恢复发小姐姐~


(每天为你们挑小姐姐都得一个小时~)


CTF实战9 XSS跨站脚本漏洞


我们调整一下心情~


开始学习新的知识~


下面我们开始~


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
XSS产生的背景


Web 2.0出现以前,XSS跨站脚本攻击不是那么引人注目


但是在随着Web 2.0出现以后,配合流行的AJAX技术,XSS跨站脚本攻击的危害性达到了十分严重的地步


世界上第一个XSS跨站脚本蠕虫发生在MySpace网站,20小时内就传染了一百万个用户,最后导致该网站瘫痪


随着SNS社交网站、微博系统的出现,Web应用安全重心转移到用户账号安全上,XSS攻击成为当今最流行的一种攻击方式,同时也是Web应用面临的主要威胁


CTF实战9 XSS跨站脚本漏洞

sdfd



CTF实战9 XSS跨站脚本漏洞
XSS攻击事件一


在2005年10月初,世界上第一个XSS蠕虫Sammy出现了,它利用著名网络社区MySpace.com的系统漏洞,以XSS的方式进行传播的Sammy蠕虫的作者在社区个人资料中插入XSS攻击脚本


当其他MySpace.com用户查看他的资料时,XSS攻击脚本就会运行,自动把Sammy的作者加为好友,同时Sammy本身也会被复制到浏览者的个人资料里面进行传播


不到20个小时,就有超过100万MySpace.com用户受到感染,造成网站一度瘫痪


MySpace.com为此不得不禁止所有用户在个人资料中加入任何脚本程序


2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉蒲团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等微博和私信,并自动关注一位名为hellosamy的用户


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
XSS攻击事件二


2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如


"郭美美事件的一些未注意到的细节"

"建党大业中穿帮的地方"

"让女人心动的100句诗歌"

"3D肉蒲团高清普通话版种子"

"这是传说中的神仙眷侣啊"

"惊爆!范冰冰艳照真流出了"

CTF实战9 XSS跨站脚本漏洞


等等微博和私信,并自动关注一位名为hellosamy的用户


CTF实战9 XSS跨站脚本漏洞


首先,黑客通过对新浪微博的分析测试发现新浪名人堂部分由于代码过滤不严,导致XSS漏洞,并可以通过构造脚本的方式植入恶意代码


通过分析发现,在新浪名人堂部分中,当提交时,新浪会对该字符串进行处理,而由于应用程序没有对参数g做充足的过滤,且将参数值直接显示在页面中,相当于在页面中嵌入了一个来自于2kt.cnJS脚本


JS脚本是黑客可以控制的文件,使得黑客可以构造任意JS脚本嵌入到的页面中,且通过AJAX技术完全实现异步提交数据的功能,进而黑客通过构造特定的JS代码实现了受此XSS蠕虫攻击的客户自动发微博、添加关注和发私信等操作


然后,黑客为了使该XSS蠕虫代码可以大范围的感染传播,会通过发私信或发微博的方式诱惑用户去点击存在跨站代码的链接,尤其是针对V标认证的用户,因为此类用户拥有大量的关注者,所以如果此类用户中毒,必然可以实现蠕虫的大范围、快速的传播


最后,当大量的加V认证账户和其他普通用户中毒后,这些用户就会通过发微博和发私信的方式将该XSS蠕虫向其他用户进行传播,进而导致了该XSS蠕虫的大范围、快速的传播与感染


CTF实战9 XSS跨站脚本漏洞

sdfd



CTF实战9 XSS跨站脚本漏洞
XSS概述


XSS又叫CSS (Cross Site Script) ,跨站脚本攻击


它指的是恶意攻击者往Web页面里插入恶意HTML代码,当用户浏览该页面时,嵌入Web页面的HTML代码会被执行,从而达到恶意用户的特殊目的


XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性


XSS攻击中,一般有三个角色参与


攻击者

目标服务器

受害者的浏览器

CTF实战9 XSS跨站脚本漏洞
CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
XSS的危害


突破域限制

修改HTML代码

XSS蠕虫攻击

命令执行

获取客户端信息

结合CSRF攻击

获取系统管理后台权限

盗取账号

DDOS攻击

CTF实战9 XSS跨站脚本漏洞


我们可以根据XSS工具的特性将XSS分为这么几种


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
反射型XSS


<反射型XSS>也称为<非持久型XSS>,其特征是直接在URL中输入恶意代码


这种XSS攻击的隐蔽性较差,一般的浏览器都可以识别并拦截


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
存储型XSS


<存储型XSS>也称为<持久性XSS>,这种攻击的特征是恶意代码是存储在数据库或者服务器上


一般存储型XSS的隐蔽性比较高,浏览器一般不会察觉和拦截,所以危害也是最大的


那么XSS一般会出现在什么地方?


CTF实战9 XSS跨站脚本漏洞

CTF实战9 XSS跨站脚本漏洞
XSS可能出现的地方


一般可以分为如下几种


HTML文档

包括了


标签

属性

Javascript

css

CTF实战9 XSS跨站脚本漏洞


或者还可能出现在以下地方


多媒体、网页插件

Flash

Word

PDF

Siverlight

Applet

CTF实战9 XSS跨站脚本漏洞


甚至在一些内嵌了浏览器的软件中,也可能会存在XSS


CS客户端软件

这里就没有分类了,就这么一种CS客户端软件,像大家熟悉的Steam这种类型的客户端软件


那么怎么挖掘XSS漏洞呢?


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
挖掘XSS漏洞


一般挖掘的时候要在能输入东西的地方都进行XSS输入测试


一般常见的如留言模块


如果是反射型的XSS,就要注意URL中的参数


而如果是存储型的XSS,就该注意文本框及其他任意可以填写内容的地方


分割图~

CTF实战9 XSS跨站脚本漏洞


下面我们演示一下两种常见的XSS的区别

CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
反射型XSS简单演示


假如我们有这么一个网站,它会将我们的搜索内容都原封不动的返回显示在网页里面,我们就可以使用反射型XSS来攻击了


这里我们用OWASP中的WebGoat来演示这种攻击


CTF实战9 XSS跨站脚本漏洞

上图可以看出有个搜索框,我们输入什么就会返回什么


CTF实战9 XSS跨站脚本漏洞

那这样就满足了反射型XSS的特征,我们可以这样进行攻击


那我们试试输入这句恶意代码看看


<script>alert("XSS");</script>


CTF实战9 XSS跨站脚本漏洞


这就是一个简单的演示


CTF实战9 XSS跨站脚本漏洞

sdfd


CTF实战9 XSS跨站脚本漏洞
存储型XSS简单演示


我们假设有这么一个网站,是让人去留言的,系统会把留言存储在服务器上


我们还是用OWASP来演示


CTF实战9 XSS跨站脚本漏洞


这里有个留言系统,我们留个言看看


CTF实战9 XSS跨站脚本漏洞


我们测试了一下发现可以完整的把我们的留言保留在系统中


于是我们可以这样测试存储型XSS


输入


<script language="javascript" type="text/javascript">alert("Hatsune Say Store XSS");</script>

CTF实战9 XSS跨站脚本漏洞

CTF实战9 XSS跨站脚本漏洞


之后留言


CTF实战9 XSS跨站脚本漏洞


然后我们点开这个XSS留言的链接


CTF实战9 XSS跨站脚本漏洞


马上就会跳出一个窗口


然后现在这两种XSS就大概演示到这里


当然,XSS攻击博大精深,现实中一般不会有我们上面介绍的这么简单,其他还有Flash XSSDom XSS等等


这里只是抛砖引玉给大家一个对XSS的初步理解~


CTF实战9 XSS跨站脚本漏洞


感谢支持~~~


摸摸大~


祝大家周末愉快~

CTF实战9 XSS跨站脚本漏洞


本文完


下期内容:CSRF跨站请求伪造漏洞


CTF实战9 XSS跨站脚本漏洞


CTF实战9 XSS跨站脚本漏洞


CTF实战9 XSS跨站脚本漏洞



  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: