首發 | 一張支票提款兩次的作案手法 你一定不陌生 Paraluni 被攻擊事件分析

發表於 2022-03-14 09:59 作者: CertiK中文社區

北京時間2022年3月13日上午9:04,CertiK安全技術團隊監測到Paraluni's MasterChef 合約遭到攻擊,大約170萬美元的資金通過多筆交易從該項目中被盜。

下文CertiK安全團隊將從該項目的操作及合約等方面爲大家詳細解讀並分析。

漏洞交易

攻擊者地址: https://bscscan.com/address/0x94bc1d555e63eea23fe7fdbf937ef3f9ac5fcf8f 

交易實例: https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54

合約地址

Masterchef合約: https://bscscan.com/address/0xa386f30853a7eb7e6a25ec8389337a5c6973421d#code

攻擊流程

注意,這個攻擊流程是以下面這個交易爲基礎的:https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54

准備階段:

  • 攻擊者部署了兩個惡意的代幣合約UGT和UBT。

  • 在UBT代幣合約中,有兩個惡意的函數實現:

1. 在 "transferFrom() "函數中,攻擊者實現了對MasterChef的 "deposit() "函數的調用,以存入LP代幣。

2. 一個 "withdrawAsset() "函數,將調用Masterchef的 "withdraw() "來提取存入的LP代幣。

攻擊階段:

  • 攻擊者利用閃電貸獲得了156,984 BSC-USD和157,210 BUSD。

  • 攻擊者向ParaPair發送通過閃電貸獲得的BSC-USD和BUSD代幣,並收到155,935枚LP代幣作爲回報。

  • 然後,攻擊者調用 "depositByAddLiquidity() "函數,將LP代幣存入資金池。

1. 在調用此函數時:輸入參數“_pid ”爲18,“_tokens ”爲[UGT,UBT]。

2. 因爲 depositByAddLiquidity() 會調用 “UBT.transferFrom()” 函數, 因此MasterChef.deposit() 函數會被觸發並且向合約存入 155,935 LP 代幣。

3. 因此, 155,935 LP 代幣被存入了兩次並且攻擊者獲得了兩份“userInfo” 的記錄 (一次是從 UBT, 另一次是從攻擊者的合約)。

  • 最後,攻擊者提取了兩次:

1. 第一次是通過函數“UBT.withdrawAsset()”。

2. 另一個是來自攻擊者對 “Masterchef.withdraw() ”函數的調用。最後,攻擊者刪除了流動資金並返還了閃電貸。

合約漏洞分析

  • 在函數`MasterChef.depositByAddLiquidity()`中,作爲參數傳入的`_tokens`可以與池中的編號爲`_pid`的tokens不匹配。

  • `depositByAddLiquidity()`函數通過調用`addLiquidityInternal()`函數,觸發了傳入惡意代幣(UBT)的“transferFrom”函數,進而導致了重入的問題。因此,同一份LP代幣被存入兩次。

資產去向

截至3月13日,總共有價值約170萬美元的資產被盜。3000個BNB仍然在攻擊者在BSC的地址中,235個ETHs則通過Birdge轉移到以太坊,並通過Tornado進行洗白。

寫在最後

該次事件可通過安全審計發現相關風險:審計可以發現重入問題外部依賴問題

同時,CertiK的安全專家建議:

  • 時刻關注函數的外部輸入,盡量避免傳入合約地址作爲參數。

  • 關注外部調用,爲所有可能出現重入危險的外部調用函數加上“nonReentrant”修飾函數。

本次事件的預警已於第一時間在CertiK項目預警推特

除此之外,CertiK官網已添加社群預警功能。在官網上,大家可以隨時看到與漏洞、黑客襲擊以及Rug Pull相關的各種社群預警信息。

標題:首發 | 一張支票提款兩次的作案手法 你一定不陌生 Paraluni 被攻擊事件分析

地址:https://www.coinsdeep.com/article/185.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡