0x00

继续做xss吧

这次是xssgame

地址 http://www.xssgame.com/

一共八关 学到了很多东西

0x01

啥也没有

<svg/onload="alert(1)">

0x02

显然是这个点了

');alert(1)('       就行了  多个属性用分号间隔

换行回车也行

0x03

换图片的时候发现#1 这个东西 找了下显然是这个点

双引号没有成功 试了下单引号

#1.jpg' onload="alert(1)"  然后就是这样了

0x04

welcomewelcome下有个sign up  点击到singup下  signup?next=confirm 输入email之后到confirm下 自动跳转 confirm?next=welcome

一直是这样的循环  confirm下是一个自动跳转到welcome的

想到了伪协议 javascript:alert(1) 这就弹了

0x05

发现表单里还有两个隐藏的input

但是输入好像都不行

没辙看了wp 发现是一个angular js模板注入

ng-non-bindable这个下所有的属性都不会解析怪不得怎么闭合都没用

在campaign这个参数下

google出来的payload

{{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}} 不能弹

但是wp给的payload可以

{{$eval(%27alert(1)%27)}}

两个隐藏的input的name参数都可以弹

0x06

还是angular模板 找了对应版本的注入payload

发现不行

单引号被转为实体字符了

试了一下get发送参数 发现会显示在form上

但是{会被吃掉

wp的意思是因为会经过模板的渲染 所以可以用实体字符

&lcub;用来代替{

&lcub;&lcub;a=%27constructor%27;b=&lcub;};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,%27alert(1)%27)()}}

&lcub;&lcub;$eval(%27alert(1)%27)}}

0x07

这道题说的是csp的绕过

Content-Security-Policy:default-src http://www.xssgame.com/f/d9u16LTxchEi/ http://www.xssgame.com/static/

观察页面 可见?menu=YWJvdXQ=  后面的参数会被base64解码

<script src="jsonp?menu=about"></script>这个东西就比较有意思了

搜了一下jsonp xss 提到了jsonp有个callback这个参数可能导致xss

传参给menu经过base加密的就好了

<script src="jsonp?callback=alert(1)"></script>

0x08

csp和前一题没有区别

有两个表单发给不同的地方 set和transfer

transfer的amount参数要求为数字 如果不为数字则会被显示

像是一个xss的点

插入xss代码发现不允许弹框 因为csrf_token的问题

仔细观察可以发现set表单下有些东西

首先可以设置name

同时设置的东西是存在cookie里面的

这样就可以控制csrf_token

其次redirect是控制跳转的

这样就可以通过设置csrf_token然后跳转到transfer下弹框

set?name=csrf_token&value=xx&redirect=transfer?name=attacker&amount=xxx"><script>alert(1)</script>&csrf_token=xx

但是不知道为啥 如果符号不经过url编码就不能成功

0x0X

这次其实还是一般参考了wp

暂时也只能做得出来简单的xss了

但是还是学习了一些新的姿势

xss挑战赛小记 0x03(xssgame)的更多相关文章

  1. xss挑战赛小记 0x02(prompt(1))

    0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...

  2. xss挑战赛小记 0x01(xsstest)

    0x00 今天在先知社区看到了一个xss挑战赛 结果发现比赛已经结束 服务器也关了 百度找了个xss挑战赛来玩一下 正好印证下xss的学习--- 地址     http://test.xss.tv/ ...

  3. 某xss挑战赛闯关笔记

    0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...

  4. XSS挑战赛(3)

    查看关键代码: <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = ...

  5. XSS挑战赛(2)

    进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...

  6. XSS挑战赛(4)

    16-20关 第十六关 关键代码为: <?php ini_set("display_errors", 0); $str = strtolower($_GET["ke ...

  7. XSS挑战赛(1)

    以前囫囵吞枣做过一遍,现在从头再来 第一关网址为:http://127.0.0.1/xss-labs-master/level1.php?name=test 而页面上显示了用户test,name可控, ...

  8. 先知xss挑战赛学习笔记

    xss游戏 游戏地址:http://ec2-13-58-146-2.us-east-2.compute.amazonaws.com/ LEMON参考wp地址 1. 文件上传 源码如下 <?php ...

  9. 有趣的游戏:Google XSS Game

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

随机推荐

  1. 关于selenium无法定位动态元素的解决方法

    今天在写一个关于登录的自动化脚本时,在对元素定位时总会报下面的错:

  2. C语言 条件编译(if )

    #include <stdio.h> #define NUM -1 int main(int argc, const char * argv[]) { #if NUM > 0 pri ...

  3. Android(java)学习笔记53:局部内部类

    1. 局部内部类 /* 局部内部类 A:可以直接访问外部类的成员 B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能 面试题: 局部内部类访问局部变量的注意事项? A:局 ...

  4. 2018.9.17 面试问题-----如何对List集合中的元素进行排序?

    Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合进行操作的工具类Collections,其中的sort方法 先 ...

  5. 四、IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍

    咱们通过创建一个 Static Web 项目大致了解了 IntelliJ IDEA 的使用界面,接下来,趁着这个热乎劲,咱们来创建第一个 Java 项目“HelloWorld”,进入如下界面: 如上图 ...

  6. mybatis学习记录三——SqlMapConfig.xml相关参数详解

      5       SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) ty ...

  7. Android学习笔记_44_apk安装、反编译及防治反编译

    一.APK安装 1.首先需要AndroidManifest.xml中加入安装程序权限: <!-- 安装程序权限 --> <uses-permission android:name=& ...

  8. 【题解】洛谷P1445 [Violet]樱花 (推导+约数和)

    洛谷P1445:https://www.luogu.org/problemnew/show/P1445 推导过程 1/x+1/y=1/n! 设y=n!+k(k∈N∗) 1/x​+1/(n!+k)​=1 ...

  9. Xshell的使用

    1. Xshell 连接 ​ xshell 新建会话,主机地址,填下图中 inner addr 里的地址 ​ ​ 然后输入用户名,勾选记住用户名,确定 ​ ​ 输入密码 密码输入正确后即可连接成功 ​ ...

  10. Javascript文件中的控制器II

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...