用过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. html表格单元格添加斜下框线的方法

    一.分隔单元格的方法 1.用“transform: rotate(-55deg);”把一条水平线旋转一定角度就成斜线了 2.利用以下命令调整分割线位置等. :after :before transfo ...

  2. js Array 数组方法扩展

    //去重复   Array.prototype.unique = function()  {     this.sort();     var re=[this[0]];     for(var i ...

  3. canvas画随机的四位验证码

    效果图如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  4. 确定Git与GitHub连接起来

    1.准备工作 1)下载Git 2)注册GitHub 3)将Git与GitHub链接起来 1.获取ssh密匙 2.GitHub里 找到settings 填入密匙 2.正式开始 1)确定Git与GitHu ...

  5. linux--基础知识2

    #超级用户root的家目录是/root ,而普通用户的家目录被存放在/home目录下 cd /目录  切换到指定目录 注意 /  是根目录 linux的一些重要目录 1.bin目录,用来存放常用的可执 ...

  6. 01基于python玩转人工智能最火框架之TensorFlow

    课程主要内容 人工智能理论知识 开发工具介绍和环境配置 TensorFlow基础练习和应用实战 课程能学到什么? 人工智能知识点 Python库的使用 TensorFlow 框架使用和应用开发 适合人 ...

  7. 如何查看Codeforces的GYM中比赛的数据

    前置条件:黄名(rating >= 2100) 或者 紫名(rating >= 1900)并且打过30场计分的比赛. 开启:首先打开GYM的界面,如果符合要求会在右边展示出一个Coach ...

  8. 22.Express框架——2019年12月19日

    2019年12月19日14:16:36 1. express简介 1.1 介绍 Express框架是后台的Node框架,所以和jQuery.zepto.yui.bootstrap都不一个东西. Exp ...

  9. 如何删除发布服务器distribution

    在建立发布服务器后自动生成distribution数据库为系统数据库,drop无法删除,实际删除方法如下:在“对象资源管理器”-“复制”上点击右键,选择“禁用发布和分发”,依次执行即可完成该系统数据库 ...

  10. JDK1.8 HashMap源码

    序言 触摸本质才能永垂不朽 HashMap底层是基于散列算法实现,散列算法分为散列再探测和拉链式.HashMap 则使用了拉链式的散列算法,并在JDK 1.8中引入了红黑树优化过长的链表.数据结构示意 ...