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代幣獎勵。我們切入此函數進行具體分析:
Cairo公布路線圖:新合約語法將與Starknet alpha v0.12.0共同推出:6月29日消息,編程語言Cairo公布其路線圖,為了社區便利性,創建公共板以描述即將推出的一些新功能;很快將推出新的合約語法,與Starknet alpha v0.12.0一起發布,需要進行一些代碼更改,很大程度上豐富了智能合約語言;通過Cairo1.1.0在Starknet主網上的推出以及即將到來的v2版本,已經達到了語言成熟度的一個重要里程碑。文檔、書籍和Starknet Discord等資源足夠幫助用戶開始并從Cairo 0遷移。
隨著新合約語法的發布,Cairo現在足夠穩定和豐富,足以支持復雜的應用程序,并移植現有的Cairo 0邏輯。此外,Starknet的向后兼容性保證確保即使語言發生重大變化,用戶也將有足夠的時間(至少六個月)來完成合約的開發或審核和部署。[2023/6/30 22:09:25]
在上圖代碼第162行與163行,分別通過balanceOf函數與principalOf函數獲取攻擊者抵押憑證換算成用戶通過VaultSushiFlipToFlip合約在MiniChefV2中抵押的SLP數量以及用戶在VaultSushiFlipToFlip合約中抵押時記錄的SLP數量。理論上這兩個數量不應相差太多,但通過分析balanceOf函數我們發現:其是通過balance函數獲取VaultSushiFlipToFlip合約在MiniChefV2中抵押的SLP數量與用戶持有的憑證占比相乘得到amount的。
DeFi基礎設施Maverick Protocol已部署至BNB Chain:6月27日消息,DeFi基礎設施Maverick Protocol已部署至BNB Chain,目前支持以太坊、zkSync Era和BNB Chain。
金色財經此前報道,Maverick Protocol完成900萬美元融資,Founders Fund領投。[2023/6/27 22:03:07]
由于攻擊者已提前將大量的SLP未通過VaultSushiFlipToFlip合約直接在MiniChefV2合約中抵押并將受益地址指給VaultSushiFlipToFlip合約,因此balance函數將會獲取到一個比預期大得多的值,而攻擊者的憑證占比卻又是正常的,最后導致賦給amount的是個比預期大得多的值。這就直接導致了在上圖代碼第176行計算出的performanceFee參數是個非預期的巨大值。
隨后將此異常的performanceFee參數傳入mintForV2函數中參與鑄造polyBUNNY代幣獎勵的計算,我們切入此函數進行分析:
我們可以發現其通過調用mintFor函數進行具體的邏輯處理,首先在上圖代碼第205行將SLP發送給Pair合約,為后續移除流動性做準備。由于shouldMarketBuy函數最終價格比較計算為false,因此將通過if邏輯調用_zapAssets函數。我們切入_zapAssets函數繼續分析:
幣安:目前擁有47.5萬枚BTC、400萬枚ETH和5800萬枚BNB:11月10日消息,Binance官方發文表示,作為Binance持續致力于行業透明度的一部分,將分享其熱錢包地址和冷錢包地址的詳細信息。同時將在未來幾周內發布默克爾樹儲備證明。
截至2022年11月10日上午8:00對BTC、ETH、BSC、BNB和TRX網絡的快照結果顯示,目前Binance共擁有47.5萬枚BTC、400萬枚ETH、176億枚USDT、217億枚BUSD、6.01億枚USDC、和5800萬枚BNB。[2022/11/10 12:45:09]
在_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代幣的兌換路徑同樣如此。
數據:約7840萬枚USDT從未知地址轉入幣安:金色財經報道,Whale Alert監測數據顯示,北京時間17:56:03,78,399,730枚USDT從未知地址轉入幣安。[2022/11/9 12:38:59]
由于在此之前,攻擊者已經使用借來的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參數,這是一個非預期的巨大值。
我們可以對valueOfAsset函數進行簡單的分析:
美國民調:美國人對商業的積極看法跌至14年來的最低點:9月9日消息,據國會山報報道,周五公布的蓋洛普民調顯示,由于歷史性的通貨膨脹,今年美國人對企業的看法大幅下降。調查發現,36%的美國人對企業持積極看法,低于疫情前的45%。這是自2008年大衰退以來的最低水平。這種不滿情緒似乎源于創紀錄的食品、能源和房地產價格。對食品雜貨行業的好感度比去年下降了14個百分點,為調查以來的最大降幅。對房地產行業的好感度下降9點,為第二大降幅。只有22%的受訪者表示對油氣行業持積極看法,低于去年的28%。29%的受訪者表示對電力和天然氣事業持積極看法,低于去年的36%。(金十)[2022/9/9 13:20:12]
由于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
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:BUNNYUNNBUNUSDBUNNY價格Node Runnersbunnypark幣價格gusd幣在哪個平臺
尊敬的EXX用戶:? ???您好!根據市場的情況及用戶的建議,EXX將于香港時間2021年7月23日13:00上線開放MCF的充值業務.
1900/1/1 0:00:00隨著科技技術的進步,全球每天的數據都在海量式的增長,特別是5G技術的到來,極大地促進了物聯網的快速發展與成熟,我們的世界正在被數據化.
1900/1/1 0:00:00尊敬的XT用戶: XT交易所將于2021年7月14日23:00進行系統升級維護,距離本次升級開始還剩一小時,請用戶提前做好準備,若有訂單還未撤銷,請及時登錄賬戶撤銷;杠桿、合約持倉也請提前平倉.
1900/1/1 0:00:00尊敬的ZT用戶: ZT創新板即將上線BMON,并開啟BMON/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年7月16日16:00; BMON FSB即將發布關于全球加密貨幣監管.
1900/1/1 0:00:00本文來自?The?Block,原文作者:YogitaKhatriOdaily星球日報譯者?|念銀思唐 摘要: -區塊鏈審計公司CertiK完成3700萬美元B輪融資.
1900/1/1 0:00:0016July,2021 時事分析: 1.7月16日,中國香港證監會需明確指出,幣安集團旗下的任何實體均未獲得發牌或注冊以在香港進行“受規管活動”.
1900/1/1 0:00:00