比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 幣安幣 > Info

BAS:遺忘的亞特蘭蒂斯:以太坊短地址攻擊詳解_WEB

Author:

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

作者:慢霧安全團隊文章來源:慢霧科技

0概述

說到智能合約漏洞,第一時間映入腦海的可能都是算法溢出,call()函數濫用,假充值等漏洞,畢竟這是在很多智能合約上都有實例,并且危害等級也是比較高的,但是有一個漏洞也許很多人都見過、聽過卻不是很多人都關心的漏洞,它就像是人類世界的亞特蘭蒂斯,很多人知道,卻很少有研究報告,Google上能找到的,也不過只是說原理而沒有復現實戰,有點紙上談兵的感覺。大家都知道的是這是EVM層面的缺陷,而不是智能合約層面的問題,并且在我們默認的思維里面,這是一個已經被修復的漏洞。前段時間嘗試翻查短地址攻擊的官方修復方案,但是經過我的搜索,并沒有找到相關的修復方案,Github上也扒了一遍,也看不到歷史release有相關的修復,于是,我猜,真的是我猜,EVM層面可能并沒有修復。

1短地址攻擊基礎知識

短地址攻擊其實就是每個ERC20的合約里面都有一個以下的函數

加密借貸公司Trident Digital Group完成800萬美元種子輪融資:9月7日消息,加密借貸公司Trident Digital Group完成800萬美元種子輪融資,WhiteStar Capital和New Form領投,CMT Digital、Joint Effects和Permit Ventures參投,Trident首席執行官Anthony De Martino曾擔任Coinbase風險策略主管,專注于DeFi和衍生品交易。后續Trident計劃推出一款收益產品,將收益與無風險利率掛鉤,同時確保以國債支持任何存款。[2023/9/7 13:23:09]

當對合約的這個函數進行調用的時候,其實在EVM層面來說是傳入一串字節碼,就像下圖這樣,可以在Etherscan里面查看每筆交易的inputdata里面的整個函數的調用數據

傳入的字節碼一共有136字節(正常來說),里面包含方法的簽名(前4字節),和傳入的參數值。上面這個圖是不正常的,只有134字節,這是我經過特殊處理過的,下面我會詳細說

“Uniswap V3部署至Base”提案已通過溫度檢查投票,鏈上投票將在Base主網上線后進行:5月31日消息,Snapshot投票頁面顯示,she256、Michigan Blockchain和GFX Labs聯合在Uniswap社區發起的“將Uniswap V3部署至Coinbase L2網絡Base”的提案已通過溫度檢查投票,支持率達100%。該提案提議在Coinbase L2網絡Base主網啟動時,將Uniswap V3部署至Base。該提案認為,Base有很大的潛力產生高TVL,并可動員大量新用戶涌入Uniswap。最終的鏈上投票將在Base主網上線并部署合約后進行。[2023/5/31 11:50:30]

從上面的信息我們可以知道,EVM是根據字節碼識別傳入的參數的,字節碼是多少就是多少,也不會去驗證。巧了,就是這樣,漏洞就產生了,有人就想用不合法的地址,比如地址故意寫少后幾位,看看EVM會怎么處理,但是又巧了,EVM不僅不會報錯,還會「貼心」的幫你對地址進行補全操作,怎么補全的呢?就是將地址后面不足的部分,用金額數據部分的位數來補全,比方說你的地址本來是

新加坡法院已批準Vauld將債權人保護截止日期延長至2月底:1月17日消息,據知情人士透露,加密貨幣借貸平臺Vauld新加坡高等法院批準將債權人保護截止日期延長至2023年2月28日,而Vauld希望進一步尋求延期至4月21日。

Vauld于7月份暫停客戶提款,欠債權人4.02億美元,其中3.63億美元(或90%)來自個人散戶投資者存款。根據法庭文件,本月早些時候Vauld成立了一個債權人委員會,該委員會由17名未披露的Vauld債權人組成。根據此前討論草案,如果Vauld進入清算程序,預計債權人將能收回38%~49%的債務。此外,Vauld及其債權人委員會(COC)拒絕了Nexo的“最終”收購提案。(The Block)[2023/1/17 11:16:28]

結果由于你心機叵測,故意寫少兩個0,變成下面這樣

那么「貼心」的EVM就會從字節碼中的金額數據部分取兩位對地址進行補全,而金額數據部分的前兩位又恰好是0,那么就是說你的地址還是原來的地址,但是數據部分就少2位了,怎么辦呢?這就不符合ABI的字節數啦,沒關系,「貼心」的EVM會將你的金額數據部分從末位開始補0,補到為正常的136字節為止,那么有同學就要問了,如果我的地址有6個0,那么我地址故意寫少6個0,是不是數據部分就多了6個0?那不是發財了?

Spookie Finance前端疑似遭攻擊,GHOST幣價幾乎歸零:10月26日消息,推特用戶Mario Paladin表示,Spookie Finance項目前端疑似遭攻擊,試圖在任何提現操作之前授權0xe316Ba開頭錢包地址,然后獲取受害者的資產。相關資金似乎被發送至錢包地址0x5451A25AFf1c14DDEF74D2AF703aaCc5d483782c。

PeckShieldAlert評論稱,推特賬號@SpookieFinance已顯示不存在,GHOST/WAVAX跌幅達100%。[2022/10/26 16:39:26]

答案就是:你是對的

也就是說,本來填的數據是1,變成字節碼后是0x1,如果地址少了6個字節,那么你的data就自動變成0x1000000啦!驚不驚喜,意不意外!

2第一次出師

第一次我嘗試使用remix進行復現,但結果是能預料到失敗的,如下圖,為什么呢?因為這是一個在2017年就被爆出的漏洞,修復方案滿天飛,怎么可能那么簡單的就讓你成功了呢,所以前端肯定會對你的輸入的地址進行過濾和檢查,想成功,是naive的。

X2Y2:0%版稅絕對不是前進的方向,版稅政策仍在制定中且最終決定將取決于Token持有者:金色財經報道,由于許多 Web3 和 NFT 愛好者在社交媒體上表達了對 X2Y2 團隊修改創作者版稅政策的不滿,X2Y2 團隊已發表了一份最新聲明,確認其版稅政策仍在制定中,最終決定將取決于 Token 持有者,并補充說取消版稅并不是 NFT 市場的完美經濟模型:“0% 版稅絕對不是前進的方向!我們同意!我們將與來自各方的市場參與者合作,以確保這一政策不會成為常態,作為一個行業集體,我們需要制定正確的標準并為 NFT 行業未來發展鋪平道路。”

據悉,X2Y2 擬議的版稅政策更新包括:1. 強制對 1/1 藝術品和類似作品 NFT 征收版稅 2. 實施“僅限持有人”投票系統,讓持有人作為一個群體來決定,是否啟用/禁用自定義版稅。[2022/8/28 12:53:51]

但是作為一個搞事情的人,怎么可以輕言放棄,既然沒有找到官方修復方案,底層肯定就還有問題的,于是乎,我只能從最底層開始進行操作,我想到了使用web3進行漏洞復現

3環境準備

操作系統:macOSnode:v8.11.0web3:1.0.0-beta.36rpc:infura測試合約的abi示例合約:

使用remix在測試網部署示例合約,獲取合約的地址,下面會用到獲取abi的方法:

4第二次出師

注:(??本次所有操作均在命令行中執行)

鍵入node進入命令行提示符在項目中引入web3并設置provider

創建合約實例:

構造方法abi,也就是構造我們上面說的交易里面的inputdata,由于我們是要構造短地址攻擊,所以我們的地址是要比正常的地址的位數要少的,為的就是要讓EVM用零自動補全缺失的地址,但是正常的構造是會失敗的,例如下圖這樣

但是,再次聲明一下,作為一個搞事情的人,不能輕言放棄!于是我們需要一點特別的方法,一開始的時候我到了這里就以為會有檢測就不行了,太天真,其實是web3的檢測,我們需要一點特別的方法。這個方法分為兩步

第一步,先構造正常的abi,這次使用的地址是'0xdfca6234eb09125632f8f3c71bf8733073b7cd00'

如圖,現在的abi,也就是inputdata,是136字節的。

第二步:使用一個小技巧,將abi里面地址后面的兩個零偷偷抹掉,本來是136字節的,現在只有134字節了,也就是我上面說到的不正常的inputdata,就是在這個時候構造出來的

以上就是把零抹掉之后的abi

ok,一切都準備好之后就可以到最激動人心的時刻了

在項目中引入ethereumjs-tx

導入你的私鑰并做一些處理:

構造原始交易數據,這是一筆十分原生的以太坊交易數據,每一次的合約調用,其實都會構造下面這一個數據。有關這方面的知識也不詳細展開,但是,除了nonce我們是不怎么了解之外,其他都是我們在remix上調用合約的時候會接觸到的,有關于nonce的說明,其實就是帳號所發送的交易數量,比方說你的帳號曾經處理過5筆交易,那么nonce就等于4,可以在ehterscan上查看到你的帳號的最后一筆交易的nonce,以下是具體的交易數據:

對交易進行簽名和對交易做一點處理

發送交易

5奇跡再現

通過預先設置的event事件我們可以看到,EVM成功補零,輸入本來是123,但是EVM提取的結果卻是31488,本來的16進制123是0x7b,現在是0x7b00!刺激!

6后記

「貼心」的我在測試網上也布了合約,而且我還驗證了,可以在鏈上查詢記錄,眼見為實。https://kovan.etherscan.io/address/0x6e2f32497a7da13907831544093d3aa335ecbf33#code

這次的操作,不禁使我想起了飛躍瘋人院里面的那句話--ButItried,didn'tI?Goddamnit,atleastIdidthat.

7參考資料

web3js1.0接口方法(中文手冊)http://cw.hubwiz.com/card/c/web3.js-1.0/1/2/21/

短地址攻擊詳解https://zhuanlan.zhihu.com/p/34470071

有關ABI的詳細信息在這里https://solidity-cn.readthedocs.io/zh/develop/abi-spec.html

來源鏈接:mp.weixin.qq.com

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

慢霧科技

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

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

入駐指南:

/apply_guide/

本文網址:

/news/3627019.html

以太坊ETH

免責聲明:

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

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

上一篇:

阿聯酋證券監管機構批準了規范ICO的計劃

下一篇:

澳大利亞新南威爾士州將數字駕駛執照上鏈

Tags:BASBASENCEWEBBasis Dollar SharepbaseioVesta FinanceWombat Web 3 Gaming Platform

幣安幣
比特幣:「幣圈楊超越」?8 大套路帶你看清傳銷幣真相!_Solana

「站在風口上,豬都能飛起來。」雷軍曾說的這句話激勵了不少年輕人去踏上新技術的風口,數字貨幣就是其中之一,而一些不法分子利用很多人對于幣圈暴富神話的向往編造一個又一個的幣圈騙局,吸引韭菜入套.

1900/1/1 0:00:00
比特幣:關鍵區間的博弈_買數字貨幣是什么意思

今天封面是《吃馬鈴薯的人》,文森特·梵高CryptoNews上有篇報道,富達對400多家美國投資機構做了一項關于數字貨幣的調查,結果顯示已有四分之一的機構已經接觸數字貨幣.

1900/1/1 0:00:00
TOK:imToken 團隊:認清及防范四類代幣騙局_Publish Token

在數字資產行業,安全是永恒的話題。從智能合約到交易所,再到數字錢包,安全事件往往給人們帶來慘痛的代價和痛苦的回憶。然而,大多數沒有經歷過安全事件的人,卻依舊存在僥幸心理.

1900/1/1 0:00:00
ETH:MyEtherWallet 用戶遭 DNS 服務器劫持,價值 15 萬美元資金被盜_ETHER

昨日晚,用來存儲并發送以太以及ERC20代幣的網頁版錢包MyEtherWallet遭遇網絡攻擊,截止發稿時共216個以太被盜,損失資金約為15.3萬美元.

1900/1/1 0:00:00
INST:分析:Instagram數據泄露報告證明應該遠離Facebook的加密項目_gram幣最新價格

安全研究員AnuragSen發現一個公共亞馬遜網絡服務數據庫,其中包含超過4900萬個Instagram賬戶的聯系信息。Facebook是Instagram和大多數其他社交媒體的壟斷所有者.

1900/1/1 0:00:00
比特幣:隨手丟掉 7500 個比特幣是一種什么樣的體驗?_BAS

32歲的IT從業者JamesHowells近期成為了一個全職的加密貨幣投資者。他在接受采訪時透露其在2009年丟失了現價超過6000萬美元的比特幣,并且到現在都沒能找回這筆錢.

1900/1/1 0:00:00
ads