慢雾:Crosswise遭受攻击因setTrustedForwarder函数未做权限限制

2022-01-18 23:19 栏目:24H快讯 来源:网络整理 查看()

Crosswise项目遭受攻击,慢雾分析如下: 1. setTrustedForwarder函数未做权限限制,攻击者可公开调用setTrustedForwarder去更改trustedForwarder 为自己地址。 2. _msg.sender() 中,若满足isTrustedForwarder时会返回用户calldata最后20个字节, 故攻击者构造calldata去绕过transferOwnership的onlyOwner检查,使自己成为合约的Onwer。 3. 攻击者通过CrosswiseRouter用0.01 BNB换出3.71 CRSS。 4. 攻击者通过deposit把1 CRSS存入Crosswise MasterChef。 5. 攻击者调用set函数为MasterChef里的pid为0的池子部署新的特定构造的策略。 6. 攻击者接着调用MasterChef的withdraw函数, 传入指定的pid和需要提款的数量_amount,可以推测出构造的恶意策略里的两个变量为LockedTotal = 99999999与sharesTotal = 1。接着会计算user.amount = user.amount.sub(shareRemoved),shareRemoved是调用的恶意策略里的withdraw函数取得,这也是恶意策略里攻击者让withdraw函数直接返回0的原因。MasterChef合约把池子里的692K CRSS直接转给攻击者。 7. 攻击者把692K CRSS通过CrosswiseRouter合约兑换出547 BNB完成攻击。 此次攻击是由于setTrustedForwarder函数未做权限限制,且在获取调用者地址的函数_msg.sender() 中,写了一个特殊的判断,导致后续owner权限被转移以及后续对池子的攻击利用。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发