NFT:TreasureDAO攻击事件分析-ODAILY

前言

北京时间2022年03月03日,知道创宇区块链安全实验室监测到Arbitrum上TreasureDAO的NFT交易市场出现多次异常交易,黑客通过漏洞免费获取交易市场中部分NFT。知道创宇区块链安全实验室将对本次事件深入跟踪并进行分析。

事件分析

基础信息

攻击交易哈希:0x57dc8e6a28efa28ac4a3ef50105b73f45d56615d4a6c142463b6372741db2a2b

80,000,000 USDC从USDC Treasury转移到CryptoCom:金色财经报道,据Whale Alert监测,北京时间00:35,80,000,000 USDC(价值约79,976,000美元)从USDC Treasury转移到CryptoCom。[2023/5/30 9:49:29]

TreasureMarketplace:0x2E3b85F85628301a0Bce300Dee3A6B04195A15Ee

TreasureMarketplaceBuyer:0x812cdA2181ed7c45a35a691E0C85E231D218E273

USDC Treasury增发近9900万枚USDC:金色财经报道,Whale Alert数据显示,USDC Treasury增发98,999,761枚USDC(99,024,511 USD)。[2022/10/25 16:37:43]

攻击流程

攻击者调用TreasureMarketplaceBuyer合约的buyItem函数进行购买NFT的操作,但是我们从InputData中可以看出攻击者传入的_quantity参数为0。虽然传入的购买NFT数量为0,但是攻击者依然成功的获得了一枚编号为的NFT,且TokensTranferred中并未进行代币转移。

1500万枚USDT从Tether Treasury钱包转出至火币交易所:Whale Alert数据显示,北京时间6月10日9:26前后,1500万枚USDT从Tether Treasury钱包转至以TWDjXK开头的未知地址,随后该未知地址将1500万枚USDT转至火币交易所。按当前价格计算,价值约1504.78万美元,交易哈希为: b323b323852b328bea1a8bf12e9b444e0eff88618b02c0ee18175da58c18db0f。[2020/6/10]

声音 | Blockstream首席战略官:PoS类似于PoW的命名方式 让人们以为两者有相同的安全性:据ambcrypto报道,在CoinMarketCap会议的第二天,Blockstream首席战略官Samson Mow表示,比特币显然不是抗ASIC,但是对于山寨币,ASIC抵抗性是他们必须解决的问题,因为它们安全性要低得多。人们以为以太坊没有ASIC,但他们实际上是在悄悄运行,他们的哈希率上升了一段时间,然后他们被释放了。我认为股权证明非常狡猾,因为他们称其为股权证明。命名上为PoS,非常类似于PoW,以便让人们认为PoS和PoW具有相同的安全性。如果称呼为“质押安全(stake security)”会更好。此外,更环保的整个概念是对工作量证明的另一种攻击。[2019/11/15]

攻击核心

根据上述分析,问题核心可能出现在TreasureMarketplaceBuyer合约的buyItem函数。跟进分析后发现,用户调用该函数后合约首先计算出用户购买此NFT的价格,根据购买数量计算出总的价格并将所需支付的代币转入合约;然后调用TreasureMarketplace的buyItem将用户需要购买的NFT从Marketplace购买到TreasureMarketplaceBuyer最后将NFT发送到用户账户。观察合约43-46行发现对ERC-721标准的NFT转移并未对其进行数量判断,若此时的_quantity为0,用户依然会收到NFT。

跟进TreasureMarketplace的buyItem函数发现,合约从市场回购NFT时只需完成listedItem.quantity>=_quantity的限制条件后便开始转移NFT到TreasureMarketplaceBuyer合约,若此时的_quantity为0,依然会转移NFT到TreasureMarketplaceBuyer中。

根据上述分析后发现,当攻击者调用TreasureMarketplaceBuyer合约的buyItem函数进行购买NFT时,若参数_quantity值为0,由于合约并没有对NFT转移数量的判断,且计算价格totalPrice=_pricePerItem*_quantity结果为0,最后导致攻击者能够免费获取该交易市场中ERC-721标准的NFT。

总结

这次攻击产生的主要原因是项目方对NFT转移数量并未做足够的判断,且并未考虑到购买数量为0的恶意购买行为。知道创宇区块链安全实验室在此提醒,任何有关代币转移的操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。

参考链接:

knownseclab.com

knownseclab.com/hacked-archive

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

UNIBIT:UmbNetwork奖励池攻击事件分析-ODAILY

一、前言北京时间2022年3月21日,知道创宇区块链安全实验室监测到BSC链和以太坊上的UmbNetwork奖励池遭到黑客攻击,损失约70万美元。实验室第一时间对本次事件进行跟踪并分析.

[0:15ms0-1:521ms