漏洞分析合约存在一个stakeOnBehalf函数使得攻击者可以为任意用户进行抵押,如下图所示:此函数中的 lastStakeTimes[stakeFor] = block.timest 语句会更新用
YFV是基于以太坊的一个DeFi项目,今天早些时候,YFV官方发文称遭到勒索。攻击者利用staking的合约漏洞,可以任意重置用户锁定的YFV。
并表示,此次事件可能和不久前的“pool 0”事件相关,勒索者极有可能是在“pool 0”事件中未取回资金的“愤怒的农民”。
漏洞分析
合约存在一个stakeOnBehalf函数使得攻击者可以为任意用户进行抵押,如下图所示:
此函数中的 lastStakeTimes[stakeFor] = block.timest 语句会更新用户地址映射的laseStakeTimes[user]。而用户取出抵押所用的函数中又存在验证,要求用户取出时间必须大于lastStakeTimes[account]+72小时。如下图所示:
UnfrozenStakeTime如下图所示:
综上所述,恶意用户可以向正常用户抵押小额的资金,从而锁定正常用户的资金。
根据链上信息,我们找到了两笔疑似攻击的交易,如下所示:
0xf8e155b3cb70c91c70963daaaf5041dee40877b3ce80e0cbd3abfc267da03fc9
0x8ae5e5b4f5a026bc27685f2b8cbf94e9e2c572f4905fcff1e263df24252965db
其中一笔如下图所示:
此两笔交易都来自同一地址,且均为极小值。由此我们可以基本判定这是一个测试锁死问题的交易。
总结
针对于本次事件,究其根本原因,还是没有做好上线前的代码审计工作。本次事件实际上是属于业务层面上的漏洞。
根据成都链安在代码审计方面的经验,个别项目方在进行代码审计时,未提供完整的项目相关资料,使得代码审计无法发现一些业务漏洞,导致上线后损失惨重。
成都链安·安全实验室在此提醒各项目方:安全是发展的基石,做好代码审计是上线的前提条件。
猜你喜欢
-
bitget最新平台官网查看加密行情
特别是合约交易上,Bitget合约广泛采集众多现货交易市场的指定数字货币交易价格,针对每个合约币种选择3家以上主流交易所的币对作为指数权重成分,确保合约市场价格始终锚定现货价格
2024年04月25日1 -
分析Bitget这个是什么平台
您也可以通过从官方渠道下载安装Bitget APP,在这里,用户可以快速、安全和方便地进行数字货币交易,可以实时查看了解Bitget最新官网说明和各种数字资产的行情信息,让用户能够更好地了解市场行情,
2024年04月25日1 -
分享Bitget wallet下载方法
3.Bitget Swap:Bitget Swap拥有全网最强大的Swap功能,提供实时、精准的K线图数据,支持90+主流区块链,聚合100+ DEX和16个跨链桥
2024年04月25日1 -
bitget怎么下载?bitget交易所的风险控制机制与用户保障措施
请直接访问Bitget交易所的官方网站或联系其官方客服,以获取关于其当前风险控制机制与用户保障措施的最新、最准确信息
2024年04月25日1 -
Bitget这个交易可信吗?一文知全貌
Bitget交易所是一家加密货币交易平台,支持多种加密货币交易对,并且提供了杠杆交易功能,同时Bitget交易平台提供用户友好的交易界面和丰富的交易工具,包括k线图、深度图、交易订单等,以帮助用户进行
2024年04月25日1 -
BITGET这个是什么平台,这篇文章为你揭晓
3. 量化交易和API接口:对于有编程技术基础或使用量化交易策略的用户来说,Bitget交易所提供了丰富的API接口,支持用户进行更加灵活的交易操作
2024年04月25日1