SAFE:慢雾:OMNI Protocol 被黑简析

据慢雾安全团队情报,2022年7月10号OMNIProtocol遭受闪电贷攻击。慢雾安全团队以简讯形式分享如下:

1.攻击者首先通过supplyERC721函数抵押doodle,抵押后合约会给攻击者相应的凭证NToken

2.调用borrow函数借出WETH

3.调用withdrawERC721尝试提取NFT,跟进到内部函数executeWithdrawERC721发现,提款会先通过burn函数去燃烧凭证

NFT基础设施协议Cardinal宣布将逐步关停,因“宏观经济环境极其困难”:6月29日消息,NFT基础设施协议Cardinal在推特上表示,我们决定开始逐步结束我们的协议。这是经过深思熟虑决定的,自18个月前开始建设以来,我们已尽最大努力应对这个极其困难的宏观经济环境,适合市场的产品仍然很难找到,而现实情况是,我们团队的成员渴望探索其他追求。虽然我们已经看到了我们的质押、租赁和身份产品的一些实际用途,但我们仍然觉得它们被困在加密货币最大化社区的背景下。我们曾希望,全球其他行业将开始更大规模地采用区块链技术,但到目前为止这仍然感觉很遥远。[2023/6/29 22:08:20]

而burn函数中的safeTransferFrom函数会去外部调用接收地址的OnERC721Received函数,攻击者利用这点重入了合约的liquidationERC721函数

报告:以美元计价的稳定币占所有稳定币的99.3%:金色财经报道,DRW的加密货币子公司Cumberland发布了一份关于非美元稳定币的报告,报告指出目前,以美元计价的稳定币占所有稳定币的99.3%,也是前十几个稳定币代币。该报告强调了非美元稳定币的多个用例,包括外汇交易和跨境汇款。平均每天7.5万亿美元的外汇交易量,即使将其中的一小部分带入加密轨道,也会对交易量产生巨大的推动作用。

此外,报告指出,将美元转换为欧元的一些成本比较。Uniswap Research将在Uniswap上兑换500美元的成本为7美元,而银行收取的费用为28美元,汇款运营商收取的费用为19美元。[2023/6/7 21:22:03]

4.在liquidationERC721函数中,攻击者先支付了WETH并接收doodlenft,接着通过判断后会调用_burnCollateralNTokens函数去燃烧掉对应的凭证,同样的利用了burn函数外部调用的性质攻击者再次进行了重入操作,先是抵押了清算获得的nft,接着调用borrow函数去借出了81个WETH,但由于vars变量是在liquidationERC721函数中定义的,因此第二次借款不会影响到liquidationERC721函数中对用户负债的检查,这导致了攻击者可以通过userConfig.setBorrowing函数将用户的借款标识设置为false即将攻击者设置成未在市场中有借款行为。

Safe计划推出自己的的代币:金色财经报道,机构级钱包Safe计划推出自己的名为 SAFE 的代币,但目前还没有确定推出的时间表。然而,加密货币分析师表示,投资者可以通过购买与 Safe 的母公司 Gnosis 相关的 GNO 代币,通过某种后门开始押注 Safe 的成功。

自本月早些时候 Safe从 1kx、Coinbase Ventures、Tiger Global Management 和 Digital Currency Group 等 50 多家投资者的战略融资中筹集 1 亿美元以来, GNO 的价格已经上涨了 30% 以上。

此前,George称,SAFE 代币可能会在 9 月或 10 月推出。(Coindesk)[2022/7/27 2:40:12]

5.在提款时会首先调用userConfig.isBorrowingAny()函数去判断用户的借款标识,假如借款标识为false,则不会判断用户的负债,故此重入后的81WETH的负债并不会在提款时被判断,使得攻击者可以无需还款则提取出所有的NFT获利

此次攻击的主要原因在于burn函数会外部调用回调函数来造成重入问题,并且在清算函数中使用的是旧的vars的值进行判断,导致了即使重入后再借款,但用户的状态标识被设置为未借款导致无需还款。慢雾安全团队建议在关键函数采用重入锁来防止重入问题。

攻击交易:0x05d65e0adddc5d9ccfe6cd65be4a7899ebcb6e5ec7a39787971bcc3d6ba73996

来源:金色财经

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

地球链

[0:15ms0-1:452ms