零時科技 || LI.FI 攻擊事件分析
2024-07-29 15:21 深圳零時科技
背景介紹
2024年7月16日,我們監控到了一筆Ethereum上的攻擊事件,https://etherscan.io/tx/0xd82fe84e63b1aa52e1ce540582ee0895ba4a71ec5e7a632a3faa1aff3e763873
被攻擊的協議爲LI.FI Protocol,LI.FI Protocol是一個聚合協議。此次攻擊中,攻擊者共獲利2,276,295 USDT折合227萬USD。
攻擊及事件分析
首先,攻擊者查詢了地址0xabe45ea636df7ac90fb7d8d8c74a081b169f92ef的USDT余額,和該地址對余額對於LI.FI Protocol可以花費的額度。接着,攻擊者調用了depositToGasZipERC20這個函數,
我們可以看到上述函數的具體代碼實現,如下圖:
我們可以看到,在函數depositToGasZipERC20中調用了LibSwap.swap函數,具體代碼如下:
其中SwapData的結構如下:
我們可以看到,只要控制了swap函數的參數_swap,既可以利用LI.FI Protocol合約調用任意合約,傳入任意參數。我們可以看到,攻擊者傳入的參數爲:
根據SwapData的數據結構,我們可以看到,攻擊者利用傳入的參數調用了合約0xdac17f958d2ee523a2206206994597c13d831ec7: callTo(USDT),傳入的inputData爲:
由於0x23b872dd爲transferFrom的signature,根據該函數的參數解析的數據爲:
相當於利用LI.FI Protocol,從0xabe45ea636df7ac90fb7d8d8c74a081b169f92ef將2276295880553 USDT轉給了0x8b3cb6bf982798fba233bca56749e22eec42dcf3,至此,攻擊者完成了攻擊。
總結
本次漏洞的成因是被攻擊合約對攻擊者傳入參數校驗不嚴格,導致攻擊者可以通過構造特殊inputData來使受害者合約調用任意合約並傳入任意參數。最終,攻擊者利用特殊的參數,使得受害者合約通過transferFrom將授權給其合約的代幣轉入到攻擊者控制的地址。建議項目方在設計代碼運行邏輯時要多方驗證,合約上线前審計時盡量選擇多個審計公司交叉審計。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:零時科技 || LI.FI 攻擊事件分析
地址:https://www.sgitmedia.com/article/36827.html
相關閱讀:
- 香港穩定幣最新法案 創新催化劑還是監管枷鎖? 2024-12-23
- Ethena 對 DeFi 來說是系統性風險還是救世主? 2024-12-23
- Outlier:以太坊六大L2激勵效果研究 爲何新L2空投後留不住用戶 2024-12-23
- 韓國加密貨幣之王的稅務困局:Do Kwon被追繳千億稅款始末 2024-12-23
- 歷史新高?貝萊德BTC ETF流出7300萬美元 2024-12-23
- 2025年有哪些值得期待的加密股票? 2024-12-23
- 特朗普任命前大學橄欖球運動員Bo Hines爲加密貨幣委員會主席 2024-12-23
- 金色百科 | 什么是壓縮NFT? 如何鑄造 cNFT? 2024-12-23