當前位置:
首頁 > 最新 > 僅僅一行代碼就讓蔡文勝的BEC損失¥60億,市值跌至近零

僅僅一行代碼就讓蔡文勝的BEC損失¥60億,市值跌至近零

導讀

就一個簡單的batchTransfer批量轉賬函數溢出漏洞,導致BEC的市值接近歸零。

至於其他建立在ETH智能合約基礎上開發的2000多個項目的代幣,裡面有沒有類似的bug,小蔥相信也會有的。


隨即被大眾瘋傳。在他發表完言論沒多久,2018年2月,美鏈(BEC)上交易所會暴漲4000%,後又暴跌。儘管他多次否認,但是聰明的網友早已扒出,他與BEC有著千絲萬縷的關係。

今天有人在電報群里說,BEC(美蜜)的代碼裡面有bug,已經有人利用該bug獲得了 57,896,044,618,658,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000.792003956564819968 個 BEC

小蔥咋看到這個消息,嚇了一跳,BEC(美蜜)整個盤的代幣總額才70億,現在黑客一下之轉走了5後面58個零的幣,這下BEC直接清盤了吧?

難道這是幣圈流行的漫天假消息?

不過小蔥發現,徐明星的OKex隨即緊急發布了一個公告。

如果說這個公告和這筆接近60億獲利的黑客攻擊沒有關聯,我是不相信的。

不過黑客到底是如何實現的呢?好奇的小蔥就來帶大家一起觀摩學習下,黑客是如何實現的!

我們發現,原來那個黑客的那筆操作記錄是 0xad89ff16fd1ebe3a0a7cf4ed282302c06626c1af33221ebe0d3a470aba4a660f

黑客所採取的攻擊方法是BEC智能合約

batchTransfer批量轉賬函數存在的漏洞

小蔥再來科普一下:batchTransfer批量轉賬函數有什麼漏洞

批量轉賬,言下之意也就是說給可以按事先指定的幾個錢包地址,發送相同數量


首先,小蔥和你達成了一次批量轉賬交易,你要向小蔥我批量發放BEC的代幣。

那麼小蔥肯定得先告訴你,我作為代幣接收者(receivers),會向你提供代幣接收地址。

然後,小蔥得再告訴你,你得向我提供的每個接收地址,發多少指定的代幣金額?(value:金額)

一般情況下,你要發送的代幣總金額(amount) = 發放的人數* 發送的金額

當然,這裡肯定有個先覺條件,你的錢包餘額肯定要多過你要發送的代幣總金額,否則你就不夠錢向小蔥我進行撒幣了!

從邏輯上看,上述的批量轉賬流程肯定沒有任何問題的,除非你的數學是體育老師教的!我想給別人發送代幣,那麼我本身的餘額一定要大於發送的總金額的!

但是,但是!

這段代碼卻犯了一個很傻的錯!


這個方法會傳入兩個參數

_receivers(代幣接收者)

_value(轉賬金額)

_receivers 的值是個列表,我們發現這個列表裡面有兩個錢包地址

而_value (轉賬金額)的值是 8000000000000000000000000000000000000000000000000000000000000000嚇尿小蔥了,黑客要搞這麼大筆的轉賬金額是為了什麼?

我們回頭再查看代碼(如下圖)

我們一行一行的來解釋

uint cnt = _receivers.length;

是獲取 _receivers 裡面有幾個地址,我們從上面可以看到 參數裡面只有兩個地址,所以 cnt=2,也就是 給兩個地址發送代幣

uint256 amount = uint256(cnt) * _value;


下一行代碼 require(cnt > 0 && cnt

我們的cnt等於2,通過!

require(_value > 0 && balances[msg.sender] >= amount);

這句要求 value 大於0,我們的value是大於0 的 且,當前用戶擁有的代幣餘額大於等於 amount,因為amount等於0,所以 就算你一個代幣沒有,也是滿足的!

balances[msg.sender] = balances[msg.sender].sub(amount);

這句是當前用戶的餘額 - amount

當前amount 是0,所以當前用戶代幣的餘額沒有變動

所以 _receivers 中,黑客地址的餘額 則加了57,896,044,618,658,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000.792003956564819968 個 BEC,市值接近60億!

就一個簡單的batchTransfer批量轉賬函數溢出漏洞,導致BEC的市值接近歸零

至於其他建立在ETH智能合約基礎上開發的2000多個項目的代幣,裡面有沒有類似的bug,小蔥相信也會有的。

不過話說回來,這次的Bug,不知道和最近風頭正猛的EOS有沒有關係?畢竟柚子可是朝著姨太開火的。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

好物│租房神器一二
民國人是怎麼撩妹的,教你如何快速的找到女盆友

TAG:全球大搜羅 |