区块链 区块链技术 比特币公众号手机端

BRA代币被攻击事件分析

liumuhui 2年前 (2023-06-28) 阅读数 243 #技术
文章标签 智能合约安全

攻击背景

攻击者地址:0x67a909f2953fb1138bea4b60894b51291d2d0795

攻击合约地址:0x1FAe46B350C4A5F5C397Dbf25Ad042D3b9a5cb07

攻击tx:0x6759db55a4edec4f6bedb5691fc42cf024be3a1a534ddcc7edd471ef205d4047

通过blocksec的phalcon工具来分析攻击的tx

https://phalcon.blocksec.com/tx/bsc/0x6759db55a4edec4f6bedb5691fc42cf024be3a1a534ddcc7edd471ef205d4047

攻击过程分析

1.从dodo中借出1400 WBNB

image.png

2.将1000 WBNB换成10865 BRA

image.png

攻击合约收到10539 BRA,325 BRA发送回LP合约

image.png

查看下BRA的transfer方法,满足一定条件会有个tax

image.png

分别为转帐数量的3%

image.png

在这里是满足了sender==uniswapV2Pair&&!recipientAllow

recipientAllow的值为:

bool recipientAllow = ConfigBRA(BRA).isAllow(recipient);

image.png

3.将10539 BRA转到LP地址

image.png

4.调用skim()方法,to地址设置为LP地址

将多出来的10539 BRA再次发送到BRA-USDT的LP地址,LP地址共收到了10855 BRA

image.png

这是因为_tansfer函数中两个if都被满足,导致tax收了两次,导致增发

image.png

5.重复调用skim()增发BRA

image.png

6.调用swap方法,将增发的BRA换成USDT

image.png

7.将USDT换成WBNB,归还闪电贷

总结

此次攻击主要是在代币在转帐时没考虑到tax可能被收取两次的情况导致代币增发造成的。

版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门