前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CTF实战9 XSS跨站脚本漏洞

CTF实战9 XSS跨站脚本漏洞

作者头像
用户1631416
发布2018-07-25 12:00:29
1.2K0
发布2018-07-25 12:00:29
举报
文章被收录于专栏:玄魂工作室玄魂工作室

重要声明

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

XSS产生的背景

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

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

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

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

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的用户

XSS攻击事件二

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

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

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

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

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

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

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

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

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

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

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

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

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

XSS概述

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

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

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

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

攻击者

目标服务器

受害者的浏览器

XSS的危害

突破域限制

修改HTML代码

XSS蠕虫攻击

命令执行

获取客户端信息

结合CSRF攻击

获取系统管理后台权限

盗取账号

DDOS攻击

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

反射型XSS

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

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

存储型XSS

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

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

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

XSS可能出现的地方

一般可以分为如下几种

HTML文档

包括了 标签

属性

Javascript

css

或者还可能出现在以下地方 多媒体、网页插件

Flash

Word

PDF

Siverlight

Applet

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

CS客户端软件

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

那么怎么挖掘XSS漏洞呢?

挖掘XSS漏洞

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

一般常见的如留言模块

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

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

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

反射型XSS简单演示

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

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

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

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

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

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

这就是一个简单的演示

存储型XSS简单演示

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

我们还是用OWASP来演示

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

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

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

输入

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

之后留言

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

马上就会跳出一个窗口

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档