加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

bHOME重入攻擊事件分析_USD:USDC

Author:

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

1、前言

北京時間3月5日,知道創宇區塊鏈安全實驗室?監測到?BaconProtocol?遭受黑客攻擊損失約958,166美元,本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。目前攻擊者地址還沒有被加入USDC的黑名單中。

2、分析

攻擊事件如下圖所示,該次攻擊事件的問題點在于lend()函數,攻擊者利用該函數進行重入攻擊。

2.1基礎信息

攻擊合約:0x580cac65c2620d194371ef29eb887a7d8dcc91bf

攻擊者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593

BHEX即將上線OCC:據官方公告,BHEX將于7月12日20:00 (UTC+8) 上線 OCC(Occam),并開通OCC/USDT交易對,充值現已開啟。同時,BHEX將舉行“充值瓜分1,500個OCC”、“新用戶交易,平分500個OCC”和“交易OCC,抽獎瓜分1,000個OCC”三大活動。

據悉,Occam生態系統是一個為Cardano生態系統設計的分散式發射臺和DeFi生態系統。OCC代幣是一種多方面數字資產,在Occam生態系統中實現并授權多種用例,包括:OccamRazer去中心化的發行平臺。[2021/7/12 0:45:21]

攻擊tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31

BHD突破2.5美金關口 日內漲幅為7.43%:火幣全球站數據顯示,BHD短線上漲,最高漲至2.5美元,現報2.4230美元,日內漲幅達到7.43%,行情波動較大,請做好風險控制。[2021/1/18 16:27:08]

漏洞合約:0x781ad73f140815763d9A4D4752DAf9203361D07D

2.2流程

1.攻擊者通過UniswapV2閃電貸借出6,360,000USDC。

2.用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行2次重入攻擊調用了3次lend()函數鑄造共8,465,943.180104bHOME。

3.將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。

HBTC霍比特(原BHEX交易所)創始人巨建華公布全新平臺通證HBC:今日,HBTC霍比特(原BHEX交易所)創始人巨建華在2周年發布會上公布HBTC霍比特全新升級的通證模型HBC。

巨建華表示:“HBC是HBTC霍比特交易平臺發行的區塊鏈通證,是前BHEX交易平臺通證BHT的升級Pro版。HBC代表了HBTC霍比特交易平臺、 HBTC Chain、幣核云 BlueHelix Cloud 三大業務的核心權益。”

據悉,獲得HBC的方式包括:BHT持幣用戶通過HBTC霍比特官網接下來開放的為期半年的兌換窗口進行兌換;HBC正式上線一定期內,用戶在HBTC霍比特交易平臺通過幣幣、合約、期權交易產生手續費后,系統會等比例贈送HBC,直到活動贈送額度用完。[2020/4/17]

4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。

公告 | Bithumb暫停BHPC交易:韓國交易所Bithumb支持BHPC主網升級,將于韓國時間2月14日暫停交易。[2019/2/11]

2.3細節

該次攻擊事件重點在于lend()函數,由于合約https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未驗證開源,所以我們只能從交易的Debugger中尋找線索。

1、攻擊者通過UniswapV2閃電貸借出6,360,000USDC。

2、用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行重入攻擊2次調用?lend()函數鑄造共8,465,943.180104bHOME。

3、將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。

4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。

2.3細節

該次攻擊事件重點在于?lend()?函數,由于合約?https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code?并未驗證開源,所以我們只能從交易的Debugger中尋找線索。

分析Debugger可以看到下圖是第一次調用函數,接著進行了2次重入。

從重入攻擊中可以找到INPUT中調用函數的字節碼為?0xa6aa57ce。

通過字節簽名可以知道重入攻擊調用的是?lend()?函數。

從Debugger中我們可以發現攻擊合約的地址?0x781ad73f140815763d9a4d4752daf9203361d07d。

通過反編譯合約?0x781ad73f140815763d9a4d4752daf9203361d07d?得到合約偽代碼內容,可以找到?lend()?函數。

我們在反編譯的代碼中可以看到該合約使用的ERC777協議,會查詢?recipient?的回調合約并回調?tokensReceived()?函數用以重入攻擊。

通過分析可以發現?_index?就是傳入的USDC數量。

totalSupply?和?balanceOf?的增量都和?_index?是正比關系,和?stor104?是反比關系,并且這兩個變量的更新發生在重入攻擊之前,每次都會更新。

stor104?記錄的是用戶存入的USDC總量,該變量的更新發生在重入之后,那么在重入的過程中?stor104?的值是不變的,而上面的?totalSupply?是在變大,所以最后return的值也會相應的增大,從而使得攻擊者通過重入攻擊鑄造得到比正常邏輯更多的bHOME代幣。

除了該次攻擊事件,BlockSecTeam還阻斷了后面發生的攻擊并將金額返還給了項目方。

交易hash:0xf3bd801f5a75ec8177af654374f2901b5ad928abcc0a99432fb5a20981e7bbd1

3、總結

此次攻擊事件是由于項目方使用了ERC777協議但沒有對回調合約的安全性進行考慮從而導致了重入攻擊的發生,當項目合約有涉及資產的轉移時,建議使用「檢查-生效-交互」模式來保證邏輯代碼的安全,當然我們也可以使用OpenZeppelin官方提供的ReentrancyGuard修飾器來防止重入攻擊的發生。

Tags:USDSDCUSDCOCCusdt幣交易違法嗎能投入嗎usdc幣市值減少usdc幣圈最新消息SoccerHub

酷幣下載
Bitfinex一周簡報(3月7日-3月13日)_BIT:Demetracoin

在剛過去的一周中,Bitfinex都有哪些功能更新和值得關注的事件呢?一起來看看吧!美國國會可能會在3月底前出臺穩定幣法案美國境內穩定幣監管相關的法案可能將在本月底前提出.

1900/1/1 0:00:00
XT.COM關於支持Theta Network(THETA)網絡升級及硬分叉的公告_COM:XT.com

尊敬的XT.COM用戶:XT.COM將支持ThetaNetwork網絡升級及硬分叉,具體安排如下:XT.COM現已暫停THETA代幣的充值、提現業務.

1900/1/1 0:00:00
幣安流動性挖礦支持STEPN(GMT),並開放1個新流動性池_APT:穩定幣

親愛的用戶: 幣安流動性挖礦支持STEPN資產,並開放1個新流動性池。上線幣對:GMT/BUSD流動池添加流動性,分享350,000STEPN:於GMT/BUSD流動池添加流動性,將有機會瓜分3.

1900/1/1 0:00:00
Tbit新增UNI/USDT、SAND/USDT、PEOPLE/USDT交易對_TBI:BIT

尊敬的Tbit用戶: Tbit將于2022年3月11日上線代幣UNI、SAND、PEOPLE,屆時將開通UNI/USDT、SAND/USDT、PEOPLE/USDT交易對.

1900/1/1 0:00:00
Yuga收購之后,CryptoPunks擁有了「商業許可」_ABS:LABS

出品|白澤研究院 BoredApeYachtClub和CryptoPunks是目前NFT市場內按市值和底價計算的兩個價值最高的系列.

1900/1/1 0:00:00
星球日報 | Terra創始人與加密KOL進行千萬美元對賭;Uniswap V3將部署至Celo(3月15日)_NFT:ITA

頭條 Terra創始人與加密KOL對LUNA價格進行千萬美元對賭Terra創始人DoKwon與加密KOLSenseiAlgod針對LUNA一年后的價格能否超過現價88美元進行對賭.

1900/1/1 0:00:00
ads