前言
北京时间2022年2月14日晚,TitanoFinance遭到攻击,损失3200万TITANO代币。知道创宇区块链安全实验室第一时间跟踪本次事件并分析。
分析
基础分析攻击者地址:0xad9217e427ed9df8a89e582601a8614fd4f74563攻击者创建合约MultipleWinnersProxyFactory:0x940151f5bbbcda5b1b482592d816e96f80d6073a攻击者创建合约MultipleWinnersBuilder:0x1866207c355d4c6e0b03b4dc0bf9c658f4d13f8a攻击者创建合约MultipleWinners:0x49d078d25b08f2731cbf5af8e8cdf1ea3e0a2046官方合约StakePrizePool:0x4d7f0a96967dce1e36dd2fbb131625bbd9106442漏洞分析
此次事件,漏洞关键在于官方StakePrizePool合约中的setPrizeStrategy方法被攻击者所利用,但该方法只有管理员才有权限进行操作。
随后攻击者将合约中的_prizeStrategy地址设置为攻击者创造的合约MultipleWinners的地址
获得权限后,攻击者使用MultipleWinners合约中的_awardTickets方法铸造了3200万TicketTitano代币到攻击者地址
攻击者获取代币后,将代币进行转换,最终通过PancakeSwap将其转换为BNB,随后分散资金到各个地址总结
本次攻击事件核心原因在于官方StakePrizePool合约中的仅管理员调用方法被恶意利用,成因或许是项目方管理地址泄露,也可能是掌握管理员私钥的人监守自盗。近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。