零时科技 || Spectra攻击事件分析

时间:2024-09-24 编辑: 浏览:(829)

背景介绍

2024年7月23日,我们监控到一笔Ethereum链上攻击交易:https://etherscan.io/tx/0x491cf8b2a5753fdbf3096b42e0a16bc109b957dc112d6537b1ed306e483d0744

被攻击的项目为Spectra Protocol,Spectra协议是无需许可的,意味着其服务完全开放供公众使用。任何人都可以随意创建新的市场、交换收益衍生品或成为流动性提供者。此次攻击中,攻击者共获利188, 013asdCRV,折合73, 325USD。 

攻击及事件分析

首先,攻击者查询了asd CRV Token中,地址 0x279a7dbfae376427ffac52fcb0883147d42165ff对Spectra Protocol的授权额度与该地址的asd CRV余额。

接着,攻击者调用execute函数开始针对Spectra Protocol进行攻击,execute函数代码如下:

最终,输入数据会调用_dispatch,该函数的代码如下:

由上述代码我们可以看出,该代码根据_commandType来决定执行哪些操作,在此次攻击中,_commandType为0x12 ,所以command=0x12&0x3f=0x12,对应的值为KYBER_SWAP。

所以,攻击者调用代码段如下。我们可以看到,该代码的kyberRouter和targetData均可以被控制,意味着攻击者可以利用Spectra Protocol合约调用任意合约并传入任意参数。

我们将攻击者的inputs数据解析出来如下:

我们可以发现,kyberRouter已经被操纵为地址:

0x43e54c2e7b3e294de3a155785f52ab49d87b9922

tokenIn已经被操纵为地址:

0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

tokenOut被操纵为地址:

0xba8ce86147ded54c0879c9a954f9754a472704aa

我们可以看到Constants.ETH为:

0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE

所以,代码进入到如下流程

其中,targetData经过解析如下:

由于,transferFrom的signature为0x23b872dd;所以,transferFrom对应的参数from为:

0x279a7dbfae376427ffac52fcb0883147d42165ff

to为:

0xba8ce86147ded54c0879c9a954f9754a472704aa

value为:

188,013,365,080,870,249,823,427

又因为,kyberRouter被控制为:

0x43e54c2e7b3e294de3a155785f52ab49d87b9922,即asdCRVToken。

所以,攻击者相当于操纵了Spectra Protocol从0x279a7dbfae376427ffac52fcb0883147d42165ff转了188,013,365,080,870,249,823,427asdCRV到地址0xba8ce86147ded54c0879c9a954f9754a472704aa(此地址为攻击者控制的地址)。

至此,攻击者完成攻击。 

总结

本次漏洞的成因是被攻击合约对攻击者传入参数校验不严格,导致攻击者可以通过构造特殊的inputData来使受害者合约调用任意合约并传入任意参数。最终,攻击者利用特殊的参数,使得受害者合约通过transferFrom将授权给其合约的代币转入到攻击者控制的地址。建议项目方在设计代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。 

最新 更多 >
  • 1 HELPS币值得长期持有吗?

    HELPS币是一个去中心化的数字货币,其长期持有是否值得取决于个人的投资目标和风险承受能力。持有HELPS币可能会获得长期的投资回报,但也存在价格波动风险。因此,投资者应该在了解市场情况和资产特性的基础上做出决策,谨慎评估是否持有HELPS币符合自己的投资策略和风险承受能力。

  • 2 IMMO币有投资价值吗?

    IMO 币是一种基于区块链技术的数字货币,旨在打造一个去中心化的社交网络平台。用户可以通过 IMO 币进行交易、支付等各种经济活动,在平台上享受社交、游戏、互动等多种功能。IMO 币的发行总量有限,具有稀缺性,因此其价值可能会随着时间的推移而增加。总的来说,IMO 币是一种具有潜力的数字货币,具有多种用途和发展前景。

  • 3 XFR币发行价是多少?

    XFLR币的发行价是指其在市场上首次发售时的价格。发行价通常由发行方根据市场需求和预期的市场表现来设定。发行价的设定直接影响到投资人的购买意愿和后续的市场表现。在确定XFLR币的发行价时,发行方会考虑到市场情况、行业前景、竞争情况等多个因素,以确保能够吸引足够的投资者和确保项目的成功发行。

  • 4 WSC币发行总量是多少?

    目前wsc币的价格为1美元等值的价格,根据实时汇率转换为人民币约为6.5元。总体而言,wsc币的价格相对稳定,但仍可能受市场波动影响而有所变化。

  • 5 KAIBA币值得长期持有吗?

    Kai币是一种加密货币,其价格受市场供求关系影响。价格会随着市场交易情况不断波动,投资者可以通过不同的交易平台进行交易和交易Kai币获利。要注意市场风险和行情变化,以实现投资收益。

  • 6 KAT币有投资价值吗?

    kat币是一种数字货币,也是一种加密货币。它是由一个名为Kat系统所提出,在区块链技术的支持下进行发行和交易。kat币的特点是去中心化、匿名性和安全性,可以在网络上自由流通和使用。此外,kat币还可以用来进行交易、投资和支付,是一种具有潜力和发展空间的数字资产。

  • 7 WELT币发行价是多少?

    WETH币是Wrapped Ether的简称,是一种基于以太坊区块链的ERC-20代币,其价值始终与以太坊的价格保持同步。WETH币的价格受到以太坊市场需求和供应量的影响,通常会随着以太坊的价格波动而波动。投资者可以通过交易平台购买和出售WETH币,参与以太坊生态系统中的各种项目和金融活动。因此,随着以太坊市场的变化,WETH币的价格也会相应地有所变化。

  • 8 HOKA币值得长期持有吗?

    Hokkaido币是日本北海道地区发行的一种虚拟货币,旨在促进当地经济发展和推广本地特色产品。持有Hokkaido币的用户可以在参与的商家和景点享受特别优惠,并积极参与地方活动和促销活动。通过使用Hokkaido币,可以支持当地企业和社区,体验更多北海道特色,同时也丰富了旅行和购物的体验。

  • 9 XVG币发行价是多少?

    XVG币是一种加密数字货币,也称为Verge 币,它是基于隐私和匿名性的加密货币。XVG币的价格变动受市场供需关系、投资者情绪以及整个加密货币市场的波动影响。投资者可以通过各种加密货币交易平台买卖XVG币,但需要注意市场风险和波动性。随着区块链技术的不断发展,XVG币未来可能会在隐私领域发挥更大的作用,因此其未来的价格走势也备受关注。

  • 10 WKT币发行总量是多少?

    WTC币的发行总量为七千两百万枚。这意味着在市场上共有七千两百万枚WTC币可以进行交易和流通。在数字货币交易中,发行总量通常是一个重要的指标,可以影响其市场价值和投资潜力。