Poly Network黑客攻擊深度剖析:EthCrossChainData合約keeper角色被篡改

robot
摘要生成中

Poly Network遭受黑客攻擊詳細分析

近期,跨鏈互操作協議Poly Network遭受黑客攻擊,引起廣泛關注。安全團隊對此事件進行了深入分析,認爲攻擊者是通過精心構造的數據修改了EthCrossChainData合約的keeper角色,而非此前傳言的keeper私鑰泄露導致。

攻擊核心

攻擊的關鍵在於EthCrossChainManager合約的verifyHeaderAndExecuteTx函數可以通過_executeCrossChainTx函數執行特定的跨鏈交易。由於EthCrossChainData合約的owner是EthCrossChainManager合約,因此後者能夠調用EthCrossChainData合約的putCurEpochConPubKeyBytes函數來修改合約的keeper。

攻擊者只需通過verifyHeaderAndExecuteTx函數傳入精心設計的數據,就能使_executeCrossChainTx函數執行對EthCrossChainData合約putCurEpochConPubKeyBytes函數的調用,從而將keeper角色更改爲攻擊者指定的地址。完成keeper角色地址替換後,攻擊者便可隨意構造交易,從合約中提取任意數量的資金。

攻擊過程

  1. 攻擊者首先通過EthCrossChainManager合約的verifyHeaderAndExecuteTx函數調用putCurEpochConPubKeyBytes函數,更改keeper角色。

  2. 隨後,攻擊者開始實施一系列攻擊交易,從合約中提取資金。

  3. 攻擊完成後,由於keeper被修改,導致其他用戶的正常交易被拒絕執行。

  4. 類似的攻擊手法也在以太坊網路上實施,過程與在BSC上的攻擊相似。

結論

此次攻擊的根本原因在於EthCrossChainData合約的keeper可以被EthCrossChainManager合約修改,而EthCrossChainManager合約的verifyHeaderAndExecuteTx函數又能通過_executeCrossChainTx函數執行用戶輸入的數據。攻擊者利用這一漏洞,通過構造特定數據,成功將EthCrossChainData合約的keeper更改爲自己控制的地址,從而實現了對合約資金的非法提取。

這一事件再次強調了智能合約安全審計的重要性,尤其是在涉及跨鏈操作和關鍵角色管理的復雜系統中。開發團隊應該更加謹慎地設計和實現合約權限管理機制,以防止類似的安全漏洞被利用。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
链上流浪诗人vip
· 14小時前
又被黑了?合约还能养
回復0
断网验钞机vip
· 14小時前
又一个漏洞被抓到了
回復0
Rugpull幸存者vip
· 15小時前
又被摁在地上锤了
回復0
airdrop_huntressvip
· 15小時前
又见合约漏洞 就这?
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)