链闻消息,针对跨链互操作协议PolyNetwork被黑客攻击的事件,慢雾安全团队分析称是由于跨链合约keeper被修改为黑客制定地址,从而使黑客可以随意构造交易从合约中取出任意数量的资金,具体如下:1.本次攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可以通过_executeCrossChainTx函数执行具体的跨链交易。2.由于EthCrossChainData合约的owner为EthCrossChainManager合约,因此EthCrossChainManager合约可以通过调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数修改合约的keeper。3.其中EthCrossChainManager合约的verifyHeaderAndExecuteTx函数是可以通过内部调用_executeCrossChainTx函数执行用户指定的跨链交易,所以攻击者只需要通过verifyHeaderAndExecuteTx函数传入精心构造的数据来使_executeCrossChainTx函数执行调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数以改变keeper角色为攻击者指定的地址。4.替换完成keeper角色地址后,攻击者即可随意构造交易从合约中取出任意数量的资金了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。