RFB漏洞
https://twitter.com/BlockSecTeam/status/1599991301650649088
攻击交易: https://bscscan.com/tx/ 0xcc8fdb3c6af8bb9dfd87e913b743a13bbf138a143c27e0f387037887d28e3c7a 攻击合约:0xd5de2914bc6d2f005228a04289e8d518c710a049 攻击账号:0x5f7db41e2196080f397cdcf8dd58e8adfdaf2ade 被攻击合约:0x26f1457f067bf26881f311833391b52ca871a4b5
在RFB函数转账时,满足条件if(sender == pair) 将会调用randMod函数随机获取奖励:
具体的随机数实现为: uint randnum = uint(keccak256(abi.encodePacked(block.number,block.timestamp,buyer,_balances[pair]))); 获取奖励的条件为:if(randnum%(10*luckyMultiplier) == 8)
攻击者只需不断转账后查看是否获利,未获利则直接回滚即可。最终结果显示为50次中有两次获利:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!