BGLD 通缩代币漏洞分析

  • Archime
  • 更新于 2022-12-18 19:52
  • 阅读 3067

BGLD 通缩代币漏洞分析

1、 BGLD漏洞简介

https://twitter.com/BlockSecTeam/status/1602335214356660225

1.png

2、 相关地址或交易

攻击交易: 0xea108fe94bfc9a71bb3e4dee4a1b0fd47572e6ad6aba8b2155ac44861be628ae 攻击合约:0x56b2b04e5cea5274fc5f79d648ea7da739a50b41 攻击账号:0xf4fd2ebe7196c8e99e88bcc4aef69dda0e493b8f 被攻击合约:0x7526-Cake-LP 0x7526cc9121ba716cec288af155d110587e55df8b 0x4293-Cake-LP 0x429339fa7a2f2979657b25ed49d64d4b98a2050d

3、 获利分析

2.png

4、 攻击过程&漏洞原因

通常调用ERC20代币合约的transfer方法转账时,不会损失任何代币。但是若代币转移过程中,将发送方的代币按照一定比例消耗,将可能会对池子中的代币数量产生影响,进而影响价格。 查看交易过程,可以发现攻击者调用了池子的skim方法后,池子中的0xc231-BGLD代币数量急剧减少,势必引发价格失衡,既可以使用少量的BGLD代币即可兑换出大量的WBNB代币。

3.png 那为什么攻击者要调用池子的skim方法呢?又是怎么引起池子中的BGLD代币急剧减少的呢?原因在于BGLD是一种通缩代币,会将发送方待转移的BGLD代币按照一定比例减少,最终导致发送方的BGLD持有量减少。如果持有方是池子,即可实现减少池子中的BGLD代币的目的。

4.png 具体的攻击步骤: 1) 攻击者先给池子转移一笔BGLD代币,再调用池子的skim函数,因为此时池子中的BGLD代币超过reserver数量,池子将会调用BGLD代币的transfer方法将多余的代币发送指定接受方:

5.png 2) BGLD代币将会按照比例burn发送方的持有量,最终导致池子中的BGLD代币数量急剧减少,价格失衡:

6.png

点赞 0
收藏 1
分享

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Archime
Archime
0x96C4...508C
江湖只有他的大名,没有他的介绍。