慢雾安全团队对此前7月10日OMNIProtocol闪电贷攻击事件进行了分析:1.攻击者首先通过supplyERC721函数抵押doodle,抵押后合约会给攻击者相应的凭证NToken;2.调用borrow函数借出WETH;3.调用withdrawERC721尝试提取NFT,跟进到内部函数executeWithdrawERC721发现,提款会先通过burn函数去燃烧凭证而burn函数中的safeTransferFrom函数会去外部调用接收地址的OnERC721Received函数,攻击者利用这点重入了合约的liquidationERC721函数;4.在liquidationERC721函数中,攻击者先支付了WETH并接收doodlenft,接着通过判断后会调用_burnCollateralNTokens函数去燃烧掉对应的凭证,同样的利用了burn函数外部调用的性质攻击者再次进行了重入操作,先是抵押了清算获得的nft,接着调用borrow函数去借出了81个WETH,但由于vars变量是在liquidationERC721函数中定义的,因此第二次借款不会影响到liquidationERC721函数中对用户负债的检查,这导致了攻击者可以通过userConfig.setBorrowing函数将用户的借款标识设置为false即将攻击者设置成未在市场中有借款行为;5.在提款时会首先调用userConfig.isBorrowingAny()函数去判断用户的借款标识,假如借款标识为false,则不会判断用户的负债,故此重入后的81WETH的负债并不会在提款时被判断,使得攻击者可以无需还款则提取出所有的NFT获利
此次攻击的主要原因在于burn函数会外部调用回调函数来造成重入问题,并且在清算函数中使用的是旧的vars的值进行判断,导致了即使重入后再借款,但用户的状态标识被设置为未借款导致无需还款。慢雾安全团队建议在关键函数采用重入锁来防止重入问题。
标签:BURNONEBURNERBaby BitBurnReflectstone币2023burger币发展前景ENERGYX币
Highstreet将和AnimocaBrands合作推出5000部未来全地形适用房车的首次销售,这标志着HighstreetWorld将进入元宇宙建设的下一阶段.
PoolTogether联合创始人LeightonCusack在Uniswap治理论坛发布Uniswap费用开关的讨论提案,讨论包括是否应该开启Uniswap费用开关及如何使用费用.
据TheBlock报道,全球信贷服务商HidedRoadPartners宣布完成5000万美元A轮融资,CastleIslandVentures领投.
Polygon公布第二季度网络数据:Polygon第二季度独立地址数增长12%至534万个,交易笔数增长4%至2.84亿笔,网络收入为556万美元。此外,平均转账成本下降49%至0.018美元.
Highstreet与8-bit系列创始人JonathanKoon达成合作,将在8月1日推出他们的第一个QR码时尚系列.
据CoinDesk报道,区块链研究公司Elliptic对上周Harmony跨链桥Horizo??n黑客事件进行了分析,称此事件的幕后黑手可能是朝鲜黑客组织LazarusGroup.