慢雾安全团队对此前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获利
Bitcoin.org删除BTC白皮书并暂停英国用户比特币核心软件下载:在法院做出裁决后,匿名比特币开发人员Cobra不得不从Bitcoin.org网站上删除比特币白皮书,以防止它在英国传播。同时,他也暂停了英国用户对比特币核心软件的下载。此前消息,根据英国法院的裁决,澳本聪赢得针对Bitcoin.org的比特币白皮书版权诉讼。(U.today)[2021/7/2 0:23:07]
此次攻击的主要原因在于burn函数会外部调用回调函数来造成重入问题,并且在清算函数中使用的是旧的vars的值进行判断,导致了即使重入后再借款,但用户的状态标识被设置为未借款导致无需还款。慢雾安全团队建议在关键函数采用重入锁来防止重入问题。
动态 | 英国Everledger已将Oracle Blockchain Platform作为其区块链解决方案的一部分:据Crypto Watch消息,IBM日前宣布,英国Everledger将采用其企业区块链平台Oracle Blockchain Platform,作为Everledger基于区块链的解决方案的一部分。据悉,Everledger已将区块链技术应用于钻石、艺术品等高端产品的溯源中,本次合作的目的是改善系统的可操作性并提供附加价值。[2019/3/31]
MoonPay正式推出实用型NFT铸造服务HyperMint:6月21日消息,加密支付公司MoonPay周二宣布推出一项新服务HyperMint,允许品牌一次性铸造多达1亿枚NFT。这项新服务允许创作者和品牌将图像、音乐、视频或其他元数据附加到自己平台上的代币上。
此次发行合作伙伴包括Fox Corporation、Creative Artists Agency(CAA)、Universal Pictures(环球影业)、Death Row Records、英国奢侈品商店Selfridges、生活方式和游戏平台FaZe Clan和音乐制作人Timbaland旗下Beatclub。(The Block)[2022/6/21 4:42:05]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。