以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Uniswap > Info

UNN:梅開二度 —— PancakeBunny 被黑分析

Author:

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

By:慢霧安全團隊

據慢霧區消息,2021年07月17日,DeFi收益聚合器PancakeBunny在Polygon上的版本遭受閃電貸攻擊,慢霧安全團隊第一時間介入分析,并將結果分享如下。

值得注意的是本次攻擊與5月20日PancakeBunny在幣安智能鏈上的版本遭受的閃電貸攻擊類似。此前慢霧安全團隊也進行了簡要分析,具體可查看:代幣閃崩,差點歸零-PancakeBunny被黑簡析。

攻擊細節分析

首先攻擊者從AAVE中閃電貸借出大量的USDC、USDT、WETH代幣,并將借來的USDC與USDT代幣轉入SushiSwap中添加流動性以獲得SLP。

隨后攻擊者進行了本次攻擊最為關鍵的操作:將添加流動性獲得的LP的一小部分抵押至VaultSushiFlipToFlip合約中,為獲得polyBUNNY代幣獎勵做準備。而其余大部分LP都抵押到MiniChefV2中,并將存款收益地址指定為VaultSushiFlipToFlip合約。

接下來為了減少攻擊成本,使用借來的100,000個WETH代幣,在QuickSwap中將其兌換成WMATIC代幣(在后面的分析將會說明為何這樣會減少攻擊成本)

隨后攻擊者調用了VaultSushiFlipToFlip合約的withdrawAll函數,以獲取抵押的SLP與polyBUNNY代幣獎勵。我們切入此函數進行具體分析:

香港區塊鏈協會共同主席方宏進:港府不應該發行港元穩定幣:金色財經報道,香港區塊鏈協會共同主席方宏進近日對于港元穩定幣表達了不同的看法,其撰文表示,并不認同港府以外匯儲備為抵押發行港元穩定幣的建議。其認為,如果香港政府計劃發行數字港幣,為什么還要以其外匯儲備為抵押物發行港幣穩定幣呢?香港特區政府是法幣港幣的發行主體,港幣紙幣和數字港幣是同一性的,只是載體形式不同。讓香港政府用自己發行的法幣作為抵押物,再去發行一款衍生替代品,邏輯上是說不通的,實際操作中也一定會造成混亂:用戶手中既有數字港幣又有港府港幣穩定幣,應該裝在一個數字錢包中嗎?可以自由轉換嗎?在哪個場景應該使用哪一種?如果二者可以通用,為什么還要發兩種呢?

方宏進表示,個人認為發行港元穩定幣是有意義的,只是不應該由香港政府發行,而是由私營機構在香港政府的監管下合規發行。他還認為,認為,無法接受美國合規監管的加密項目跑到香港來,大概率也不會通過香港現有以及即將陸續出臺的金融監管法規。[2023/7/7 22:24:10]

在上圖代碼第162行與163行,分別通過balanceOf函數與principalOf函數獲取攻擊者抵押憑證換算成用戶通過VaultSushiFlipToFlip合約在MiniChefV2中抵押的SLP數量以及用戶在VaultSushiFlipToFlip合約中抵押時記錄的SLP數量。理論上這兩個數量不應相差太多,但通過分析balanceOf函數我們發現:其是通過balance函數獲取VaultSushiFlipToFlip合約在MiniChefV2中抵押的SLP數量與用戶持有的憑證占比相乘得到amount的。

Coinbase主管發文暗示通過區塊鏈轉移資金比傳統方式更快且更便宜:金色財經報道,Coinbase主管Conor Grogan在社交媒體發文稱,找到了有史以來最大的單一加密貨幣交易記錄,Binance在2021年8月通過TRON鏈將94.75億枚USDT發送到他們的冷錢包,手續費花了21美分,這比1981年的\"歷史上最大的金融轉移“多出15億美元。[2023/6/16 21:42:17]

由于攻擊者已提前將大量的SLP未通過VaultSushiFlipToFlip合約直接在MiniChefV2合約中抵押并將受益地址指給VaultSushiFlipToFlip合約,因此balance函數將會獲取到一個比預期大得多的值,而攻擊者的憑證占比卻又是正常的,最后導致賦給amount的是個比預期大得多的值。這就直接導致了在上圖代碼第176行計算出的performanceFee參數是個非預期的巨大值。

隨后將此異常的performanceFee參數傳入mintForV2函數中參與鑄造polyBUNNY代幣獎勵的計算,我們切入此函數進行分析:

我們可以發現其通過調用mintFor函數進行具體的邏輯處理,首先在上圖代碼第205行將SLP發送給Pair合約,為后續移除流動性做準備。由于shouldMarketBuy函數最終價格比較計算為false,因此將通過if邏輯調用_zapAssets函數。我們切入_zapAssets函數繼續分析:

Ordinal Pepe在比特幣區塊鏈上推出首個PEPE memecoin:金色財經報道,Ordinal Pepe(oPepe)宣布已在比特幣區塊鏈上推出首個 PEPE memecoin,Ordinal PEPE 基于比特幣 NFT 協議 Ordinals 構建,據悉總供應量為 1 萬億枚,該項目稱目前已完成了智能合約審計并計劃在 Pinksale 上啟動公平發布。(globenewswire )[2023/5/16 15:05:36]

在_zapAssets函數,由于asset為SLP因此將通過elseif邏輯先通過調用SushiSwapRouter合約的removeLiquidity函數進行移除流動性,隨后通過_tokenToAsset函數將移除流動性獲得USDC與USDT代幣分別在QuickSwap中兌換成polyBUNNY與WETH代幣并在QuickSwap中添加流動性。接下來我們對_tokenToAsset函數進行分析:

通過簡單分析我們可以發現,其將通過if邏輯直接調用zapPolygon合約的zapInToken函數,這里不再贅述判斷條件的分析。接下來跟進zapInToken函數分析:

同樣通過對判斷條件的簡單分析,我們可以指定其將通過上圖代碼第133行進入else邏輯,接下來調用_swapTokenForMATIC函數通過下圖代碼第221行if邏輯設定的代幣兌換路徑“USDC->WETH->WMATIC",USDT代幣的兌換路徑同樣如此。

法國財長勒梅爾:會密切關注硅谷銀行的情況:金色財經報道,法國財長勒梅爾:法國銀行業擁有較高水平的流動性,法國銀行業受到了極其嚴格的監管。我們會密切關注硅谷銀行(SVB)的情況。硅谷銀行倒閉不會對法國銀行體系構成風險。[2023/3/13 13:00:39]

由于在此之前,攻擊者已經使用借來的100,000個WETH代幣在QuickSwap中通過“WETH->WMATIC”將其兌換成大量的WMATIC代幣,所以上述通過“USDC/USDT->WETH->WMATIC”路徑兌換到的WMATIC代幣變得很少,因此接下來通過_swapMATICToFlip函數將WMATIC代幣兌換成的WETH與polyBUNNY代幣就會較少,導致最后轉給BUNNY_POOL的LP會較少,達到減少消耗攻擊者付出的SLP目的,最終減少了一部分攻擊成本。

接下來我們再看mintFor函數,在完成上述一系列操作后,將通過amountBunnyToMint函數計算需要鑄造的polyBUNNY代幣數量,而通過下圖我們可以看出參與計算的contributionInETH參數來自于priceCalculator合約的valueOfAsset函數,但valueOfAsset函數接收的參數卻是我們先前所說的_performanceFee參數,這是一個非預期的巨大值。

美股三大指數高開低走集體收跌:金色財經消息,美股三大指數高開低走集體收跌,道指跌1.56%,標普500指數跌2.01%,納指跌2.98%。[2022/6/29 1:37:39]

我們可以對valueOfAsset函數進行簡單的分析:

由于asset是SLP,因此將通過上圖代碼第155行調用_getPairPrice函數,通過對此函數進行分析我們可以發現,參與價格獲取的途徑都為可信的預言機,因此攻擊者無法直接操控預言機進行攻擊。但由于參與計算的amount即_performanceFee是個非預期的巨大值,因此最終通過乘法計算得出的valueInETH與valueInUSD都是非預期的巨大值。

隨后會將獲得的非預期的contributionInETH參數傳入amountBunnyToMint函數進行鑄幣數量計算。

而這里的priceOfETH與priceOfBunny都取自可信的ChainLink與官方自行喂價的預言機,因此最終經過乘法計算后,得到的鑄幣數量mintBunny是個非預期的巨大值。導致最終攻擊者獲得了大量的polyBUNNY代幣獎勵。

攻擊流程

1.攻擊者在AAVE閃電貸借出USDT/USDC/WETH代幣,并在SushiSwap中添加流動性獲得SLP。

2.將大部分的SLP轉入MiniChefV2中并將受益地址指定給VaultSushiFlipToFlip合約,小部分抵押到VaultSushiFlipToFlip合約中。

3.由于攻擊者的大部分抵押到MiniChefV2中的SLP受益地址指定給VaultSushiFlipToFlip合約,導致VaultSushiFlipToFlip獲取到錯誤的balanceOf造成performanceFee變成一個非預期的巨大值。

4.最終鑄造polyBUNNY代幣獎勵使用了此非預期的performanceFee參數,導致額外鑄造了大量的polyBUNNY代幣給攻擊者。

5.最后攻擊者拋售polyBUNNY代幣,歸還閃電貸,獲利走人。

總結

****

此次攻擊與第一次不同的點在于:并非是預言機被操控導致鑄幣數量錯誤,而是VaultSushiFlipToFlip合約獲取在MiniChefV2中抵押的抵押品數量時,錯誤地獲取了攻擊者未通過VaultSushiFlipToFlip抵押的抵押品數量,導致參數鑄幣的參數異常。最終鑄造出額外的polyBUNNY代幣。

****

參考交易鏈接:

https://polygonscan.com/tx/0x25e5d9ea359be7fc50358d18c2b6d429d27620fe665a99ba7ad0ea460e50ae55

往期回顧

科普|加密貨幣詐騙,你中招了嗎?(上)

假幣的換臉戲法——技術拆解THORChain跨鏈系統“假充值”漏洞

強扭的瓜不甜——SafeDollar被黑分析

“不可思議”的被黑之旅——ImpossibleFinance被黑分析

走過最長的路,竟是自己的套路——Alchemix事件分析

慢霧導航

慢霧科技官網

https://www.slowmist.com/

慢霧區官網

https://slowmist.io/

慢霧GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

幣乎

https://bihu.com/people/586104

知識星球

https://t.zsxq.com/Q3zNvvF

火星號

http://t.cn/AiRkv4Gz

鏈聞號

https://www.chainnews.com/u/958260692213.htm

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

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

慢霧科技

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

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

入駐指南:

/apply_guide/

本文網址:

/news/10171120.html

免責聲明:

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

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

上一篇:

巨鯨的資金涌向哪里,哪里就是熱點!

Tags:BUNNYUNNBUNSHIbunny幣怎么樣BunnyTokenSUSHIBA

Uniswap
DES:關于WBF上線SKILL的公告

尊敬的用戶: WBF將在開放區NFT專區上線SKILL/USDT交易對,具體上線時間如下::充值時間:2021/7/19?18:00提幣時間:2021/7/20?15:00交易時間:2021/7.

1900/1/1 0:00:00
BOS:杜嘉班納參與NFT盛宴,推出其首個NFT系列作品

熱點解讀——杜嘉班納參與NFT盛宴,推出其首個NFT系列作品意大利奢侈時尚品牌Dolce&Gabbana將在基于Polygon的數字市場UNXD上推出其首個NFT系列作品.

1900/1/1 0:00:00
COM:HomiEx(紅米交易所)關于上線CRO/USDT交易對的公告

親愛的用戶: HomiEx將于2021年7月15日15:00(UTC8)上線CRO/USDT交易對.

1900/1/1 0:00:00
OIN:科普 | Fil 下一步小額捐贈資助計劃知多少

在Filecoin主網啟動后不到一年的時間里,整個生態逐漸繁榮,基于IPFS技術的應用逐步增加;越來越多的合作伙伴加入到網絡中,越來越多的生態建設者投身于技術的升級中.

1900/1/1 0:00:00
BTC:論挖礦和長期持幣,短期炒幣的不同

未來的區塊鏈,不應該是炒幣!區塊鏈已經從炒作時代,進入使用時代,在很多人眼中是投機,炒幣的工具.

1900/1/1 0:00:00
LOEx國際站7月25日10:00上線NFTT

尊敬的LOEx用戶:LOEx國際站上線NFTT,并開放NFTT/USDT交易對具體時間如下:充提幣:7月24日10:00交易對:7月25日10:00注:未到充值開放時間請勿提前充值.

1900/1/1 0:00:00
ads