据慢雾安全团队情报,2022年7月10号OMNIProtocol遭受闪电贷攻击。慢雾安全团队以简讯形式分享如下:
1.攻击者首先通过supplyERC721函数抵押doodle,抵押后合约会给攻击者相应的凭证NToken
2.调用borrow函数借出WETH
3.调用withdrawERC721尝试提取NFT,跟进到内部函数executeWithdrawERC721发现,提款会先通过burn函数去燃烧凭证
USDC市值重返400亿美元上方:金色财经报道,在北京时间3月13日凌晨美联储宣布新的紧急银行定期融资计划并支持硅谷银行储户于当地时间周一动用资金后,USDC美元锚定价格出现反弹,当前已基本恢复美元锚定,根据coingecko数据显示,USDC当前的交易价格为0.991933美元,过去24小时涨涨2.7%,其市值也重返400亿美元上方,本文撰写时达到40,427,940,918美元。(cryptoglobe)[2023/3/13 12:59:50]
而burn函数中的safeTransferFrom函数会去外部调用接收地址的OnERC721Received函数,攻击者利用这点重入了合约的liquidationERC721函数
元宇宙初创公司SodaWorld获瑞士风投CV VC投资:8月15日消息,南非元宇宙初创公司SodaWorld宣布获得瑞士风投公司CV VC投资,具体金额暂未披露,CV VC总部位于瑞士加密箍,专注于在区块链行业投资早期阶段创企。
SodaWorld 将为 2022 年威尼斯沉浸式音乐节和约翰内斯堡 Soda Studios 音乐活动的元宇宙虚拟世界直播提供支持。(Techinafrica )[2022/8/16 12:27:15]
4.在liquidationERC721函数中,攻击者先支付了WETH并接收doodlenft,接着通过判断后会调用_burnCollateralNTokens函数去燃烧掉对应的凭证,同样的利用了burn函数外部调用的性质攻击者再次进行了重入操作,先是抵押了清算获得的nft,接着调用borrow函数去借出了81个WETH,但由于vars变量是在liquidationERC721函数中定义的,因此第二次借款不会影响到liquidationERC721函数中对用户负债的检查,这导致了攻击者可以通过userConfig.setBorrowing函数将用户的借款标识设置为false即将攻击者设置成未在市场中有借款行为。
ApeCoin社区两提案完成投票:AIP-36通过,AIP-29未获通过:5月19日消息,据ApeCoin Snapshot投票页面显示,ApeCoin最新的两个提案已完成投票,AIP-36通过,Guy Oseary将被任命为ApeCoin的代表。AIP-29未获通过,该提案为了获得APECoin DAO对Ape Drops的资金支持,旨在推出一个Ape Drops Marketplace,最终获得了97.06%反对票。[2022/5/19 3:27:08]
5.在提款时会首先调用userConfig.isBorrowingAny()函数去判断用户的借款标识,假如借款标识为false,则不会判断用户的负债,故此重入后的81WETH的负债并不会在提款时被判断,使得攻击者可以无需还款则提取出所有的NFT获利
此次攻击的主要原因在于burn函数会外部调用回调函数来造成重入问题,并且在清算函数中使用的是旧的vars的值进行判断,导致了即使重入后再借款,但用户的状态标识被设置为未借款导致无需还款。慢雾安全团队建议在关键函数采用重入锁来防止重入问题。
攻击交易:0x05d65e0adddc5d9ccfe6cd65be4a7899ebcb6e5ec7a39787971bcc3d6ba73996
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。