Argomenti di tendenza
#
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.
quindi ho scoperto che è ancora più sofisticato. Ho osservato che la tx di frontrunning (da parte degli attaccanti) chiama `initialize` e i protocolli chiamano anche _con successo_ `initialize` dopo (quindi pensano che tutto sia normale). Ma aspetta, come è possibile? Ho dovuto esaminare molto a fondo le modifiche agli slot di memoria e indovina cosa ho trovato: _resettano_ il valore dello slot di memoria `_initialized` alla fine della tx di frontrunning (dopo che hanno scambiato il contratto di implementazione malevolo). Questo significa che la memoria del proxy appare ora come se non fosse mai stata inizializzata.
Lo slot di memoria rilevante da esaminare è `keccak256(abi.encode(uint256(keccak256(" - 1)) & ~bytes32(uint256(0xff))` = `0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00`
Questo è un livello di malvagità superiore.



10 lug, 22:13
Diventa ancora più sofisticato: il modo in cui Etherscan è stato ingannato a mostrare il contratto di implementazione errato si basa sull'impostazione di 2 diversi slot proxy nella stessa transazione di frontrunning. Quindi Etherscan utilizza una certa euristica che incorpora diversi slot di archiviazione per recuperare il contratto di implementazione.
C'è un vecchio proxy di OpenZeppelin che utilizzava il seguente slot: `keccak256("org.zeppelinos.proxy.implementation")` = `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`
Ora abbiamo anche lo slot standard EIP-1967 `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)` = `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
Quindi, ciò che è successo è che il vecchio slot proxy di OpenZeppelin è stato scritto con l'indirizzo di implementazione benigno _e_ lo slot standard EIP-1967 è stato scritto anche con l'indirizzo di implementazione malevolo. Poiché Etherscan interroga prima il vecchio slot proxy, ha recuperato prima quello che sembrava benigno e quindi lo ha visualizzato.

21,53K
Principali
Ranking
Preferiti