比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > UNI > Info

慢霧簡析 PancakeBunny 被黑:由 WBNB-BUNNY LP 價格計算存在缺陷所致_BUNNY

Author:

Time:1900/1/1 0:00:00

慢霧團隊稱,這是一次典型的利用閃電貸操作價格的攻擊,其關鍵點在于WBNB-BUNNYLP的價格計算存在缺陷,而BunnyMinterV2合約鑄造的BUNNY數量依賴于此存在缺陷的LP價格計算方式,最終導致攻擊者利用閃電貸操控了WBNB-BUNNY池子從而拉高了LP的價格,使得BunnyMinterV2合約鑄造了大量的BUNNY代幣給攻擊者。

撰文:慢霧

今日6點35分左右開始,幣安智能鏈上DeFi收益聚合器PancakeBunny從240美元閃崩,一度跌破2美元,最高跌幅一度超99%。

對此PancakeBunny回應稱,遭到來自外部人員的閃電貸攻擊,共損失114,631枚BNB和697,245枚BUNNY,按當時價格計算約合4200萬美元。

慢霧:過去一周Web3生態系統因安全事件損失近160萬美元:6月26日消息,慢霧發推稱,過去一周Web3生態系統因安全事件損失近160萬美元,包括MidasCapital、Ara、VPANDADAO、Shido、Slingshot、IPO、Astaria。[2023/6/26 22:00:21]

簡單來說,黑客使用PancakeSwap借入了大量BNB,之后繼續操縱USDT/BNB以及BUNNY/BNB價格,從而獲得大量BUNNY并進行拋售,導致BUNNY價格閃崩,最后黑客通過PancakeSwap換回BNB。

慢霧安全團隊也對此次被黑事件進行了詳細分析,具體如下:

攻擊者先發起一筆交易,使用0.5個WBNB與約189個USDT在PancakeSwap中添加流動性并獲取對應的LP,隨后將LP抵押至PancakeBunny項目的VaultFlipToFlip合約中。

以太坊客戶端Prysm已通過慢霧安全審計:發現2個低風險和1個建議漏洞:金色財經報道,慢霧(SlowMist)宣布已正式完成了對以太坊共識層客戶端 Prysm 的安全審計服務,發現了2個低風險和1個建議漏洞,目前問題已得到解決,并由審計人員再次審查并通過。Prysm是當前用戶規模最大的以太坊客戶端,目前有超過 42% 的驗證節點都在使用 Prysm 驗證交易,由以太坊核心開發團隊 Prysmatic Labs 開發。[2023/2/23 12:23:48]

在LP抵押完成后,攻擊者再次發起另一筆交易,在這筆交易中攻擊者先從PancakeSwap的多個流動性池子中閃電貸借出巨量的WBNB代幣,并從Fortube項目的閃電貸模塊借出一定數量的USDT代幣。隨后使用借來的全部USDT代幣與部分WBNB代幣在PancakeSwap的WBNB-USDT池子添加流動性,并把獲得的LP留在WBNB-USDT池子中。

慢霧:Equalizer Finance被黑主要在于FlashLoanProvider合約與Vault合約不兼容:據慢霧區消息,6 月 7 日,Equalizer Finance 遭受閃電貸攻擊。慢霧安全團隊以簡訊形式將攻擊原理分享如下:

1. Equalizer Finance 存在 FlashLoanProvider 與 Vault 合約,FlashLoanProvider 合約提供閃電貸服務,用戶通過調用 flashLoan 函數即可通過 FlashLoanProvider 合約從 Vault 合約中借取資金,Vault 合約的資金來源于用戶提供的流動性。

2. 用戶可以通過 Vault 合約的 provideLiquidity/removeLiquidity 函數進行流動性提供/移除,流動性提供獲得的憑證與流動性移除獲得的資金都受 Vault 合約中的流動性余額與流動性憑證總供應量的比值影響。

3. 以 WBNB Vault 為例攻擊者首先從 PancekeSwap 閃電貸借出 WBNB

4. 通過 FlashLoanProvider 合約進行二次 WBNB 閃電貸操作,FlashLoanProvider 會先將 WBNB Vault 合約中 WBNB 流動性轉給攻擊者,隨后進行閃電貸回調。

5. 攻擊者在二次閃電貸回調中,向 WBNB Vault 提供流動性,由于此時 WBNB Vault 中的流動性已經借出一部分給攻擊者,因此流動性余額少于預期,則攻擊者所能獲取的流動性憑證將多于預期。

6. 攻擊者先歸還二次閃電貸,然后從 WBNB Vault 中移除流動性,此時由于 WBNB Vault 中的流動性已恢復正常,因此攻擊者使用添加流動性獲得憑證所取出的流動性數量將多于預期。

7. 攻擊者通過以上方式攻擊了在各個鏈上的 Vault 合約,耗盡了 Equalizer Finance 的流動性。

此次攻擊的主要原因在于 Equalizer Finance 協議的 FlashLoanProvider 合約與 Vault 合約不兼容。慢霧安全團隊建議協議在進行實際實現時應充分考慮各個模塊間的兼容性。[2022/6/8 4:09:22]

由于在步驟1攻擊者已經在VaultFlipToFlip合約中進行了抵押,因此攻擊者在添加完流動性后直接調用VaultFlipToFlip合約的getReward函數來獲取BUNNY代幣獎勵并取回先前抵押的流動性。

慢霧:BSC項目Value DeFi vSwap 模塊被黑簡析:據慢霧區情報,幣安智能鏈項目 Value DeFi 的 vSwap 模塊被黑,慢霧安全團隊第一時間介入分析,并將結果以簡訊的形式分享,供大家參考:

1. 攻擊者首先使用 0.05 枚 WBNB 通過 vSwap 合約兌換出 vBSWAP 代幣;

2. 攻擊者在兌換的同時也進行閃電貸操作,因此 vSwap 合約會將兌換的 vBSWAP 代幣與閃電貸借出的 WBNB 轉給攻擊者;

3. 而在完成整個兌換流程并更新池子中代幣數量前,會根據池子的 tokenWeight0 參數是否為 50 來選擇不同的算法來檢查池子中的代幣數量是否符合預期;

4. 由于 vSwap 合約的 tokenWeight0 參數設置為 70,因此將會采用第二種算法對池子中的代幣數量進行檢查;

5. 而漏洞的關鍵點就在于采用第二種算法進行檢查時,可以通過特殊構造的數據來使檢查通過;

6. 第二種算法是通過調用 formula 合約的 ensureConstantValue 函數并傳入池子中緩存的代幣數量與實時的代幣數量進行檢查的;

7. 在通過對此算法進行具體分析調試后我們可以發現,在使用 WBNB 兌換最小單位(即 0.000000000000000001) vBSWAP 時,池子中緩存的 WBNB 值與實時的值之間允許有一個巨大的波動范圍,在此范圍內此算法檢查都將通過;

8. 因此攻擊者可以轉入 WBNB 進行最小單位的 vBSWAP 代幣兌換的同時,將池子中的大量 WBNB 代幣通過閃電貸的方式借出,由于算法問題,在不歸還閃電貸的情況下仍可以通過 vSwap 的檢查;

9. 攻擊者只需要在所有的 vSwap 池子中,不斷的重復此過程,即可將池子中的流動性盜走完成獲利。詳情見原文鏈接。[2021/5/8 21:37:37]

在進行getReward操作時,其會調用BunnyMinterV2合約的mintForV2函數來為調用者鑄造BUNNY代幣獎勵。

慢霧:Lendf.Me攻擊者剛歸還了126,014枚PAX:慢霧安全團隊從鏈上數據監測到,Lendf.Me攻擊者(0xa9bf70a420d364e923c74448d9d817d3f2a77822)剛向Lendf.Me平臺admin賬戶(0xa6a6783828ab3e4a9db54302bc01c4ca73f17efb)轉賬126,014枚PAX,并附言\"Better future\"。隨后Lendf.Me平臺admin賬戶通過memo回復攻擊者并帶上聯系郵箱。此外,Lendf.Me攻擊者錢包地址收到一些受害用戶通過memo求助。[2020/4/20]

在mintForV2操作中,其會先將一定量(performanceFee)的LP轉至WBNB-USDT池子中移除流動性,但由于在步驟2中攻擊者把大量的LP留在了池子中,因此BunnyMinterV2合約將會收到大量的WBNB代幣與USDT代幣。

在完成移除流動性后會調用zapBSC合約的zapInToken函數分別把步驟5中收到的WBNB與USDT代幣轉入zapBSC合約中。

而在zapInToken操作中,其會在PancakeSwap的WBNB-USDT池子中把轉入的USDT兌換成WBNB。隨后再將合約中半數WBNB在PancakeSwap的WBNB-BUNNY池子中兌換成BUNNY代幣,并將得到的BUNNY代幣與剩余的WBNB代幣在WBNB-BUNNY池子中添加流動性獲得LP,并將此LP轉至mintForV2合約中。而由于步驟5中接收到的非預期的大量的WBNB,并且進行WBNB兌換成BUNNY代幣的操作,因此WBNB-BUNNY池子中的WBNB數量會大量增加。

在完成zapInToken操作后會計算BunnyMinterV2合約當前收到的WBNB-BUNNYLP數量,并將其返回給mintForV2。隨后將會調用PriceCalculatorBSCV1合約的valueOfAsset函數來計算這些LP的價值,這里計算價值將會以BNB結算(即單個LP價值多少個BNB)。

在valueOfAsset計算中,其使用了WBNB-BUNNY池子中WBNB實時的數量乘2再除以WBNB-BUNNYLP總數量來計算單個LP的價值(valueInBNB)。但經過步驟7,我們可以發現WBNB-BUNNY池子中的WBNB非預期的數量大量變多了,這就導致了在計算單個LP的價值會使得其相對BNB的價格變得非常高。

隨后在mintForV2中,合約會以在步驟9中計算出的LP價值來通過amountBunnyToMint函數計算需要給攻擊者鑄造多少BUNNY代幣。但由于價格計算方式的缺陷導致最終LP的價格被攻擊者惡意的操控抬高了,這就導致了BunnyMinterV2合約最終給攻擊者鑄造了大量的BUNNY代幣(約697萬枚)。

在拿到BUNNY代幣后,攻擊者將其分批賣出成WBNB與USDT以歸還閃電貸。完成整個攻擊后拿錢走人。

慢霧團隊稱,這是一次典型的利用閃電貸操作價格的攻擊,其關鍵點在于WBNB-BUNNYLP的價格計算存在缺陷,而BunnyMinterV2合約鑄造的BUNNY數量依賴于此存在缺陷的LP價格計算方式,最終導致攻擊者利用閃電貸操控了WBNB-BUNNY池子從而拉高了LP的價格,使得BunnyMinterV2合約鑄造了大量的BUNNY代幣給攻擊者。慢霧安全團隊建議,在涉及到此類LP價格計算時可以使用可信的延時喂價預言機進行計算或者參考此前AlphaFinance團隊。

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

慢霧科技

現已在非小號資訊平臺發布68篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/9993195.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

Bitfinex一周簡報

Tags:BNBWBNBUNNBUNNYtogetherbnb怎么喝醉wbnb幣是什么RBUNNY幣Bunny Inu

UNI
5.20 比特幣午間精評_300

行情觀點:昨日大餅一路震蕩下行,晚間探底跌破30000一線關口,探底29000一線強勢反彈,震蕩上升遇壓40500一線回調,走寬幅震蕩,多頭未能延續,未企穩40000一線關口.

1900/1/1 0:00:00
幣虎將開展KISHU的持倉空投活動!瓜分1,000,000,000,000 KISHU_KISHU

尊敬的用戶: 為了感謝大家一直以來的支持,幣虎特開展KISHU的持倉空投活動,具體規則如下:1、空投獎勵將按照用戶KISHU持倉比例進行分發,總量為1,000,000,000.

1900/1/1 0:00:00
在萬念俱灰時,我們仍然堅定地相信未來_ENS

市場的狂風暴雨終于來了,來的這么快、這么猛還是有點出乎我意料。這正是考驗每一位身在暴風驟雨中的投資者的時候了.

1900/1/1 0:00:00
尊貴會員邀請新用戶專屬福利——600USDT合約體驗金!_VIP

親愛的ALPEX用戶: 好消息!為了感謝大家的支持和厚愛,ALPEX繼續推出“尊貴會員邀請新用戶獨家專屬福利”活動,讓新用戶通過VIP邀請鏈接獲贈高額、高杠桿的體驗金,賺取更多收益.

1900/1/1 0:00:00
DiBi Global即將開啟10億DOC空投大放送_BAL

DiBiGlobal即將開啟10億DOC空投大放送據DiBiGlobal交易平臺官方消息顯示,Dolphincoin將于2021年5月28日20:00正式上線DiBiGlobal交易平臺.

1900/1/1 0:00:00
狗狗幣來了!BTCC新增DOT、LINK、FIL、UNI當周50倍合約產品公告_狗狗幣

尊敬的BTCC用戶: BTCC將于2021年5月20日在網頁端、APP端新增上線:DOT/USDT、LINK/USDT、FIL/USDT、UNI/USDT四個幣種的當周50倍合約.

1900/1/1 0:00:00
ads