慢雾:揭露浏览器恶意书签如何盗取你的Discord账户
背景
区块链的世界遵循黑暗森林法则,在这个世界我们随时可能遭受到来自不明的外部攻击,作为普通用户不进行作恶,但是了解黑客的作恶的方式是十分必要的。
慢雾安全团队此前发布了区块链黑暗森林自救手册
(https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook),其中提到了不少关于针对 NFT 项目方的 Discord 进行攻击的手法,为了帮助读者对相关钓鱼方式有更清晰的认知,本文将揭露其中一种钓鱼方法,即通过恶意的书签来盗取项目方 Discord 账号的 Token,用来发布虚假信息等诱导用户访问钓鱼网站,从而盗取用户的数字资产。
钓鱼事件
先来回顾一起 Discord 钓鱼事件:2022 年 3 月 14 日,一则推特称 NFT 项目 Wizard Pass 的 Discord 社区被诈骗者入侵,目前已造成 BAYC、Doodles、Clone X 等 NFT 被盗,详情如下:
(来源:https://twitter.com/SerpentAU/status/1503232270219431941)
牵出其中一个解读:
(来源:https://twitter.com/sentinelwtf/status/1496293768542429187)
该解读里说的 bookmark 就是浏览器书签,这个书签里的内容可以是一段 JavaScript 恶意代码,当 Discord 用户点击时,恶意 JavaScript 代码就会在用户所在的 Discord 域内执行,盗取 Discord Token,攻击者获得项目方的 Discord Token 后就可以直接自动化接管项目方的 Discord 账户相关权限。
背景知识
要理解该事件需要读者有一定的背景知识,现在的浏览器都有自带的书签管理器,在提供便利的同时却也容易被攻击者利用。通过精心构造恶意的钓鱼页面可以让你收藏的书签中插入一段 JavaScript 代码,当受害者点击书签时会以当前浏览器标签页的域进行执行。
以上图为例,受害者打开了 discord.com 官网,并在这个页面点击了之前收藏的恶意的书签「Hello,World!」从而执行了一个弹窗语句,可以发现执行的源显示的是 discord.com。
这里有一个域的概念,浏览器是有同源策略等防护策略的,按理不属于 discord.com 做出的操作不应该在 discord.com 域的页面有响应,但书签却绕过了这个限制。
可以预见书签这么个小功能隐含的安全问题,正常添加书签的方式会明显看到书签网址:
稍微有安全意识的读者应该会直接看到网址信息明显存在问题。
当然如果是一个构造好诱导你拖拽收藏到书签栏到页面呢?可以看到 twitter 链接中的演示视频就是构造了这么个诱导页面:」Drag this to your bookmarked」。
也就是拖着某个链接即可添加到书签栏,只要钓鱼剧本写得足够真实,就很容易让安全意识不足的用户中招。
要实现拖拽即可添加到书签栏只需要构造一个 a 标签,下面是示例代码:
1 <a href="javascript: (() => { alert('Hello, World!'); })();">
2 Hello, World!
3 </a>
书签在点击时可以像在开发者工具控制台中的代码一样执行,并且会绕过 CSP(Content Security Policy) 策略。
读者可能会有疑问,类似「javascript:()」这样的链接,在添加进入到浏览器书签栏,浏览器竟然会没有任何的提醒?
笔者这里以谷歌和火狐两款浏览器来进行对比。
使用谷歌浏览器,拖拽添加正常的 URL 链接不会有任何的编辑提醒。
使用谷歌浏览器,拖拽添加恶意链接同样不会有任何的编辑提醒。
使用火狐浏览器如果添加正常链接不会有提醒。
使用火狐浏览器,如果添加恶意链接则会出现一个窗口提醒编辑确认保存。
由此可见在书签添加这方面火狐浏览器的处理安全性更高。
场景演示
演示采用的谷歌浏览器,在用户登录 Web 端 Discord 的前提下,假设受害者在钓鱼页面的指引下添加了恶意书签,在 Discord Web 端登录时,点击了该书签,触发恶意代码,受害者的 Token 等个人信息便会通过攻击者设置好的 Discord webhook 发送到攻击者的频道上。
下面是演示受害者点击了钓鱼的书签:
下面是演示攻击者编写的 JavaScript 代码获取 Token 等个人信息后,通过 Discord Server 的 webhook 接收到。
笔者补充几点可能会产生疑问的攻击细节:
1. 为什么受害者点了一下就获取了?
通过背景知识我们知道,书签可以插入一段 JavaScript 脚本,有了这个几乎可以做任何事情,包括通过 Discord 封装好的 webpackChunkdiscord_app 前端包进行信息获取,但是为了防止作恶的发生,详细的攻击代码笔者不会给出。
2. 为什么攻击者会选择 Discord webhook 进行接收?
因为 Discord webhook 的格式为
「https://discord.com/api/webhooks/xxxxxx」,直接是 Discord 的主域名,绕过了同源策略等问题,读者可以自行新建一个 Discord webhook 进行测试。
3. 拿到了 Token 又能怎么样?
拿到了 Token 等同于登录了 Discord 账号,可以做登录 Discord 的任何同等操作,比如建立一个 Discord webhook 机器人,在频道里发布公告等虚假消息进行钓鱼。
总结
攻击时刻在发生,针对已经遭受到恶意攻击的用户,建议立刻采取如下行动进行补救:
1. 立刻重置 Discord 账号密码。
2. 重置密码后重新登录该 Discord 账号来刷新 Token,才能让攻击者拿到的 Token 失效。
3. 删除并更换原有的 webhook 链接,因为原有的 webhook 已经泄露。
4. 提高安全意识,检查并删除已添加的恶意书签。
作为用户,重要的是要注意任何添加操作和代码都可能是恶意的,Web 上会有很多的扩展看起来非常友好和灵活。书签不能阻止网络请求,在用户手动触发执行的那一刻,还是需要保持一颗怀疑的心。
本文到这边就结束了,慢雾安全团队将会揭露更多关于黑暗森林的攻击事件,希望能够帮助到更多加密世界的人。
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
FIL币价格暴跌会崩盘吗?是不是骗局?避坑指南详解
本文解析FIL币是否为骗局及价格暴跌是否会崩盘,指出Filecoin项目真实但需警惕冒牌骗局,分析其技术支撑与市场压力,提醒投资者注意高波动风险及官方渠道识别。
-
CEX交易所安全吗?如何选择靠谱平台及用户防护指南
本文介绍CEX(中心化加密货币交易所)的定义与特点,分析其安全性及风险(如平台保管、合规问题),提供平台安全措施(冷钱包存储、多签技术)与用户防护建议(分散存储、2FA认证),结合2025年新规助用户降低风险。
-
DogeKing是什么币?背景和风险有哪些避坑指南?
DogeKing是结合DAO和DeFi功能的MEME属性加密货币,受狗狗币文化启发,旨在让持有者赚取狗狗币。文章分析其技术特点、市场表现及信息不透明、交易风险高等问题,提醒投资者谨慎避坑。
-
DOT币为什么大跌?会归零吗?深度解析原因及未来风险避坑指南
本文分析DOT币大跌原因,包括市场资金转向比特币、波卡网络竞争力不足及监管压力,探讨其短期归零可能性小但长期需解决技术与生态问题,并给出投资者注意事项。
-
有哪些加密货币有销毁机制?ELIZA币是否存在?避坑指南
文章介绍了BNB、MX Token、Solana等具有销毁机制的加密货币,解释了销毁机制通过减少流通量提升稀缺性的原理,并详细说明如何核实ELIZA币是否存在销毁机制的实用方法。
-
FIRO币是什么?有哪些核心特点与优势?隐私加密货币全面解析
FIRO币是专注交易隐私保护的加密货币,前身为Zcoin,采用零知识证明技术(如Lelantus协议)实现匿名转账,支持跨链隐私交易,应用于保密转账、隐私DeFi等场景,与门罗币等隐私币技术特点不同,但需注意监管及价格波动风险。
-
CKB币是主流还是山寨?投资前景如何?避坑与机会解析
文章分析CKB币为何属于山寨币,从市值、流动性、生态等方面说明判断依据,同时探讨其投资风险(价格波动、竞争压力、技术落地)与潜在机会(技术突破、低市值炒作空间),并给出不同投资者的应对策略。
-
稳定币链上支付,清算 Web2 思维
人类不需要银行,支付不需要人类2008 年,金融危机的阴影下,比特币收获第一批对法币系统失望的普通用户,走出加密朋克的小众社群。与之同时,FinTech (金融科技)一词也从 08 年渐变流行,几乎和
- 成交量排行
- 币种热搜榜
