木星链 木星链
Ctrl+D收藏木星链
首页 > TUSD > 正文

NFT:慢雾:XCarnival NFT借贷协议漏洞分析

作者:

时间:1900/1/1 0:00:00

2022年6月27日,据慢雾区消息,XCarnival项目被曝出严重漏洞遭黑客攻击并盗走3,087个ETH。XCarnival是一个ETH链上的NFT借贷项目,目前项目团队正在修复漏洞并承诺会对受影响的用户提供解决方案。慢雾安全团队第一时间介入分析,并将结果分享如下:相关信息

核心合约地址P2Controller:0x34ca24ddcdaf00105a3bf10ba5aae67953178b85XNFT:0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909xToken:0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663攻击者EOA地址0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a攻击合约地址0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d0x234e4B5FeC50646D1D4868331F29368fa92862380x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d80xc45876C90530cF0EE936c93FDc8991534F8A6962漏洞核心点分析

慢雾:共享Apple ID导致资产被盗核心问题是应用没有和设备码绑定:5月19日消息,慢雾首席信息安全官23pds发推表示,针对共享Apple ID导致资产被盗现象,核心问题是应用没有和设备码绑定,目前99%的钱包、交易App等都都存在此类问题,没有绑定就导致数据被拖走或被恶意同步到其他设备导致被运行,攻击者在配合其他手法如社工、爆破等获取的密码,导致资产被盗。23pds提醒用户不要使用共享Apple ID等,同时小心相册截图被上传出现资产损失。[2023/5/19 15:13:08]

1.攻击者通过XNFT合约中的pledgeAndBorrow函数来进行抵押NFT并借出xToken。

慢雾:警惕高危Apache Log4j2远程代码执行漏洞:据慢雾安全情报,在12月9日晚间出现了Apache Log4j2 远程代码执行漏洞攻击代码。该漏洞利用无需特殊配置,经多方验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。Apache Log4j2是一款流行的Java日志框架,建议广大交易所、钱包、DeFi项目方抓紧自查是否受漏洞影响,并尽快升级新版本。[2021/12/10 7:30:00]

在pledgeInternal函数中转入NFT并生成订单:

慢雾:nanotron安全审计报告是伪造的:慢雾科技发推表示:团队并没有对于nanotron进行审计,项目的安全审计报告是伪造的,请注意防范风险。[2020/10/8]

2.接着调用withdrawNFT函数提取出质押的NFT,其中首先判断该订单是否被清算状态,如果不是则判断该订单的状态是否为NFT还未被提取且借款金额为0,如果通过即可提取抵押的NFT。

3.以上为攻击前生成订单的准备操作,接着攻击者开始利用生成的订单直接调用xToken合约中的borrow函数进行借款。

动态 | 慢雾:10 月发生多起针对交易所的提币地址劫持替换攻击:据慢雾区块链威胁情报(BTI)系统监测及慢雾 AML 数据显示,过去的 10 月里发生了多起针对数字货币交易所的提币地址劫持替换攻击,手法包括但不限于:第三方 JS 恶意代码植入、第三方 NPM 模块污染、Docker 容器污染。慢雾安全团队建议数字货币交易所加强风控措施,例如:1. 密切注意第三方 JS 链接风险;2. 提币地址应为白名单地址,添加时设置双因素校验,用户提币时从白名单地址中选择,后台严格做好校验。此外,也要多加注意内部后台的权限控制,防止内部作案。[2019/11/1]

在borrowInternal函数中,会外部调用controller合约中的borrowAllowed函数来判断是否可以借款。

可以看到在borrowAllowed函数会调用orderAllowed函数进行订单相关信息的判断,但是在这两个函数中均没有进行_order.isWithdraw状态的判断。因此攻击者可以利用之前生成的订单来调用XToken的borrow函数来借款,而因为抵押的NFT在之前已经被提出,故攻击者可以不用还款来实现获利。

攻击交易分析

此处仅展示其中一笔攻击交易的细节,其余攻击交易的手法均一致,不再赘述。攻击前准备——生成订单的交易:0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f1.首先攻击者将NFT转入攻击合约并进行授权,接着调用xNFT合约中的pledgeAndBorrow函数在进行抵押NFT生成订单并借款的操作,此处需要注意一点是该函数可以控制传入的xToken,攻击者传入了自己构造的xToken合约地址,并且让借款数量为0,目的是为了满足后续能成功提出NFT时的不被清算且负债为0的条件。

2.攻击者紧接着调用withdrawNFT函数来进行提取抵押的NFT:

正式攻击交易:0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35攻击者调用xToken合约的borrow函数,传入之前生成的订单的orderID,重复了该操作22次,而因为NFT在准备阶段已经提走,估计无需还款以此来获利。

总结

本次漏洞的核心在于借款的时候,没有进行订单中NFT是否被提走的状态的判断,导致攻击者可以在把NFT提走之后再利用之前生成的订单来借款而无需还款,以此来获利。针对此类漏洞,慢雾安全团队建议在进行借款操作时应做好订单状态中是否已经提走抵押品的判断,避免再次出现此类问题。

标签:NFTROWBORXTOKENANFT币CROWBork Inudyxtoken

TUSD热门资讯
LTC:三箭危机和1998年的LTCM崩溃有何异同?

RaoulPal是全球宏观金融研究机构GlobalMacroInvestor和RealVision的创始人,也是当前加密领域最知名的KOL之一.

1900/1/1 0:00:00
FOR:?Web3共创社区FORSIN,希望成为孕育下个「三体」的摇篮

每一次科技进步都会给生活带来变革。随着网购的普及,阅读场景从书店迁移和扩展,随着技术和商业的进化,书本变成了屏幕,出版商变成了平台,漫长的等待变成了“作者大大快更”的互动.

1900/1/1 0:00:00
WEB3:浅谈Web3的希望、困扰和实践:技术和制度,谁是第一生产力?

在历史上大部分时期,“技术”和生产力总是紧密相连,而“观念”又是生产关系变革的驱动力,由此,通常人们会把生产力想象成技术进步,把生产关系联系到群体思维模式.

1900/1/1 0:00:00
TOKEN:专访红杉资本合伙人:如何看待加密周期及未来趋势?

红杉资本成立于1972年,到今年刚好50年,在全球风险投资领域,红杉资本是无可争议的带头大哥。自成立以来,红杉资本成功投资了苹果、思科、甲骨文、谷歌等巨头公司,见证了一个又一个传奇企业的闪耀时刻.

1900/1/1 0:00:00
NFT:God Hates NFTs的「炒作」之路:如何靠「抄袭」4天封神?

作者:0xLaughing,律动BlockBeats 6月20日当天NFT.NYC会场外抗议的人群6月20日,被Coinbase誉为「NFT世界的超级碗」的NFT.NYC盛会在纽约盛大开幕.

1900/1/1 0:00:00
GOBLIN:浅析Goblinwown NFT:「青木诅咒」会在它身上重现吗?

6月9日,据加密社区用户@0xEthanDG透露,电音先驱、NFT巨鲸史蒂夫·青木已购买了两个“哥布林”GoblintownNFT,这两个NFT都具有较为罕见的特征.

1900/1/1 0:00:00