買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 萊特幣 > Info

Money:智能合約安全審計入門篇 —— 移花接木_ONE

Author:

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

By:小白

背景概述

上期我們了解了利用tx

functionmakeMoney(addressrecipient)publicpayable{require(msg

}contractVault{addressprivatemaker;addressprivateowner;uint256transferGasLimit;constructor()payable{owner=msg

modifierOnlyMaker(){require(msg

modifierOnlyOwner(){require(msg

Blur:代幣空投將比原定時間晚90分鐘上線:金色財經報道,NFT市場Blur宣布BLUR代幣空投將比原定時間晚90分鐘上線,即北京時間2月15日2:30。[2023/2/15 12:07:08]

functionsetMacker(address_maker)publicOnlyOwner{maker=_maker;}functiontransfer(addressrecipient,uint256amount)externalOnlyMaker{require(amount<=address(this)

functionwithrow()publicOnlyOwner{(boolsuccess,)=owner

芝商所和CF Benchmarks將推出三個新的DeFi參考利率和實時指數:金色財經報道,衍生品市場芝商所(CME Group)和加密貨幣基準指數提供商CF Benchmarks宣布計劃推出三個新的DeFi參考利率和實時指數,將由CF Benchmarks從12月19日開始每天計算和發布。這些參考利率和指數不是可交易的期貨產品,它們包括Aave、Curve、Synthetix。幾家主流加密貨幣交易所和交易平臺將為這些新基準提供定價數據,最初是Bitstamp、Coinbase、Gemini、itBit、Kraken和LMAX Digital。

CF Benchmarks首席執行官SuiChung表示,“DeFi協議為用戶提供了直接訪問基于開源技術構建的金融服務和產品的機會,這些指數提供了對加密貨幣資產類別中新垂直領域的敞口,旨在滿足對透明、規范和全天候定價日益增長的需求。”[2022/12/2 21:16:34]

receive()externalpayable{}fallback()externalpayable{}}//ThiscodeishiddeninaseparatefilecontractHack{eventtaunt(stringmessage);addressprivateevil;constructor(address_evil){evil=_evil;}modifierOnlyEvil(){require(msg

IBM和澳大利亞股票市場的區塊鏈項目失敗:金色財經報道,本周,由軟件公司IBM構建并與航運巨頭Maersk密切相關的區塊鏈系統TradeLens宣布關閉,理由是缺乏商業吸引力。大約兩周前,澳大利亞證券交易所(ASX)表示將取消2016年宣布的延遲已久的區塊鏈,該區塊鏈旨在取代為該股票市場提供動力的清算和結算系統。[2022/12/1 21:13:51]

functiontransfer()publicpayable{emittaunt("Haha,youretherismine!");}functionwithrow()publicOnlyEvil{(boolsuccess,)=evil

receive()externalpayable{}fallback()externalpayable{}}

外媒:包括Sorare在內的四個平臺正在爭奪英超NFT版權:5月18日消息,包括Sorare在內的四個NFT平臺正在爭奪英超NFT版權,但未披露另外3家平臺名稱。據報道,英超聯賽未來四年的NFT版權價值高達5.9億美元。根據英超此前公布的數據顯示,2019/20賽季收入高達45億英鎊(約合56億美元)比德甲收入高出20億美元。

此前報道,德甲聯賽已與One Football完成了簽約,從2023-24賽季德甲聯賽開始,One Football被指定為德甲官方合作伙伴并將幫助德甲推出相關NFT。(ledgerinsights)[2022/5/18 3:25:57]

騙局分析

可以看到,上述代碼中存在三個合約,我們先結合前置知識中的A,B,C三個角色來區分三個合約分別代表什么角色:

MoneyMaker合約代表A合約;

Vault合約代表B合約;

Hack合約代表C合約。

所以用戶以為的調用路徑為:

MoneyMaker->Vault。

而實際的調用路徑為:

MoneyMaker->Hack。

下面我們來看看攻擊者如何完成騙局的:

1.?Evil部署Vault(B)合約并在合約中留存100ETH資金,在鏈上將Vault(B)合約開源;

2.?Evil部署Hack(C)惡意合約;

3.?Evil放出消息說他將會部署一個開源的賺錢MoneyMaker(A)合約,部署時會將Vault(B)合約地址傳入且會調用Vault.setMacker()將maker角色設置為MoneyMaker合約地址,任何人調用MoneyMaker.makeMoney()向合約中打入不少于一個以太都會得到雙倍以太的回報;

4.?Bob收到消息,了解到MoneyMaker合約的存在,他看了MoneyMaker(A)和Vault(B)合約的代碼并檢查了Vault(B)合約中的余額發現邏輯確實如Evil說的那樣,他在沒有檢查MoneyMaker(A)部署交易的情況下就相信了Evil;

5.?Bob調用MoneyMaker.makeMoney()向合約中打入自己全部身家20ETH,在他滿懷期待等著收到Vault(B)打來的40ETH時等來的卻是一句"Haha,youretherismine!"。

咋回事呢?其實這個騙局非常簡單但是很常見。Evil在部署MoneyMaker合約時傳入的并不是Vault合約的地址,而是傳入了Hack合約的地址。所以當Bob調用MoneyMaker.makeMoney()時并不會像他想像中的那樣MoneyMaker.makeMoney()去調用Vault.transfer()回打給他雙倍的以太,而是調用了Hack.transfer()拋出了一個事件:"Haha,youretherismine!"。最后Evil調用Vault.withrow()將Vault合約中的100ETH轉出,并通過Hack.withrow()將Bob轉入的20ETH轉出。

預防建議

以太坊黑暗森林中你能相信的只有自己,不要相信任何人精彩的話術,交易記錄不會造假,只有自己驗證了對應的那筆交易后才能相信對方說的話是對的。

注:本文參考自《SoliditybyExample》https://solidity-by-example.org/hacks/randomness

Tags:MAKEMakerONEMoneymakerdao是什么幣maker幣終極計劃honey幣錢包e-Money

萊特幣
CAS:Buidler DAO 聯合出品:2022年全球 Web3 區塊鏈安全年報_SIN

*本報告由Beosin、BuidlerDAO、LegalDAO、FootprintAnalytics聯合出品.

1900/1/1 0:00:00
FINE:Bitfinex:開放USDT存取款,金融自由的推動者_ETWInfinity

Bitfinex:開放USDT存取款,金融自由的推動者FTX的崩潰幾乎是瞬間發生的。在11月2日Coindesk發布的Alameda資產概覽中表明Alameda很有可能資不抵債.

1900/1/1 0:00:00
FTF:NFTFi的核心機制和賽道分析_NFT

摘要 隨著2020年DefiSummer和2021年NFTSummer的狂歡過去,最近越來越多的人將目光開始投射在NFTFi上.

1900/1/1 0:00:00
區塊鏈:Coinlist:為什么激勵測試網是協議成功的重要推手?_SIU

近年來,權益證明區塊鏈愈發流行,證據包括:1)以太坊從工作量證明區塊鏈共識機制轉向PoS;2)Cosmos生態系統蓬勃發展;以及3)更多全新PoSL1公鏈興起.

1900/1/1 0:00:00
DAO:DAO民主投票源頭與孔多塞悖論_ASK

"民主必須是比兩只狼和一只羊投票決定晚餐吃什么更重要的東西"。 拉斐爾·斯潘諾基 ——詹姆斯·博瓦德,《失去的權利:美國自由的毀滅》民主意味著參與投票.

1900/1/1 0:00:00
NFT:美前總統特朗普「突襲」Web3,從大罵比特幣騙局到NFT真香僅用一年?_ENT

一年前曾經大罵比特幣騙局的美國前總統特朗普于12月16日在自創的社群平臺「真實社群」宣布,推出個人第一款NFT系列「特朗普數字交易卡」.

1900/1/1 0:00:00
ads