用过Chrome的应该知道它的XSS Auditor,它可是灭掉了不少XSS代码呢……Google对XSS是很有研究的,不然也不敢大张旗鼓的悬赏(7500刀哦亲),还开发了一个XSS小游戏 http://xss-game.appspot.com/ (需翻墙……),一共有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" onload="startTimer('{{ timer }}');" />,其中的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

Google XSS game writeup的更多相关文章

  1. 有趣的游戏:Google XSS Game

    Google最近出了一XSS游戏: https://xss-game.appspot.com/ 我这个菜鸟看提示,花了两三个小时才全过了.. 这个游戏的规则是仅仅要在攻击网页上弹出alert窗体就能够 ...

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

    来源:https://blog.it-securityguard.com/bugbounty-sleeping-stored-google-xss-awakens-a-5000-bounty/ 理解 ...

  3. Google XSS Challenge

    https://xss-game.appspot.com/level1 https://xss-game.appspot.com/level1 payload: <svg onload=aler ...

  4. XSS Filter Evasion Cheat Sheet 中文版

    前言 译者注: 翻译本文的最初原因是当我自己看到这篇文章后,觉得它是非常有价值.但是这么著名的一个备忘录却一直没有人把它翻译成中文版.很多人仅仅是简单的把文中的 各种代码复制下来,然后看起来很刁的发在 ...

  5. Xss Bypass备忘录

    Xss Bypass备忘录 技术要发展,免不了风波. 也许这些攻攻防防会更好的促进技术的发展也说不定 就让这一次次的爆破换来将来更精练的技术的无比的宁静吧 我们静观其变吧! 缅怀当初那份最纯真Hack ...

  6. 应用安全-Web安全-XSS(跨站攻击)攻防整理

    分类 反射型 存储型 DOM型 XSF(Flash XSS) PDFXSS MHTML协议跨站(MHTML,data) 字符编码(UTF-7 XSS) 富文本编辑器测试 - 输入框 <img S ...

  7. XSS(跨站脚本攻击) - 常用代码大全

    XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...

  8. Bug Bounty Reference

    https://github.com/ngalongc/bug-bounty-reference/blob/master/README.md#remote-code-execution Bug Bou ...

  9. 【ARTS】01_12_左耳听风-20190128~20190203

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

随机推荐

  1. eclipse 使用技巧、经验 (编码、格式化模板、字体)

    版权声明:本文为博主原创文章,未经博主同意不得转载.安金龙 的博客. https://blog.csdn.net/smile0198/article/details/28697515 1.设置编码为U ...

  2. Linux常用指令全集

    Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...

  3. Docker设置容器开机自启动

    设置如下: docker update --restart=always 镜像ID 例如:docker update --restart=always e39a959d7bff. 参考:https:/ ...

  4. 【记录】form-data与x-www-form-urlencoded的区别

    1)application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了.浏览器的原生 <form> 表单,如果不设置 enctype 属性,那 ...

  5. linux里面以指定用户运行命令

    一.chroot方式 [root@localhost ~]# chroot --userspec "nginx:nginx" "/" sh -c "w ...

  6. Codeforces 1215E 状压DP

    题意:给你一个序列,你可以交换序列中的相邻的两个元素,问最少需要交换多少次可以让这个序列变成若干个极大的颜色相同的子段. 思路:由于题目中的颜色种类很少,考虑状压DP.设dp[mask]为把mask为 ...

  7. bzoj2085 [Poi2010]Hamsters 矩阵快速幂+字符串hash

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2085 题解 考虑暴力 DP 的做法.令 \(dp[i][j]\) 表示以 \(j\) 为开头的 ...

  8. Flask中的中间件

    flask也有和Django类似的中间件,不同的是使用三个装饰器来实现的. .berore_request在请求进入视图之前 @app.before_request def be1 bef be2 b ...

  9. ht-6 hashSet特性

    Set接口: Set接口是Collection接口的另外一个常用子接口,Set接口描述的是一种比较简单的集合,集合中的对象并不按特定的方式排序,并且不能保存重复的对象,即set接口可以存储一组唯一的无 ...

  10. shell学习记录----初识sed和gawk

    Linux命令行与shell脚本编程大全中关于sed和gawk的介绍合在一起,而且结构有点乱. 不像之前的命令写的很清楚.所以这次我需要写下来整理一下. 一.sed部分 1.1 sed命令格式如下: ...