{"content":{"title":"零时科技 || TempleDAO攻击事件分析","body":"![](https:\/\/p4.ssl.qhimg.com\/t01d87d60315cffc4fa.jpg)\r\n# 事件背景\r\n\r\n零时科技区块链安全情报平台监控到消息，北京时间2022年10月12日，TempleDAO 项目遭受黑客攻击。损失超237万美元，零时科技安全团队及时对此安全事件进行分析。\r\n\r\n# 攻击信息\r\n\r\n攻击者地址：\r\n\r\n0x9c9Fb3100A2a521985F0c47DE3B4598dafD25B01\r\n\r\n0xd3127a793dAF3AA9424525E893B494D17e798d39\r\n\r\n攻击者合约地址：\r\n\r\n0x2Df9c154fe24D081cfE568645Fb4075d725431e0\r\n\r\n被攻击地址：\r\n\r\n0xd2869042e12a3506100af1d192b5b04d65137941\r\n\r\n攻击交易：\r\n\r\n0x8c3f442fc6d640a6ff3ea0b12be64f1d4609ea94edd2966f42c01cd9bdcf04b5\r\n\r\n# 攻击步骤\r\n1.攻击者创建攻击合约和oldStaking合约\r\n![](https:\/\/p1.ssl.qhimg.com\/t019637e86798d9a03d.png)\r\n![](https:\/\/p2.ssl.qhimg.com\/t018f4c863044d025ef.png)\r\n\r\n2.调用migrateStake(）函数，将传入参数设置为攻击者控制的合约地址，将质押金额同步至新合约\r\n![](https:\/\/p1.ssl.qhimg.com\/t0198f3200eb18d01a5.png)\r\n![](https:\/\/p5.ssl.qhimg.com\/t01fc026a5eae8ecccf.png)\r\n\r\n3.调用withdrawAll函数将资金全部取出\r\n![](https:\/\/p1.ssl.qhimg.com\/t01f3e7de15c147f4b1.png)\r\n\r\n4.将获得的321,154 StaxLP 代币兑换为 1,830 ETH\r\n![](https:\/\/p1.ssl.qhimg.com\/t014c4042cb4159141d.png)\r\n\r\n\r\n# 漏洞核心\r\n\r\n在migrateStake（）函数中传递的旧的质押地址是由用户自己传入的，在函数中没有对于传入地址的判断，因此攻击者将oldStaking的地址设置为自己控制的合约地址，调用自己合约中的migrateWithdraw（）函数，绕过对于质押资金判断，之后执行withdrawall操作成功取出所有资金。\r\n![](https:\/\/p0.ssl.qhimg.com\/t01347316bd7056138b.png)\r\n由传入参数可知地址oldStaking确实是由攻击者创建的\r\n![](https:\/\/p4.ssl.qhimg.com\/t01060008199416f7e1.png)\r\n# 资金来源及流向\r\n\r\n初始资金由Binance交易所转入用作手续费\r\n![](https:\/\/p0.ssl.qhimg.com\/t01d46c61c5cc89c68a.png)\r\n攻击者将获利资金转移至地址 0x2B63d4A3b2DB8AcBb2671ea7B16993077F1DB5A0 后目前资金未移动\r\n![](https:\/\/p2.ssl.qhimg.com\/t0189c7a1119ad0cee8.png)\r\n![](https:\/\/p4.ssl.qhimg.com\/t0118bebb5651ab84ad.png)\r\n# 总结及建议\r\n\r\n此次攻击核心主要是新合约在与旧合约同步时没有对于传入的合约地址进行判断。使得攻击者能够传入自己控制的地址进而绕过旧合约中对于质押的判断，直接在新的合约中获得想要的质押数量，之后将质押取出获利。\r\n\r\n#### 安全建议\r\n\r\n建议对方法传参地址进行严格判断\r\n\r\n建议项目方上线前进行多次审计，避免出现审计步骤缺失"},"author":{"user":"https:\/\/learnblockchain.cn\/people\/52","address":null},"history":null,"timestamp":1665577824,"version":1}