# Poolz遭受算數溢出攻擊,損失約66.5萬美元近日,Poolz平台在以太坊、幣安智能鏈和Polygon網路上遭受攻擊,導致大量代幣被盜,總價值約66.5萬美元。攻擊發生於2023年3月15日凌晨3點16分(UTC時間)。根據鏈上數據監控,此次攻擊涉及多種代幣,包括MEE、ESNC、DON、ASW、KMON、POOLZ等。攻擊者已將部分被盜代幣兌換爲BNB,但目前資金尚未轉移。攻擊者利用了Poolz合約中的一個算數溢出漏洞。具體來說,問題出在CreateMassPools函數中的getArraySum函數。該函數在計算token數量時,由於累加結果超過uint256類型的最大值,導致溢出,最終返回值變爲1。攻擊流程如下:1. 攻擊者首先通過某DEX兌換了一些MNZ代幣。2. 隨後調用CreateMassPools函數,利用getArraySum函數的漏洞。攻擊者傳入的_StartAmount數組包含了超大數值,導致累加溢出。3. 由於CreatePool函數使用_StartAmount記錄池子屬性,攻擊者實際只轉入1個代幣,但系統記錄的是一個巨大數值。4. 最後,攻擊者調用withdraw函數提取代幣,完成攻擊。爲防止此類問題再次發生,建議開發者使用較新版本的Solidity進行編譯,因爲新版本會自動進行溢出檢查。對於使用低版本Solidity的項目,可以考慮使用OpenZeppelin的SafeMath庫來解決整數溢出問題。此事件再次提醒我們,在智能合約開發中,處理數學運算時必須格外謹慎,尤其是涉及大數值計算時。同時,定期進行代碼審計和安全檢查也是確保項目安全的重要措施。
Poolz遭算術溢出攻擊 損失66.5萬美元
Poolz遭受算數溢出攻擊,損失約66.5萬美元
近日,Poolz平台在以太坊、幣安智能鏈和Polygon網路上遭受攻擊,導致大量代幣被盜,總價值約66.5萬美元。攻擊發生於2023年3月15日凌晨3點16分(UTC時間)。
根據鏈上數據監控,此次攻擊涉及多種代幣,包括MEE、ESNC、DON、ASW、KMON、POOLZ等。攻擊者已將部分被盜代幣兌換爲BNB,但目前資金尚未轉移。
攻擊者利用了Poolz合約中的一個算數溢出漏洞。具體來說,問題出在CreateMassPools函數中的getArraySum函數。該函數在計算token數量時,由於累加結果超過uint256類型的最大值,導致溢出,最終返回值變爲1。
攻擊流程如下:
攻擊者首先通過某DEX兌換了一些MNZ代幣。
隨後調用CreateMassPools函數,利用getArraySum函數的漏洞。攻擊者傳入的_StartAmount數組包含了超大數值,導致累加溢出。
由於CreatePool函數使用_StartAmount記錄池子屬性,攻擊者實際只轉入1個代幣,但系統記錄的是一個巨大數值。
最後,攻擊者調用withdraw函數提取代幣,完成攻擊。
爲防止此類問題再次發生,建議開發者使用較新版本的Solidity進行編譯,因爲新版本會自動進行溢出檢查。對於使用低版本Solidity的項目,可以考慮使用OpenZeppelin的SafeMath庫來解決整數溢出問題。
此事件再次提醒我們,在智能合約開發中,處理數學運算時必須格外謹慎,尤其是涉及大數值計算時。同時,定期進行代碼審計和安全檢查也是確保項目安全的重要措施。