
編者按:本文來自PeckShield(ID:PeckShield),Odaily經授權轉載。
編者按:本文來自
,Odaily經授權轉載。
編者按:本文來自
,Odaily經授權轉載。
編者按:本文來自
詳細漏洞攻擊細節,我們將在文章後面做詳細介紹。
Figure 1: ERC777 transferFrom()
圖片描述
二級標題
圖片描述
ERC777 標準的業務組合兼容性問題
Figure 2: ERC777-Compatible tokensToSend() Hijacking
圖片描述
Figure 3: OpenZeppelin's Exploit Demo (Hook Setup)
圖片描述
Figure 4: OpenZeppelin's Exploit Demo (Hook Function)
圖片描述
圖片描述
Figure 5: Uniswap Hack
圖片描述 Figure 6: Lendf.Me Hack 二級標題 需要注意的是,正常的業務邏輯應該是項目合約中的Balance 會減去被攻擊者提走的290個imBTC,然而當supply() 執行返回時,餘額並未被重置,仍然為290 imBTC(第1,599行)。攻擊者就是通過控制修改Lendf.Me 中攻擊者的imBTC 抵押金額,有了足夠大的imBTC 抵押,攻擊就可以從各種流動交易對中藉出所有可用的10多種資產(資產總值25,236,849.44美元)。 Figure 7: Lendf.Me Hack Details 二級標題 如上圖,攻擊者在獲利之後,馬上將各個Token 轉移至其關聯賬號0xa9bf70 之中,之後攻擊者數十次通過1inch.exchange, ParaSwap 等平台將其中比較搶手的WETH, PAX, BUSD 等Token 換成ETH, DAI, BAT 代幣,另外將其中的TUSD, USDT 代幣存入Aave 借貸平台。至此為止,攻擊者及其關聯賬號的餘額如上所示。圖片描述
圖片描述
二級標題 修復建議 二級標題 修復建議 二級標題修復建議