据慢雾区情报,2022年2月14日,BSC链上的TitanoFinance项目遭受攻击。慢雾安全团队分析认为:1 攻击者创建了相关的攻击合约;2 攻击者调
据慢雾区情报,2022年2月14日,BSC链上的Titano Finance项目遭受攻击。慢雾安全团队分析认为:1. 攻击者创建了相关的攻击合约;2. 攻击者调用第一步中的合约中的函数创建了恶意的prizeStrategy合约;3. StakePrizePool合约中,owner调用了setPrizeStrategy函数 ( 该函数仅owner可以调用 ),使得_prizeStrategy被改成恶意的prizeStrategy合约。4. 接着攻击者调用了所创建的恶意的prizeStrategy合约中的_awardTickets函数,该函数调用了prizePool合约中 的award函数,该函数需要满足onlyPrizeStrategy修饰器条件 (_msgSender() == address(prizeStrategy)),该函数会给指定的to地址mint指定数量的ticket代币。此时prizePool合约中的_prizeStrategy已经在上一步被修改,满足onlyPrizeStrategy的条件,于是StakePrizePool合约给攻击者mint了32,00万个ticket代币。5. StakePrizePool合约中,owner再次调用了setPrizeStrategy函数,将_prizeStrategy改回0x5739f9F8C9Fc9854a5B6f3667a6fB14144DC40A7。6. 最后攻击者调用StakePrizePool合约中的函数将ticket代币换成Titano代币,然后在pancake池子中把Titano换成BNB,攻击者重复了这个过程8次, 最后共获利4,828.7 BNB,约1900万美元。
关键词: