

昨日部分幣所發(fā)出公告,暫?;谝蕴籈RC-20發(fā)行的Token的充值功能。
據(jù)了解好像是SMT的Token的問題,暫時沒有上SMT的交易所沒有問題。
關(guān)于漏洞的詳盡解釋:
在BEC漏洞事件后,PeckShield團隊隨后發(fā)布安全報告,提到黑客利用in-the-wild手段抓取以太坊ERC-20 智能合約中的「BatchOverFlow」這個整數(shù)溢出漏洞來進行攻擊。
PeckShield 的安全預警報告中提到了該漏洞的具體細節(jié),這個漏洞出現(xiàn)在 BEC 智能合約的batchTransfer 函數(shù)當中,代碼如下圖所示。

大家請注意第 257 行,cnt 和 _value 的計算結(jié)果生成了局部變量。第二個參數(shù),即 _value,,可以是一個任意的 256 字節(jié)整數(shù),就比如是:0x8000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000(63 個 0)。
通過將兩個 _receivers 注入到 batchTranser(),再加上這個極其大的 _value,我們就能使得量溢出,將其 amount 的量變成 0。通過將量回歸到 0,攻擊者就可以繞過 258 行到 259 行的合理性檢測,使得 261 行的差值變得不再相關(guān)。
最后,出現(xiàn)了一個非常有趣的結(jié)果:你們可以看 262 行到 265 行,兩個 receriver 的余額上增加了超級大的 _value,而這一切都不會花費攻擊者錢包里哪怕一毛錢!
綜合起來就是,黑客利用以太坊ERC-20智能合約中BatchOverFlow漏洞中的數(shù)據(jù)溢出的漏洞,攻擊了美鏈BEC的智能合約,成功地向兩個地址轉(zhuǎn)出了天量級別的BEC代幣。
據(jù)了解,黑客可以通過轉(zhuǎn)賬的手段生成合約中不存在的、巨量的Token并將其轉(zhuǎn)入正常賬戶,并且賬戶中收到的Token可以正常地轉(zhuǎn)入交易所進行交易,與真的Token無差別。
原文鏈接:
“https://www.walian.cn/news/1446.html”