Odaily星球日報訊據慢霧安全團隊情報,11月11日,ETH鏈上的DFX Finance項目遭到攻擊,攻擊者獲利約231,138美元。慢霧安全團隊以簡訊形式分享如下: 1. 攻擊者首先調用了名為Curve的合約中的viewDeposit函數來查看合約中的存款情況,之後根據返回的存款情況來構造合適的閃電貸需要藉出的錢。 2. 緊接著繼續Curve合約的flash函數進行閃電貸,因為該函數未做重入鎖保護,導致攻擊者利用閃電貸中的flashCallback函數回調了合約的deposit函數進行存款。 3. 存款函數外部調用了ProportionalLiquidity合約的proportionalDeposit函數,在該函數中會將第二步中藉來的資金轉移回Curve合約裡,並且為攻擊合約進行存款的記賬,並且為攻擊合約鑄造存款憑證。 4. 由於利用重入了存款函數來將資金轉移回Curve合約中,使得成功通過了閃電貸還款的餘額檢查。 5. 最後調用withdraw函數進行取款,取款時會根據第三步存款時對攻擊合約記賬燃燒掉存款憑證,並以此成功取出約2,283,092,402枚XIDR代幣和99,866枚USDC代幣獲利。此次攻擊的主要原因在於Curve合約閃電貸函數並未做重入保護,導致攻擊重入了存款函數進行轉賬代幣來通過閃電貸還款的餘額判斷,由於存款時有記賬所以攻擊者可以成功提款獲利。參考攻擊交易:
https://etherscan.io/tx/0x6bfd9e286e37061ed279e4f139fbc03c8bd707a2cdd15f7260549052cbba79b7。