原文作者:九九,慢雾安全团队
2022年6月27日,据慢雾区消息,XCarnival项目被曝出严重漏洞遭黑客攻击并盗走3,087个ETH。XCarnival是一个ETH链上的NFT借贷项目,目前项目团队正在修复漏洞并承诺会对受影响的用户提供解决方案。慢雾安全团队第一时间介入分析,并将结果分享如下:
相关信息
核心合约地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
攻击者EOA地址
慢雾:仍有大部分钱包支持eth_sign,仅少部分钱包提供安全风险警告:金色财经报道,在加密货币NFT板块,越来越多的钓鱼网站滥用 eth_sign 签名功能来进行盲签欺诈,提醒或禁用这种低级的签名方法对于保护用户安全是至关重要的,不少 Web3 钱包已经采取相关措施来对这种危险的签名方法进行安全提示和限制。仍有一大部分加密钱包支持 eth_sign,其中少部分钱包提供 eth_sign 安全风险警告。如果用户仍想要使用 eth_sign,他们可以选择支持该功能的加密钱包。但是,用户在使用这些钱包时需要特别注意安全警告,以确保其交易的安全性。[2023/5/11 14:57:14]
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻击合约地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
慢雾:Nomad事件中仍有超过9500万美元被盗资金留在3个地址中:8月2日消息,慢雾监测显示,Nomad攻击事件中仍有超过9500万美元的被盗资金留在3个地址中。其中0xB5C55f76f90Cc528B2609109Ca14d8d84593590E中仍有1084枚ETH、120万枚DAI、103枚WBTC等约800万美元的加密资产,该地址也负责将1万枚WETH转移到另一地址以及将其他USDC转移;第二个地址0x56D8B635A7C88Fd1104D23d632AF40c1C3Aac4e3目前仍有1.28万枚ETH、1.02万枚WETH、80万DAI等约4700万美元的加密资产;第三个地址0xBF293D5138a2a1BA407B43672643434C43827179在收到3866.6万USDC后兑换为了DAI,目前有约3970万美元的加密资产。
目前慢雾经过梳理后,无法将地址3与其他两个地址连接起来,但这些攻击具有相同的模式。[2022/8/2 2:53:04]
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
慢雾:BTFinance被黑,策略池需防范相关风险:据慢雾区情报,智能DeFi收益聚合器BT.Finance遭受闪电贷攻击。受影响的策略包括ETH、USDC和USDT。经慢雾安全团队分析,本次攻击手法与yearnfinance的DAI策略池被黑的手法基本一致。具体分析可参考慢雾关于yearnfinace被黑的技术分析。慢雾安全团队提醒,近期对接CurveFinance做相关策略的机池频繁遭受攻击。相关已对接CurveFinance收益聚合器产品应注意排查使用的策略是否存在类似问题,必要时可以联系慢雾安全团队协助处理。[2021/2/9 19:19:41]
0xc45876C90530cF0EE936c93FDc8991534F8A6962
漏洞核心点分析
1.攻击者通过XNFT合约中的pledgeAndBorrow函数来进行抵押NFT并借出xToken。
声音 | 慢雾:Dapp、交易所等攻击事件造成损失已近41亿美金:慢雾数据显示Dapp、交易所等攻击事件造成的损失已达4098587697.68美金,半月增加近3亿美金。据2月28日报道,慢雾区上线“被黑档案库(SlowMist Hacked)”,目前各类攻击事件共造成约 3824082630.12 美金的损失。[2019/3/13]
在pledgeInternal函数中转入NFT并生成订单:
2.接着调用withdrawNFT函数提取出质押的NFT,其中首先判断该订单是否被清算状态,如果不是则判断该订单的状态是否为NFT还未被提取且借款金额为0,如果通过即可提取抵押的NFT。
声音 | 慢雾:使用中心化数字货币交易所及钱包的用户注意撞库攻击:据慢雾消息,近日,注意到撞库攻击导致用户数字货币被盗的情况,具体原因在于用户重复使用了已泄露的密码或密码通过撞库攻击的“密码生成基本算法”可以被轻易猜测,同时用户在这些中心化服务里并未开启双因素认证。分析认为,被盗用户之所以没开启双因素认证是以为设置了独立的资金密码就很安全,但实际上依赖密码的认证体系本身就不是个足够靠谱的安全体系,且各大中心化数字货币交易所及钱包在用户账号风控体系的策略不一定都一致,这种不一致可能导致用户由于“惯性思维”而出现安全问题。[2019/3/10]
3.以上为攻击前生成订单的准备操作,接着攻击者开始利用生成的订单直接调用xToken合约中的borrow函数进行借款。
在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提走之后再利用之前生成的订单来借款而无需还款,以此来获利。针对此类漏洞,慢雾安全团队建议在进行借款操作时应做好订单状态中是否已经提走抵押品的判断,避免再次出现此类问题。
作者:NatEliason,下文由DeFi之道编译好吧,铁子们,看起来快乐的时光已经结束,熊市可能要持续一段时间了.
1900/1/1 0:00:00本文作者:Lanli|蓝犁本轮加密市场泡沫度与当年互联网相比有过之而无不及,但本轮加密与当年互联网相比,共识的广泛度远远不如,体现在:1/VC投资热度不如2/总市值虽然接近当年互联网市值.
1900/1/1 0:00:00小牛APP:https://m.cryptopal.live/?name=b1??(链接复制到浏览器,打开下载~)6月26日14:48预警,价格约0.08美元附近,最高价格为3.091美元.
1900/1/1 0:00:00新公链的故事尚未结束,Solana、Avalanchr、Near还没有让用户完全满意,新公链故事势必延续.
1900/1/1 0:00:00简介自从去年夏季的疯狂涨势后,NFT正面临有史以来的市场冷静期。我们在第一篇文章中调查了蓝筹股NFT的表现,这篇文章中将继续研究推动NFT市场价格变化的宏观趋势.
1900/1/1 0:00:00BTC周线自前期5月初有效跌穿图中黑线支撑38000便一路下滑,中间跌速过快便阶段性反弹反抽或者区间震荡等待红线下压后继续下滑,最终插针至17600止跌回升展开区间震荡.
1900/1/1 0:00:00