Google CTF 2017 joe xss

题目是看了别人题解重新做的。
题目地址 http://joe.web.ctfcompetition.com/ ,可以重命名、聊天、报告bug、登录。

首先是输入rename 重命名,输入alert之类常见的测试发现没有弹窗,检查发现聊天界面都对我输入的内容都转义了。但是看别人的writeup 又有弹窗,是怎么回事呢? 原来rename 后,需要重新打开一个浏览器标签,就会发现Web 应用将用户昵称显示在title 标签里且没有转义。因此此处有一个存储型Self XSS 。

image.png

题目的hint 是说要拿到管理员的Cookie , 那怎么办呢? 报告bug 功能处,会有一个地方可以输入URL,管理员会用浏览器执行。

writeup 提到login 功能时,观察发送的HTTP请求 ,会发现有一串login?id_token= .... 的URL 。当我们尝试在隐身窗口打开这条URL时,会打开我们刚才设置的payload XSS,并会有弹窗。 因此只要任何人打开这条URL都会以我刚才的身份登录进去,就可以执行Self XSS了。

Google CTF 2017 joe xss_第1张图片
image.png

于是思路就是,我们在重命名设置偷cookie的XSS ,然后我们向管理员报bug 并提交我们login的URL 。当管理员打开URL时,由于都是同个竞赛题站的域,于是我们就会收到管理员的cookie 。

重命名如下:

然后提交login 的URL 报bug ,提示过长。 于是用https://goo.gl/ 缩短URL 。提交后,在服务器抓到cookie 如图。

image.png

参考: https://codeburst.io/joe-web-challenge-google-ctf-2017-7120205a1297

你可能感兴趣的:(Google CTF 2017 joe xss)