Tópicos em alta
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
então descobri que é ainda mais sofisticado. Observei que o frontrunning tx (pelos atacantes) chama 'initialize' e os protocolos também chamam _successfully_ 'initialize' depois (assim eles acham que tudo está normal). Mas espere, como isso é possível? Tive que olhar muito fundo nas mudanças no slot de armazenamento e adivinhar o que encontrei: eles _resetaram_ o valor do slot de armazenamento '_initialized' no final do frontrunning tx (depois de trocarem para o contrato de implementação malicioso). Isso significa que o armazenamento proxy agora parece que nunca foi inicializado.
O slot de armazenamento relevante a ser observado é 'keccak256(abi.encode(uint256(keccak256(" - 1)) & ~bytes32(uint256(0xff))' = '0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00'
Este é o mal de próximo nível.



10 de jul., 22:13
Fica ainda mais sofisticado: a maneira como o Etherscan foi enganado mostrando o contrato de implementação errado é baseada na configuração de 2 slots de proxy diferentes no mesmo frontrunning tx. Portanto, o Etherscan usa uma certa heurística que incorpora diferentes slots de armazenamento para recuperar o contrato de implementação.
Há um proxy antigo do OpenZeppelin que usou o seguinte slot: 'keccak256("org.zeppelinos.proxy.implementation")' = '0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3'
Agora também temos o slot padrão EIP-1967 'bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)' = '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc'
Então, o que aconteceu é que o antigo slot de proxy OpenZeppelin foi gravado com o endereço de implementação benigno _e_ o slot padrão EIP-1967 também foi gravado com o endereço de implementação malicioso. Como o Etherscan consulta primeiro o slot de proxy antigo, ele recuperou o de aparência benigna primeiro e, portanto, o exibiu.

21,52K
Melhores
Classificação
Favoritos