Poly Network sofreu um ataque de Hacker: falha técnica levou ao roubo de fundos
O protocolo de interoperabilidade entre cadeias Poly Network foi recentemente alvo de um ataque Hacker, despertando ampla atenção na indústria. De acordo com a análise da equipe de segurança, este ataque não foi causado pela divulgação da chave privada do keeper, mas sim pelo uso de vulnerabilidades do contrato pelos atacantes, que modificaram o endereço do keeper do contrato EthCrossChainData através da construção de dados específicos.
Detalhes do ataque
O núcleo do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, que pode executar transações cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, que pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante passa dados cuidadosamente elaborados através da função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx chame a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando o papel de keeper para o endereço especificado pelo atacante.
Após a substituição do endereço do keeper, o hacker pode construir transações à vontade para retirar fundos do contrato.
Fluxo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante executou várias transações de ataque, retirando fundos do contrato.
Após o ataque, devido à alteração do keeper, as transações normais de outros usuários foram revertidas.
O atacante também realizou operações semelhantes na rede Ethereum, alterando o keeper e implementando o ataque.
Resumo
Este ataque explorou principalmente a vulnerabilidade do keeper do contrato EthCrossChainData, que pode ser modificado pelo contrato EthCrossChainManager. O atacante, através da função verifyHeaderAndExecuteTx, transmitiu dados cuidadosamente elaborados, alterando o keeper do contrato EthCrossChainData para um endereço sob seu controle, obtendo assim a permissão para retirar fundos. Este evento destaca novamente a importância da auditoria de segurança de contratos inteligentes e a necessidade de considerar cuidadosamente diversos riscos potenciais ao projetar protocolos de cross-chain.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
18 gostos
Recompensa
18
4
Partilhar
Comentar
0/400
ColdWalletGuardian
· 5h atrás
Mais uma vez fui atacado...
Ver originalResponder0
LiquidatedNotStirred
· 5h atrás
Outra vez o contrato falhou.
Ver originalResponder0
governance_ghost
· 6h atrás
Morrer de rir, o código é a essência do rug.
Ver originalResponder0
CompoundPersonality
· 6h atrás
Mais uma nova vulnerabilidade? Os desenvolvedores não conseguem ser mais estáveis?
Poly Network sofreu um ataque de hacker: a vulnerabilidade do contrato levou à alteração do keeper
Poly Network sofreu um ataque de Hacker: falha técnica levou ao roubo de fundos
O protocolo de interoperabilidade entre cadeias Poly Network foi recentemente alvo de um ataque Hacker, despertando ampla atenção na indústria. De acordo com a análise da equipe de segurança, este ataque não foi causado pela divulgação da chave privada do keeper, mas sim pelo uso de vulnerabilidades do contrato pelos atacantes, que modificaram o endereço do keeper do contrato EthCrossChainData através da construção de dados específicos.
Detalhes do ataque
O núcleo do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, que pode executar transações cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, que pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante passa dados cuidadosamente elaborados através da função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx chame a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando o papel de keeper para o endereço especificado pelo atacante.
Após a substituição do endereço do keeper, o hacker pode construir transações à vontade para retirar fundos do contrato.
Fluxo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante executou várias transações de ataque, retirando fundos do contrato.
Após o ataque, devido à alteração do keeper, as transações normais de outros usuários foram revertidas.
O atacante também realizou operações semelhantes na rede Ethereum, alterando o keeper e implementando o ataque.
Resumo
Este ataque explorou principalmente a vulnerabilidade do keeper do contrato EthCrossChainData, que pode ser modificado pelo contrato EthCrossChainManager. O atacante, através da função verifyHeaderAndExecuteTx, transmitiu dados cuidadosamente elaborados, alterando o keeper do contrato EthCrossChainData para um endereço sob seu controle, obtendo assim a permissão para retirar fundos. Este evento destaca novamente a importância da auditoria de segurança de contratos inteligentes e a necessidade de considerar cuidadosamente diversos riscos potenciais ao projetar protocolos de cross-chain.