Grim Finance闪电贷安全事件分析

GrimFinance遭受闪电贷攻击,攻击者利用depositFor函数的重入漏洞,通过控制token变量增加totalSupply,非法获取大量质押凭证代币。修复方案包括限制token可控性和分离修改代币数量的函数。安全关键在于对传入参数的严格验证。
摘要由CSDN通过智能技术生成

前言

援引官方消息,北京时间12月19日,Fantom链上复合收益平台GrimFinance遭遇了闪电贷攻击。知道创宇区块链安全实验室 对本次事件深入跟踪并进行分析。

事件详情

交易细节如下图所示:

在这里插入图片描述

浏览上图的交易过程可知,攻击合约(0xb08ccb39741d746dd1818641900f182448eb5e41)利用闪电贷借取代币,将借取的代币质押到SpiritSwap里增加流动性获取lp代币,而问题就出现在depositFor()函数中。

通过Tenderly(https://dashboard.tenderly.co/tx/fantom/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6/debugger 调试该笔交易,攻击者多次递归调用depositFor函数,利用该函数获取大量代币:

在这里插入图片描述

漏洞分析

depositFor() 函数位于https://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code 的第1115行:

function depositFor(address token, uint _amount,address user ) public {
   
 uint256 _pool = balance();
 IERC20(token).safeTransferFrom(msg.sender, address(this), _amount
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值