宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > DOT > 正文

?个通杀绝大多数交易平台的 XSS 0day 漏洞

作者:

时间:1900/1/1 0:00:00

文章来源:慢雾科技作者:慢雾安全团队

引子

慢雾区前后两位白帽黑客给我们反馈了这个XSS0day,第一位反馈的很早,但他自己把这个漏洞危害等级定义为低危,我们服务的交易所平台修复后,我们也没特别在意,直到第二位给我们再次提及这个XSS。

昨天,我们开始对我们服务的所有客户下发这个预警,内容:

0day漏洞预警

根据慢雾区匿名情报,通用K线展示JS库TradingView存在XSS0day漏洞,可绕过Cloudflare等防御机制。该漏洞被利用会导致用户帐号权限被盗、恶意操作等造成资产损失。请确认是否使用到该组件,如有使用到请与我们联系。

当确定我们的客户修复后,我们开始对外发声,但隐去了存在漏洞的具体组件:TradingView。今天我们发现漏洞细节已经开始失控,特出此文,针对这个漏洞做个剖析。

Kraken:此前报告的存款和提款问题现已正常运行:金色财经报道,加密货币交易平台Kraken表示:早些时候报告存款和提款出现问题,但现在所有系统都正常运行。金色财经此前报道,加密货币交易所Kraken表示,它目前正在调查几个加密资金的网关问题,包括比特币、以太坊和ERC20等几个渠道。Kraken的状态页面显示,目前存款和取款延迟。[2023/6/6 21:18:58]

防御方案

我们先给出当时我们同步给我们客户的临时快速解决方案:

TradingView库bundles?目录下有个library开头的js?文件,检查这个?文件是否存在漏漏洞洞代码:getScript(urlParams.indicatorsFile)

比特币算力近期创历史新高,突破327 EH/s:1月29日消息,据 BTC.com 数据显示,比特币算力于 1 月 25 日达到 327.01 EH/s,创历史新高。当前比特币全网算力暂报 292.97 EH/s,24 小时涨幅达 2.27%。全网难度暂报 37.59 T。[2023/1/29 11:35:02]

如果存在,临时解决?方案可以把代码改为:getScript(""),如有问题和我们反馈。

聪明的前端黑只要看了防御?案就会知道怎么去构造这个利用。

漏洞细节

TradingView是做K线展示最流行的JS库,在数字货币交易所、股票交易所等都有大量使用,所以影响目标很好找到。有个测试目标后,我们直接来看触发链接,随便找两个:

ZigZag将推出基于StarkNet的隐私交易插件Invisib L3:7月5日消息,以太坊二层解决方案zkSync上的ZK Rollup订单簿DEXZigZag将推出基于StarkNet的隐私交易插件Invisib L3,允许用户在ZK Rollups上交易时保持匿名性。Invisib L3可将订单隐藏,防止他人对用户地址(maker和taker)和金额的追踪,还可以让用户在资金转移时隐藏来源,旨在成为以太坊现有隐私解决方案的可行替代方案。[2022/7/5 1:51:10]

通过分析,触发最小简化的链接是:

必须存在三个参数:

disabledFeaturesenabledFeaturesindicatorsFile

数字资产挖矿与质押公司 Foundry Digital 收购 Web3 软件开发和咨询公司 Upstate Interactive:4月28日消息,数字资产挖矿与质押公司 Foundry Digital 表示其正在收购 Web3 软件开发和咨询公司 Upstate Interactive,旨在更大规模地扩展其去中心化基础设施。Upstate Interactive 在以太坊上构建去中心化应用程序和智能合约,支持 DeFi、NFT、DAO 等应用。Foundry 将整合 Upstate Interactive 多条业务线,并为机构提供与数字资产基础设施层相关的各种产品和服务。(CoinDesk)[2022/4/28 2:36:13]

indicatorsFile很好理解,而且利用逻辑非常简单,代码所在位置:TradingView库bundles目录下有个library开头的js文件,触发点如下:

$.getScript非常的熟悉了,在jQuery时代就已经实战了多次,这个函数核心代码是:

看代码,可以动态创建一个script标签对象,远程加载我们提供的js文件:

https://xssor.io/s/x.js

那么,另外两个参数为什么是必要的?继续看代码:

这段代码在触发点之前,如果没有提供合法的disabledFeatures及enabledFeatures参数格式,这段代码就会因为报错而没法继续。很容易知道,合法参数格式只要满足这两个参数是JSON格式即可。所以,最终利用链接是:

漏洞威力

TradingView是做K线展示最流行的JS库,在数字货币交易所、股票交易所等都有大量使用,所以影响目标很好找到。有个测试目标后,我们直接来看触发链接,随便找两个:

为什么我们会说这个XSS可以绕过Cloudflare等防御机制?这个「等」其实还包括了浏览器内置的XSS防御机制。原因很简单,因为这是一个DOMXSS,DOMXSS的优点是不需要经过服务端,不用面对服务端的防御机制,同时不会在服务端留下日志。也正是因为这是DOMXSS且非常简单的触发方式,浏览器端的XSS防御机制也没触发。

然后这个XSS的触发域和目标重要业务所在的域几乎没有做什么分离操作,利用代码其实非常好写,比如直接基于$里的一堆方法就可以轻易获取目标平台的目标用户隐私,甚至偷偷发起一些高级操作。

有经验的攻击者,是知道如何大批量找到目标的,然后写出漂亮的利用代码。这里就不展开了。

最后做个补充:

前端黑里,需要特别去做好的安全有:XSS、CSRF、CORS、Cookie安全、HTTP响应头安全、第三方js安全、第三方JSON安全、HTTPS/HSTS安全、本地储存安全等。可以查看这篇近一步了解:

杂谈区块链生态里的前端黑:https://mp.weixin.qq.com/s/d_4gUc3Ay_He4fintNXw6Q

来源链接:mp.weixin.qq.com

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3627037.html

漏洞风险安全

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

下一篇:

区块链照妖镜上线,你的对面是好是坏我一看就知道

标签:TRARADSTAVIEWSmart Trade NetworksHydraDXStakedZENVersoView

DOT热门资讯
创新板支持涨跌停制度(试行)的公告

亲爱的社区用户: 依据社委会通过关于创新版支持开收盘及涨跌停制度的决议,FCoin将分两个阶段对该决议予以支持。第一阶段支持涨跌停制度,以及标记意义上的收盘价;第二阶段将支持开收盘以及引入集合竞价机制.

1900/1/1 0:00:00
文摘 | 公钥密码学将如何继续解放全球社会?

原文阅读时长16分钟:https://medium.com/@Mat_Hargreaves/how-public-key-cryptography-will-continue-to-liberate-a-global-society-.

1900/1/1 0:00:00
为捍卫研究自由,伦敦大学学院终止与 IOTA 基金会合作关系

伦敦大学学院的区块链技术中心(TheCentreforBlockchainTechnologies,CBT)在其官网上宣布结束与IOTA基金会的合作关系,CBT认为必须维护其开放研究成果的自由.

1900/1/1 0:00:00
5.23比特币如预期中选择下行,后市该如何操作

昨日晚间的走势如弘财晚间文章中所料,BTC在逐渐偏下行的趋势影响下,其走势还是选择了向下破位。我们可以从昨天晚间的走势上看到,日内在下破7800试探7700区域支撑后,小时线进入反弹阶段晚间一阵诱多再次上探8000关口后再次承压下行一.

1900/1/1 0:00:00
俄罗斯加密挖矿公司CryptoUniverse计划于年中在西伯利亚开设工厂

据福布斯消息,俄罗斯加密挖矿公司CryptoUniverse计划于2019年年中在西伯利亚开设一家工厂。它不仅提供加密挖矿服务,还将成为人工智能、大数据和物联网空间运营企业的数据中心.

1900/1/1 0:00:00
以太坊迎来“黄金交叉”,分析师预计将突破300美元

在过去几周市值最高的加密货币比特币上涨行情的带动下,包括以太坊在内的其他加密货币也纷纷大幅上行。据newsbtc.com报道,分析师目前认为这种上涨行情可能会持续下去,并使得以太坊在短时间内突破300美元.

1900/1/1 0:00:00