We compared source code on @etherscan before and after the fix applied://t.co/YlWHs15SiU//t.co/fCiMfdv2k4//t.co/ARdaLFCAns pic.twitter.com/B0wEHAQf6d
— Anton Bukov | k06a.eth (@k06a) September 13, 2020
Jak do tego doszło?
Oficjalny raport z incydentu bZx ujawnił, że hakerzy wykorzystali lukę w funkcji "transferFrom()", która umożliwia transfer tokenów ERC20 z jednego protokołu do drugiego.Hakerzy wywołali tą funkcję, w celu utworzenia i przeniesienia tokenów iToken do swojego portfela, co pozwoliło na sztuczne zwiększenie salda.Mówiąc dokładniej:
- Atakujący wywołali funkcję transferu z tym samym _from i _to adresu oryginalnej funkcji.
- Następnie wywołali funkcję '_internalTransferFrom' z tym samym zestawem argumentów, przez co poniższe linie kodu stały się błędne.
- To spowodowało, że _balanceFrom _balanceTo stał się równy.
Użytkownik był w stanie sztucznie zwiększyć swój stan konta.bZx naprawił już błędny kod i stworzenie sztucznego salda nie jest już możliwe. Wiodąca platforma pożyczkowa DeFi dostała zielone światło od firm audytorskich Certik i PeckShield
Komentarze