2025年3月14日,H2O代幣遭受了一次攻擊,導致損失約22,000美元。讓我們來研究這次攻擊是如何發生的。
攻擊者:https://bscscan.com/address/0x8842dd26fd301c74afc4df12e9cdabd9db107d1e
感謝閱讀!免費訂閱以接收新帖並支援我的工作。
攻擊合約:https://bscscan.com/address/0x03ca8b574dd4250576f7bccc5707e6214e8c6e0d
漏洞合約:https://bscscan.com/address/0xe9c4d4f095c7943a9ef5ec01afd1385d011855a1#code
攻擊交易:https://bscscan.com/tx/0x729c502a7dfd5332a9bdbcacec97137899ecc82c17d0797b9686a7f9f6005cb7
https://bscscan.com/tx/0x994abe7906a4a955c103071221e5eaa734a30dccdcdaac63496ece2b698a0fc3
攻擊分析
H2O是一種基於基本ERC20標準的BEP-20代幣。該代幣結合了H2和O2代幣。H2O的一個關鍵特徵是其transfer()
實現中存在邏輯缺陷——當從交易對轉移代幣時,名為_calulate
的機制使得可以鑄造額外的H2或O2代幣。
系統首先計算一個與使用者H2O餘額成比例的評級金額——餘額越高,評級越高。隨後,H2和O2代幣以getRandomOnchain
函式確定的隨機數量被鑄造。
結論:
該漏洞的產生是因為H2O代幣合約在設計從PancakeSwap交易對購買的機制時,未考慮到skim
可以在修改ERC20轉賬函式的同時達到相同效果,從而導致了攻擊。
感謝閱讀!免費訂閱以接收新帖並支援我的工作。