Trend-Themen
#
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.
Also habe ich herausgefunden, dass es noch ausgeklügelter ist. Ich habe beobachtet, dass die Frontrunning-Transaktion (von den Angreifern) `initialize` aufruft und Protokolle ebenfalls _erfolgreich_ `initialize` danach aufrufen (daher denken sie, dass alles normal ist). Aber warte, wie ist das überhaupt möglich? Ich musste sehr tief in die Änderungen der Speicherplätze eintauchen und rate mal, was ich gefunden habe: Sie _setzen_ den Wert des Speicherplatzes `_initialized` am Ende der Frontrunning-Transaktion zurück (nachdem sie zum bösartigen Implementierungsvertrag gewechselt haben). Das bedeutet, dass der Proxy-Speicher jetzt aussieht, als wäre er nie initialisiert worden.
Der relevante Speicherplatz, den man sich ansehen sollte, ist `keccak256(abi.encode(uint256(keccak256(" - 1)) & ~bytes32(uint256(0xff))` = `0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00`
Das ist next-level böse.



10. Juli, 22:13
Es wird noch ausgefallener: Die Art und Weise, wie Etherscan getäuscht wurde, um den falschen Implementierungsvertrag anzuzeigen, basiert darauf, dass in derselben Frontrunning-Transaktion 2 verschiedene Proxy-Slots gesetzt werden. Etherscan verwendet eine bestimmte Heuristik, die verschiedene Speicher-Slots einbezieht, um den Implementierungsvertrag abzurufen.
Es gibt einen alten Proxy von OpenZeppelin, der den folgenden Slot verwendet hat: `keccak256("org.zeppelinos.proxy.implementation")` = `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`
Wir haben jetzt auch den Standard-EIP-1967-Slot `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)` = `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
Was passiert ist, dass der alte OpenZeppelin-Proxy-Slot mit der harmlosen Implementierungsadresse _und_ der Standard-EIP-1967-Slot ebenfalls mit der bösartigen Implementierungsadresse beschrieben wurde. Da Etherscan zuerst den alten Proxy-Slot abfragt, wurde zuerst die harmlos aussehende Adresse abgerufen und somit angezeigt.

21,48K
Top
Ranking
Favoriten