比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

ABU:慢霧:TreasureDAO NFT交易市場「零元購」漏洞分析

Author:

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

2022年03月03日,據慢霧區消息,TreasureDAO的NFT交易市場被曝出嚴重漏洞,TreasureDAO是一個基于Arbitrum上的NFT項目。目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:

相關信息

合約地址

TreasureMarketplaceBuyer:

0x812cda2181ed7c45a35a691e0c85e231d218e273

慢霧:7月3日至7月7日期間?Web3生態因安全問題損失近1.3億美元:7月10日消息,慢霧發推稱,自7月3日至7月7日,Web3生態因安全問題遭遇攻擊損失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻擊損失1.26億美元。[2023/7/10 10:12:36]

TreasureMarketplace:

慢霧:Avalanche鏈上Zabu Finance被黑簡析:據慢霧區情報,9月12日,Avalanche上Zabu Finance項目遭受閃電貸攻擊,慢霧安全團隊進行分析后以簡訊的形式分享給大家參考:

1.攻擊者首先創建兩個攻擊合約,隨后通過攻擊合約1在Pangolin將WAVAX兌換成SPORE代幣,并將獲得的SPORE代幣抵押至ZABUFarm合約中,為后續獲取ZABU代幣獎勵做準備。

2.攻擊者通過攻擊合約2從Pangolin閃電貸借出SPORE代幣,隨后開始不斷的使用SPORE代幣在ZABUFarm合約中進行`抵押/提現`操作。由于SPORE代幣在轉賬過程中需要收取一定的手續費(SPORE合約收取),而ZABUFarm合約實際接收到的SPORE代幣數量是小于攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm合約實際接收到的SPORE代幣數量小于攻擊者在提現時ZABUFarm合約轉出給攻擊者的代幣數量。

3.攻擊者正是利用了ZABUFarm合約與SPORE代幣兼容性問題導致的記賬缺陷,從而不斷通過`抵押/提現`操作將ZABUFarm合約中的SPORE資金消耗至一個極低的數值。而ZABUFarm合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE代幣總量參與計算的,因此當ZABUFarm合約中的SPORE代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。

4.攻擊者通過先前已在ZABUFarm中有進行抵押的攻擊合約1獲取了大量的ZABU代幣獎勵,隨后便對ZABU代幣進行了拋售。

此次攻擊是由于ZabuFinance的抵押模型與SPORE代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前后合約實際的代幣變化,而不是依賴于用戶傳入的抵押代幣數量。[2021/9/12 23:19:21]

0x2e3b85f85628301a0bce300dee3a6b04195a15ee

動態 | 慢霧:2020年加密貨幣勒索蠕蟲已勒索到 8 筆比特幣:慢霧科技反洗錢(AML)系統監測:世界最早的知名加密貨幣勒索蠕蟲 WannaCry 還在網絡空間中茍延殘喘,通過對其三個傳播版本的行為分析,其中兩個最后一次勒索收到的比特幣分別是 2019-04-22 0.0584 枚,2019-09-01 0.03011781 枚,且 2019 年僅發生一次,另外一個 2020 還在活躍,2020 開始已經勒索收到 8 筆比特幣支付,但額度都很低 0.0001-0.0002 枚之間。這三個傳播版本第一次發生的比特幣收益都是在 2017-05-12,總收益比特幣 54.43334953 枚。雖然收益很少,但 WannaCry 可以被認為是加密貨幣歷史上勒索作惡的鼻主蠕蟲,其傳播核心是 2017-04-13 NSA 方程式組織被 ShdowBrokers(影子經紀人) 泄露第三批網絡軍火里的“永恒之藍”(EternalBlue)漏洞,其成功的全球影響力且匿名性為之后的一系列勒索蠕蟲(如 GandCrab)帶來了巨大促進。[2020/2/23]

漏洞細節分析

1.用戶通過TreasureMarketplaceBuyer合約中的buyItem函數去購買NFT,該函數會先計算總共需要購買的價格并把支付所需的Token打入合約中,接著調用TreasureMarketplace合約中的buyItem從市場購買NFT到?TreasureMarketplaceBuyer?合約,接著在從TreasureMarketplaceBuyer合約中把NFT轉給用戶。

2.在TreasureMarketplace?合約中:??

可以發現若傳入的_quantity參數為0,則可以直接通過require(listedItem.quantity>=_quantity,"notenoughquantity");檢查并進入下面的轉移NFT流程,而其中沒有再次對ERC-721標準的NFT轉移進行數量判斷,使得雖然傳入的_quantity參數雖然為0,但仍然可以轉移ERC-721標準的NFT。而計算購買NFT的價格的計算公式為totalPrice=_pricePerItem*_quantity,因此購買NFT的價格被計算為0,導致了在市場上的所有ERC-721標準的NFT均可被免費購買。??

攻擊交易分析

此處僅展示一個攻擊交易的細節,其余攻擊交易的手法都一致,不再贅述。

攻擊交易:

https://arbiscan.io/tx/0x82a5ff772c186fb3f62bf9a8461aeadd8ea0904025c3330a4d247822ff34bc02

攻擊者:

0x4642d9d9a434134cb005222ea1422e1820508d7b

攻擊細節:

可以從下圖中看到,攻擊者調用了TreasureMarketplaceBuyer合約中的buyItem函數,并使傳入的_quantity參數為0。??

可以看到Token轉移均為0,攻擊者并沒有付出任何成本就成功購買了tokenID為3557的NFT,整個攻擊流程與上面的漏洞細節分析中所講的一致。

總結

本次漏洞的核心在于進行ERC-721標準的NFT轉移前,缺少了對于傳入的_quantity參數不為0的判斷,導致了ERC-721標準的NFT可以直接被轉移且計算價格時購買NFT所需費用被計算成0。針對此類漏洞,慢霧安全團隊建議在進行ERC-721標準的NFT轉移前,需對傳入的數量做好判斷,避免再次出現此類問題。

Tags:ABUNFTSPOPORSHIBSHABU價格TOPDOG Vault (NFTX)Spock NetworkSPORTS價格

SHIB最新價格
KEX:BKEX 關于上線 TABC(BlockAura) 并開放充值功能的公告

尊敬的用戶:?????????BKEX即將上線TABC,詳情如下:上線交易對:TABC/USDT??幣種類型:BEP20充值功能開放時間:已開放交易功能開放時間:2022年3月4日15:00提現.

1900/1/1 0:00:00
中心化交易所:2022/3/8 早春活動天天交易空投中獎名單

尊敬的WEEX用戶您好!早春活動百萬交易員征集令 活動四:天天空投 活動方式: 活動期間每天抽出10位有完成合約交易的用戶隨機送8、18、38、68、88USDT,周一至周五不限幣種.

1900/1/1 0:00:00
BIT:關于“社區狂歡周,曬單有獎,最高可得90 USDT ”活動結束公告

尊敬的Tbit用戶: ???Tbit舉辦的“社區狂歡周,曬單有獎,最高可得90USDT“活動已于?2022年2月25日24:00圓滿結束.

1900/1/1 0:00:00
WEB:A16z合伙人:Web2創始人為何紛紛考慮邁入Web3?

原文作者:A16z合伙人ChrisDixon 原文編譯:DeFi之道 我最近有機會見到了一些考慮進入web3的優秀web2創始人.

1900/1/1 0:00:00
Gate.io Startup:Rebel Bots (RBLS) Initial Sale Result & Listing Schedule

1RebelBots(RBLS)TokenSaleResultTheGate.ioStartupRebelBots(RBLS)saleresultisasfollows:RBLSStartupS.

1900/1/1 0:00:00
KEX:BKEX 關于上線 LYRA(Lyra Finance) 并開放充值功能的公告

尊敬的用戶:?????????BKEX即將上線LYRA,詳情如下:上線交易對:LYRA/USDT??幣種類型:ERC20充值功能開放時間:已開放交易功能開放時間:2022年3月5日17:00提現.

1900/1/1 0:00:00
ads