XSS LABS - Level 19 过关思路

关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集

0x01:环境配置

要想完成本关,需要下载 Flash,不然就会出现下面的情况:

我个人建议,是直接下载一个 Flash 游戏浏览器,下载链接如下:

Flash 浏览器下载渠道

访问链接,点击 ”立即下载“,即可下载 Flash 游戏浏览器的安装包。

在安装 Flash 游戏浏览器之前,需要先关闭本机的杀毒软件(好家伙,病毒是吧),俺不知道有没有毒哈,没有关闭的话直接下载会被系统干掉。

首先是,搜索 ”病毒和威胁防护“:

进入软件后,选择 ”管理设置“:

关闭 ”实时保护“ 功能即可:

下面就是双击我们一开始下载下来的 Flash 游戏浏览器的安装包,进入安装流程:

按照如下方式进行配置,可以更改一个你能找的到的路径,方便后期卸载:

配置完成后,就是点击 ”立即安装“ ,然后等它安装好,就可以直接使用了。

如果你的系统比较良心,还会弹出下面的内容,点击阻止就可以了:

0x02:过关流程

打开 Flash 游戏浏览器,访问 XSS LABS Level 19 的靶场地址:

http://127.0.0.1/xss-labs/level19.php?arg01=a&arg02=b

进入靶场,鼠标右击,查看网页源码,可以发现 Level 19 与前两关不一样,虽然也是接收两个参数,但是参数内容被 " 号包裹了,且传入的内容还被做了过滤,所以前面那种为标签添加监听事件的方法是无效了。

那么,本关考察的,就是 Flash XSS 了(真的小众)。

首先是要下载 .swf 文件,比如点击一下上面的那个链接xsf03.swf?a=b,如果是在 Flash 游戏浏览器中,则会跳转到一个页面,并不会弹出下载框,盲猜是被 Flash 插件直接解析了:

如果把上面的那个链接复制到不支持 Flash 解析的浏览器中,比如 Chrome,就会弹出下面这个内容,直接保存即可:

如果把上面的那个链接复制到不支持 Flash 解析的浏览器中,比如 Chrome,就会弹出下面这个内容,直接保存即可:

<!-- 下面是我在 Chrome 中访问的链接 -->
http://127.0.0.1/xss-labs/xsf03.swf?a=b

保存完毕后,我们需要对这个 .swf 文件进行分析,这里需要用到 JPEXS 这个工具,项目地址如下:

我们可以根据我们的系统,选择适合我们的安装包,比如笔者当前使用的是 Windows 系统,则安装流程如下:

下载成功后,本地就会出现一个 .exe 的安装包,双击即可运行(傻瓜式安装,这里就不多写啦)。

第一次使用 JPEXS 的时候,你会发现,界面文字太小了:

可以按照下面的流程调整软件的字体大小,这边建议 1.5 就可以了,2 的话就非常大了,修改完成后点击确认,软件就会自动重启:

重启后,有时候会发现标签栏文字变大了,但是脚本文件文字依旧很大,这个时候需要将上面的 UI 缩放设置也调整到 1.5,重启软件即可(如果不行,需要关机重启)。

下面进入逆向环节(不要慌,作者写这篇的时候也是第一次)。

记得靶场界面的报错吗,Movie (436) is incompatible with sifr.js,这个内容既然能回显,那么我们就从这个内容入手,开始搜索:

如下图,我们发现 sIFR 文件的 VERSION_WARNING 变量中定义了页面的报错,且还预留了 %s 占位符,证明是可以向其中传参的,那么应该传递什么参数,目标才能接收呢?

我们搜索 VERSION_WARNING,看看后面对它都做了哪些处理:

通过上面的简单分析,我们知道了,页面报错得内容是可以通过 _root.version 进行控制的,那么 _root.version 又是怎么获得的呢?

这里也比较 Easy,记得靶场中的两个参数吗,传入后会是一个key=value 的格式,那么你说,这个 key 会不会就是 version 呢(它太显眼了)?

?arg01=version&arg02=Blue17

那么,有了回显点,XSS 还不是手到擒来。这里尝试直接传入一个普通的 XSS 脚本:

?arg01=version&arg02=<script>alert(1)</script>

这里可以发现,它居然还会过滤标签。不过已经有了回显点,不要慌,一个一个标签上(不行的话,就继续逆向吧),这里其实可以把 HTML 所有标签都收集起来做个字典的(巧了,我做了)。

但是现在有个麻烦的事,字典有了,你也只能一个一个试,因为界面回显的内容,完全是靠 Flash 插件后期渲染的,并不是说页面源码就有的。

这里就不实验了哈,直接公布答案 <a> 标签可以回显,所以 Payload 如下:

?arg01=version&arg02=<a href='javascript:alert(1)'>Test</a>

其实按照道理来说,点击上面那些标签即可触发 XSS 攻击,但是笔者点了好多次,并没有弹窗出现,可能是 Flash 游戏浏览器的问题吧(笔者之前在 Flash 中心中好像实验成功了,所以,如果有闲情逸致的小伙伴,可以试试,直接去 Flash 官网,下个全套 Flash,链接放在下面咯)。

0x03:源码分析

下面是 XSS LABS Level 19 的后端源码,以及我对其的部分笔记:

<!DOCTYPE html><!--STATUS OK-->
<html>

<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <script>
        // 修改 alert 的默认行为,进入下一关
        window.alert = function() {
            confirm("完成的不错!");
            window.location.href = "level20.php?arg01=a&arg02=b";
        }
    </script>
    <title>欢迎来到level19</title>
</head>

<body>
    <h1 align=center>欢迎来到level19</h1>
    <?php
    ini_set("display_errors", 0);
    echo '<embed src="xsf03.swf?' . htmlspecialchars($_GET["arg01"]) . "=" . htmlspecialchars($_GET["arg02"]) . '" width=100% heigth=100%>';
    // 传入的数据经过 htmlspecialchars 过滤后,传递给了 xsf03.swf,因为是被 " 包裹,所以无法逃逸出 src 标签,只能从 Flash XSS 找突破口
    ?>
</body>

</html>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容