Google XSS game writeup

用过Chrome的应该知道它的XSS Auditor,它可是灭掉了不少XSS代码呢……Google对XSS是很有研究的,不然也不敢大张旗鼓的悬赏(7500刀哦亲),还开发了一个XSS小游戏 http://xss-game.appspot.com/ (需FQ……),一共有6关,做完有“大蛋糕”奖励哦!下面就来看一下。

Level 1: Hello, world of XSS

既然是“Hello world”级别的,想必就是简简单单弹个框在输入框里输入<script>alert(1)</script>,然后点击按钮提交,弹框了,轻松愉快。

Level 2: Persistence is key

这个类似评论框,<script>被过滤了,试试插入图片标签<img src=# onerror=alert(1) />,提交后成功弹窗了,而且是存储型XSS,每次查看都会弹框

Level 3: That sinking feeling…

没有输入框,有三张图片可以切换,可以看到图片切换跟URL中#之后的数字有关系,查看源代码之后发现<script>标签中有这么一句html += "<img src=‘/static/level3/cloud" + num + ".jpg‘ />";,很明显是决定图片地址的,而num来自于#后的输入,我们尝试注入,注入的时候要闭合语句,不要弄出语法错误,我的语句是1.jpg‘ onload=alert(1) ‘1,这样就变成<img src=‘/static/level3/cloud1.jpg‘ onload=alert(1) ‘1.jpg‘ ?>,这样,访问http://xss-game.appspot.com/level3/frame#1.jpg‘ onload=alert(1) ‘1,即可弹框

Level 4: Context matters

有输入框,是个定时器程序,查看timer.html的源代码发现<img src="/static/loading.gif" />,其中的timer就是输入框的输入,尝试注入并注意闭合语句,在输入框中输入1‘),alert(1) (‘便可弹框。

Level 5: Breaking protocol

这个虽然也有输入框,但是提交后发生跳转,而且跳转到的网页跟刚才输入的东西好像没啥关系……查看signup.html源代码发现,是真的没关系……不过发现这么一句<a href="{{ next }}">Next >></a>,Next跳转后的地址是由URL中的变量next决定的,于是我便想在此注入signup" onmouseover=alert(1) ",结果双引号被转换成了&quot,对confirm.html页面的注入依旧无效,页面跳来跳去的就是不弹框……无奈之下看了看提示,想起对标签还有href="javascript:alert(1)"这种执行js的方式啊,把next赋值成javascript:alert(1),刷新该网页,然后点击“NEXT”,弹框!

Level 6: Follow the ??

这个的意思就是要加载一个外部的js代码来弹框,外部代码的地址为URL中#后面的内容。外部js代码可以使用XSS平台获得(搜一下就能找到),但是通过查看源码我们发现它对http(s)进行了检查过滤,相关代码如下

if (url.match(/^https?:\/\//)) {
 setInnerText(document.getElementById("log"),
          "Sorry, cannot load a URL containing \"http\".");
        return;
      }

其中的变量url就是URL中#之后的内容,仔细观察正则式我们发现它是从开始进行匹配的,如果我们在#之后加个空格,再加上我们要加载的远程js全地址,会怎么样呢?成功绕过了该检查,弹框!

之后,便出现祝贺的蛋糕啦,啊哈!

?

时间: 2024-10-02 10:35:55

Google XSS game writeup的相关文章

有趣的游戏:Google XSS Game

Google最近出了一XSS游戏: https://xss-game.appspot.com/ 我这个菜鸟看提示,花了两三个小时才全过了.. 这个游戏的规则是仅仅要在攻击网页上弹出alert窗体就能够了. 题目页面是在iframe里嵌套的展现的.那么父窗体是怎样知道iframe里成功弹出了窗体? 是这样子实现的: 题目页面载入了这个js,改写了alert函数,当alert被调用时,向parent发送一个消息. https://xss-game.appspot.com/static/game-fr

[BugBounty] Sleeping stored Google XSS Awakens a $5000 Bounty

来源:https://blog.it-securityguard.com/bugbounty-sleeping-stored-google-xss-awakens-a-5000-bounty/ 理解 这篇文章主要是介绍了Google云端控制台上发现的存储型跨站点脚本(XSS)问题. Google提供60天 免费试用 ,预算为300美元,所需要的只是输入(正确)付款信息以证明您不是机器人. Google云:https://cloud.google.com/free/ 在项目,标题为 ">&l

XSS Filter Evasion Cheat Sheet 中文版【转】

译者注: 翻译本文的最初原因是当我自己看到这篇文章后,觉得它是非常的价值.但是这么著名的一个备忘录却一直没有人把它翻译成中文版.很多人仅仅是简单的把文中的各种代码复制下来,然后看起来很刁的发在各种论坛上,不过你要真去认真研读这些代码,就会完全不知所云了.原因是这篇文章最精华的部分是代码的解释而非代码本身. 一方面为了自己学习,一方面也想让更多国内的xss爱好者去更方便的阅读本文.所以虽然我本身英语很烂,xss技术也很烂,但还是去翻译了这篇文章.当然这也导致最后翻译出来的文章晦涩难懂.不知所云.这

XSS Filter Evasion Cheat Sheet 中文版

前言 译者注: 翻译本文的最初原因是当我自己看到这篇文章后,觉得它是非常有价值.但是这么著名的一个备忘录却一直没有人把它翻译成中文版.很多人仅仅是简单的把文中的 各种代码复制下来,然后看起来很刁的发在各种论坛上,不过你要真去认真研读这些代码,就会完全不知所云了.原因是这篇文章最精华的部分是代码的解释而非代 码本身. 一方面为了自己学习,一方面也想让更多国内的xss爱好者去更方便的阅读本文.所以虽然我本身英语很烂,xss技术也很烂,但还是去翻译了这篇文 章.当然这也导致最后翻译出来的文章晦涩难懂.

Google搜索中的突变XSS-JavaScript Library Introduced XSS Flaw in Google Search

前言2018年9月26日,开源Closure库(最初由谷歌创建并用于谷歌搜索)的一名开发人员创建了一个提交,删除了部分输入过滤.据推测,这是因为开发人员在用户界面设计方面出现了问题.但此次提交的开发人员以及审核人员并未发现这一举动将会导致XSS.2019年2月,安全研究员Masato Kinugawa发现了这个漏洞,并将其报告给了Google.Google立即做出反应,并在2019年2月22日修复了漏洞,撤销了之前9月份做的修改.另一位安全专家LiveOverflow详细描述了如何导致XSS.

BJDCTF 2nd Writeup

fake google 随便输点什么,url来看不是php,原样回显 那很有可能是ssti了,试试{{config}}有回显,直接打个python3的payload试试 {{().__class__.__bases__[0].__subclasses__()[177].__init__.__globals__.__builtins__['open']('/flag').read()}} 拿到flag old-hack 进去后看到是tp5,题目名字又叫old-attack,也没扫到源码,估计是现成

Web安全--XSS现代WAF规则探测及绕过技术

XSS现代WAF规则探测及绕过技术初始测试 1.使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过滤<>等等: 2.如果过滤闭合标签,尝试无闭合标签的payload(<b,<i,<marquee)观察响应: 3.尝试以下的payload 1 <script>alert(1);</script> 2 <script>prompt(1);<

较有意思的Apple XSS(CVE-2016-7762)漏洞

文章作者:Avfisher0x00 前言应CVE作者的要求帮忙分析一下这个漏洞,实际上这是一个思路比较有意思的Apple XSS(CVE-2016-7762).漏洞作者确实脑洞比较大也善于尝试和发掘,这里必须赞一个!0x01 分析与利用官方在2017年1月24日发布的安全公告中如下描述: 可利用设备:iPhone 5 and later, iPad 4th generation and later, iPod touch 6th generation and later 漏洞影响:处理恶意构造的

2016第七季极客大挑战Writeup

第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{We1c0m3_To_G33k_2O!6} 并且可以知道后边的题的Flag格式为 SYC{} 2.xiao彩蛋 题目提示关注微博,从Syclover Team 博客(http://blog.sycsec.com)可获取到三叶草小组微博,私信发送flag后即可得到. 3.闪的好快 一开始拖进PS分帧数