Solidity 合约漏洞,价值 38BNB 漏洞分析

Solidity 合约漏洞,价值 38BNB 漏洞分析

1. 漏洞简介

https://twitter.com/NumenAlert/status/1626447469361102850
https://twitter.com/bbbb/status/1626392605264351235

2. 相关地址或交易

攻击交易:
https://bscscan.com/tx/0x146586f05a4513136deab3557ad15df8f77ffbcdbd0dd0724bc66dbeab98a962
攻击账号:0x187473cf30e2186f8fb0feda1fd21bad9aa177ca
攻击合约:0xd1b5473ffbadd80ff274f672b295ba8811b32538
被攻击合约:Starlink 0x518281f34dbf5b76e6cdd3908a6972e8ec49e345

3. 获利分析

4. 攻击过程&漏洞原因

查看攻击交易过程,发现攻击合约反复调用 Starlink. transfer 、Cake-LP. Skim、Cake-LP. Sync 这三个步骤,且调用完后查看了 Cake-LP、0xd1b5473ffbadd80ff274f672b295ba8811b32538 合约的 Starlink 余额。


从中可发现 Cake-LP 的 Starlink 余额正急剧减少,势必导致池子的价格失衡。查看原因发现,当调用池子 Cake-LP 的 skim 函数时,会将池子中的代币转给地址 0x9cbb175a448b7f06c179e167e1afeffb81e51dfa。

在多次重复操作后可查看到池子的 Starlink 代币数量仅为 558 单位,攻击者可以使用少量 Starlink 代币换取全部 WBNB 代币:

攻击者归还闪电贷,离场。

猜你喜欢

转载自blog.csdn.net/weixin_28733483/article/details/133577924
今日推荐