Актуальные темы
#
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.
Я обнаружил, что это еще более изощренно. Я заметил, что транзакция фронтраннинга (со стороны атакующих) вызывает `initialize`, и протоколы также _успешно_ вызывают `initialize` после этого (поэтому они думают, что все в порядке). Но подождите, как это вообще возможно? Мне пришлось глубоко изучить изменения в слотах хранения, и угадайте, что я нашел: они _сбрасывают_ значение слота хранения `_initialized` в конце транзакции фронтраннинга (после того, как они переключились на контракт злонамеренной реализации). Это означает, что хранилище прокси теперь выглядит так, как будто оно никогда не было инициализировано.
Соответствующий слот хранения, на который стоит обратить внимание, это `keccak256(abi.encode(uint256(keccak256(" - 1)) & ~bytes32(uint256(0xff))` = `0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00`
Это зло на следующем уровне.



10 июл., 22:13
Ситуация становится еще более интересной: способ, которым Etherscan был обманут, показывая неправильный контракт реализации, основан на установке 2 различных прокси-слотов в одной транзакции фронтраннинга. Таким образом, Etherscan использует определенную эвристику, которая включает различные слоты хранения для получения контракта реализации.
Существует старый прокси от OpenZeppelin, который использовал следующий слот: `keccak256("org.zeppelinos.proxy.implementation")` = `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`
Теперь у нас также есть стандартный слот EIP-1967 `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)` = `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
Таким образом, что произошло: старый слот прокси OpenZeppelin был записан с доброкачественным адресом реализации _и_ стандартный слот EIP-1967 также был записан с вредоносным адресом реализации. Поскольку Etherscan сначала запрашивает старый слот прокси, он сначала извлекает доброкачественный, и, таким образом, отображает его.

21,52K
Топ
Рейтинг
Избранное