原文作者:九九,慢雾安全团队
2022年6月27日,据慢雾区消息,XCarnival项目被曝出严重漏洞遭黑客攻击并盗走3,087个ETH。XCarnival是一个ETH链上的NFT借贷项目,目前项目团队正在修复漏洞并承诺会对受影响的用户提供解决方案。慢雾安全团队第一时间介入分析,并将结果分享如下:
相关信息
核心合约地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
攻击者EOA地址
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
Bybit上线SUI永续合约,最高杠杆50倍:5月3日消息,加密交易平台Bybit宣布上线SUI/USDT永续合约,最高杠杆50倍。
此前有消息称,SUI官方团队要求合作交易所(币安、OKX、Bybit、KuCoin等)在SUI代币上线时不推出永续合约,各大交易所未来可能会延迟一段时间上线。[2023/5/4 14:40:48]
攻击合约地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
0xc45876C90530cF0EE936c93FDc8991534F8A6962
漏洞核心点分析
1.攻击者通过XNFT合约中的pledgeAndBorrow函数来进行抵押NFT并借出xToken。
欧易OKX通过zk-STARK技术升级POR系统:据公告显示,欧易OKX正式升级储备金证明POR系统,成为行业内首个将zk-STARK (零知识可扩展的透明知识论证)加密证明技术用在储备金证明系统的交易平台,并同步将系统开源。该技术由V神的理论发展而来,旨在通过区块链确保计算的完整性和隐私。OKX在其中加入了余额总和约束、非负约束、包含性约束3项条件,以保证证明平台持有的用户资产数据的准确有效,持续引领行业透明度的标准。
同时,欧易OKX今日正式发布第六次储备金证明(PoR),BTC、ETH、USDT储备金率均超过100%,分别为103%、103%、103%,总计价值达104亿美元,自 2023 年 1 月以来增长了 39%。除原有的BTC、ETH、USDT外,欧易OKX将公示币种数量从3个增至21个,新增USDC、XRP、DOGE、SOL、OKB、APT、DASH、DOT、ELF、EOS、ETC、FIL、LINK、OKT、PEOPLE、TON、TRX、UNI,21个币种的储备金率均超过100%。[2023/4/28 14:33:21]
链上随机生成NFT项目Owls24小时交易额超500万美元:3月5日消息,据NFTGo.io数据显示,FreeMint的链上随机生成NFT项目Owls24小时交易额达503万美元,截止发稿该系列NFT地板价暂报0.37ETH。Owls总量9999枚,每枚Owls都是在Mint时使用伪随机种子在链上随机生成的。NFT Metadata本身也存储在链上,并在每次调用token URI()时动态构建为SVG。[2023/3/5 12:43:17]
在pledgeInternal函数中转入NFT并生成订单:
2.接着调用withdrawNFT函数提取出质押的NFT,其中首先判断该订单是否被清算状态,如果不是则判断该订单的状态是否为NFT还未被提取且借款金额为0,如果通过即可提取抵押的NFT。
Mutant Hounds的推特账号(@MutantHounds)已被攻击:金色财经报道,据CertiK监测,Mutant Hounds项目的推特账号(@MutantHounds)已被攻击。请用户不要点击该账号发布的任何链接。[2022/12/30 22:15:56]
3.以上为攻击前生成订单的准备操作,接着攻击者开始利用生成的订单直接调用xToken合约中的borrow函数进行借款。
Crema Finance:已将1700100枚USDC从以太坊桥接至Solana并完成转换:7月8日消息,Crema Finance就此前攻击事件发布更新称,团队已将1700100枚USDC从以太坊桥接至Solana,并将其转换为SOL、mSOL和stSOL。现在Solana地址的余额包括30935 SOL、17171 mSOL和18295 stSOL。以太坊上剩余的USDC稍后将被桥接回相应的稳定币。[2022/7/8 2:00:34]
在borrowInternal函数中,会外部调用controller合约中的borrowAllowed函数来判断是否可以借款。
可以看到在borrowAllowed函数会调用orderAllowed函数进行订单相关信息的判断,但是在这两个函数中均没有进行_order.isWithdraw状态的判断。因此攻击者可以利用之前生成的订单来调用XToken的borrow函数来借款,而因为抵押的NFT在之前已经被提出,故攻击者可以不用还款来实现获利。
攻击交易分析
此处仅展示其中一笔攻击交易的细节,其余攻击交易的手法均一致,不再赘述。
攻击前准备——生成订单的交易:
0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f
1.首先攻击者将NFT转入攻击合约并进行授权,接着调用xNFT合约中的pledgeAndBorrow函数在进行抵押NFT生成订单并借款的操作,此处需要注意一点是该函数可以控制传入的xToken,攻击者传入了自己构造的xToken合约地址,并且让借款数量为0,目的是为了满足后续能成功提出NFT时的不被清算且负债为0的条件。
2.攻击者紧接着调用withdrawNFT函数来进行提取抵押的NFT:
正式攻击交易:
0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35
攻击者调用xToken合约的borrow函数,传入之前生成的订单的orderID,重复了该操作22次,而因为NFT在准备阶段已经提走,估计无需还款以此来获利。
总结
本次漏洞的核心在于借款的时候,没有进行订单中NFT是否被提走的状态的判断,导致攻击者可以在把NFT提走之后再利用之前生成的订单来借款而无需还款,以此来获利。针对此类漏洞,慢雾安全团队建议在进行借款操作时应做好订单状态中是否已经提走抵押品的判断,避免再次出现此类问题。
来源:金色财经
大家好我是币圈小沫沫~在空头将比特币消杀币价格延续至20,000美元以下,加密货币市场复苏希望继续推动?CoinMarketCap的数据,在24小时内下降4%后.
1900/1/1 0:00:00BTC的价格已从历史高点下跌了近82%。ETH受到了更大的打击。大多数山寨币正在从各自的历史高点下跌90%以上。是的,加密货币无疑正处于熊市的阵痛之中.
1900/1/1 0:00:00在经历了比特币价格持续下跌、稳定币脱锚崩盘、三箭资本的流动性危机等一系列事件之后,整个加密行业弥漫着一种低迷压抑的情绪,投资者突然发现今年可能会是史上最难熬的一个寒冬.
1900/1/1 0:00:00???大家看到这两年交易所频频出手赞助签约各大赛事和明星,但考虑过为什么是交易所去做这件事,而不是钱包或者项目方么?????答案是,加密货币交易所是目前唯一能够跑通落地盈利且合规的商业模式.
1900/1/1 0:00:006.28以太坊晚间操作思路 ETH天图技术走势;昨开1197/高1?238/低1172/收1192/跌幅044%微跌5.28美元/振幅5.
1900/1/1 0:00:00所有的胜利,都是来自对信仰的坚持。相信相信的力量,这里从未让你我失望。欢迎关注星空价值投资,总要有人,仰望星空市场对于价格的彻底破坏,显性表现自然是“价格暴跌”,但真正的摧毁性来自“叙事”的崩塌.
1900/1/1 0:00:00