又发闪电贷价格操纵攻击?—— welnance.finance事件分析

前言

11月13日,知道创宇区块链安全实验室 监测到 BSC 上的 DeFi 协议 welnance.finance 遭遇闪电贷价格操控攻击。实验室第一时间对本次事件深入跟踪并进行分析。

事件分析

基础信息

交易哈希:0xf7a9c59953763a57f412b2e45455e70192b44356c602f7c79ddbfa9cb05f440b

攻击合约:0x96e28c2ffa1bbf45929051289ecfa8aa8039e23f

攻击者地址:0xa6516b0fc4e98a942decd6ef733cae29b74a0951

流程

1.攻击者从 WBNB-BUSD 闪电贷 1,000,000 BUSD

在这里插入图片描述

2.在 pancakeSwap 的 USD-WEL 交易对中用1,000,000 BUSD 换取 169,882 WEL

在这里插入图片描述

3.发送 80枚 WEL 到 wlWEL,获取到 4,056 wlWEL

在这里插入图片描述

4.分别从 wlUSDT 借 8,651 BUSD、wlBTC 借 0.06 BTC、wlETH 借 0.7 ETH

在这里插入图片描述

5.将剩余的 169,802 WEL 兑换成 999,893 BUSD,并归还第一步的闪电贷

在这里插入图片描述

6.将借贷获取的 5,994 BUSD、 0.7 ETH、0.06 BTC转入攻击者地址

在这里插入图片描述

原理分析

通过分析,用户在 wlXXX 池借贷时首先会调用 comptroller 的 borrowAllowed 方法判断借贷条件是否成立

在这里插入图片描述

然后调用 comptroller 的 enterMarkets 注入 wlWEL 资产作为质押品进 comptroller 中

在这里插入图片描述

在 comptroller 的 borrowAllowed 方法中,getHypotheticalAccountLiquidityInternal 方法会计算当前用户的总持仓资产价值 是否大于总借贷价值

在这里插入图片描述

在这里插入图片描述

由于第 2 步使用巨量 BUSD 兑换 WEL 操作,导致 WEL 价格直线飙升,进而导致 第 3 步的 wlWEL 价值飙升,攻击合约以此分别向 wlBTC, wlETH, wlUSDT 借款,最后卖出闪电贷部分获得的 WEL,归还 BUSD 闪电贷离场。

总结

这次闪电贷攻击的核心原因在于对抵押物价值的计算易被操控,使得攻击者通过闪电贷的巨额资金抬高了抵押物的价格,而超额借出了 Welnance 的 wlBTC, wlETH, wlUSDT 金库的资产。

此前通过闪电贷操纵价格的攻击事件频发 知道创宇区块链安全实验室 在此提醒,任何有关资金问题的操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>