freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

零时科技 || XCarnival遭遇攻击,黑客获利3000余枚ETH事件分析
零时科技 2022-06-30 09:34:31 75662
所属地 陕西省

0x1 事件背景

零时科技区块链安全情报平台监控到消息,北京时间 2022年6月26日,NFT借贷协议 XCarnival 遭到黑客攻击,黑客获利3087枚ETH。零时科技安全团队及时对此安全事件进行分析。

0x2 攻击信息

  • 攻击者地址

0xb7CBB4d43F1e08327A90B32A8417688C9D0B800a

  • 攻击者合约

0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d

0x3edf976dF38f7d6273884B4066e3689Ef547D816

0x7b5a2f7cd1cc4eef1a75d473e1210509c55265d8

0x234e4B5FeC50646D1D4868331F29368fa9286238

  • 官方合约

XToken0x5417.da20ac8157dd5c07230cfc2b226fdcfc5663

XNFT0x39360ac1239a0b98cb8076d4135d0f72b7fd9909

P2Controller0x34ca24ddcdaf00105a3bf10ba5aae67953178b85

0x3 攻击步骤

1)通过混币平台 Tornado.Cash 获取初始约资金共 120 枚 ETH。

2)使用 87 枚 ETH 购买 BAYC ,ID 为 5110。

3)部署攻击合约,并将 5110 BAYC 转移给攻击合约,这里以攻击合约0x7b5a2f7cd1cc4eef1a75d473e1210509c55265d8为例。

4)进行NFT质押借贷,调用 XNFT.pledgeAndBorrow方法。

攻击者质押NFT后未进行资金借贷,随后将 NFT 通过 XNFT.withdrawNFT 取出。一笔交易中进行了多次质押借贷和取出NFT的操作,目的为了增加攻击者控制地址对应的 orderId 数量。

5)攻击者通过历史质押过的 orderId 进行借款,将上一步生成的 orderId 逐个进行借款。

6)攻击者将获利资金转移至钱包地址。

0x4 漏洞核心

攻击者通过多次质押借贷和取出NFT操作增加了攻击者相关地址和 orderId 的对应性,之后调用Xtoken合约进行借款,由于借款时检查的是攻击者质押的订单id地址,所以攻击者可以通过多次调用借款传入之前的订单id,获取大量借款。

攻击主要调用的方法流程如下:

0x5 总结及建议

通过此次攻击事件来看,攻击者主要通过多次质押借贷和取出NFT获取大量和自己地址对应订单id,随后通过多次调用借款方法取出大量资金,由于XNFT合约未对调用者质押借贷时的时间做严格限制,导致攻击者可以多次刷单增加自己质押的订单数量,之后Xtoken合约中,只通过订单id判断是否可以借款,从而使得攻击者完成质押订单后进行了多次借款操作。

安全建议

  • 建议严格限制NFT质押时间,确保不能瞬时取出;

  • 建议严格限制NFT质押时间对领取奖励的影响;

  • 建议质押之后借款时应检查多个条件是否满足。

# 黑客 # 安全攻击
本文为 零时科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
零时科技 LV.7
这家伙太懒了,还未填写个人描述!
  • 118 文章数
  • 16 关注者
零时科技 || Four.meme 攻击事件分析2
2025-03-19
零时科技 || H2O 攻击事件分析
2025-03-18
【安全月报】| 2月份因漏洞、黑客和诈骗造成的损失约为 17.82 亿美元
2025-03-04
文章目录