EduCoin智慧合約transferFrom任意轉賬漏洞
先來看影響情況
更多詳情可以到這裡檢視
可以看到今日(2018,5,24)發生了三比大量轉賬的記錄,這些都是這個漏洞所造成的,其中有個比較搞笑的事情:
看第1、2筆紅框過的交易,攻擊者0x4205....從0xeee28...使用者裡竊取了660459561個token。
然而,沒過幾分鐘攻擊者0x4205竊取來的token全部都被0xc713使用者給轉走了。
......
這說明什麼?攻擊者可以從任意使用者中盜幣!
可以預見的是此幣種過不了幾天就會市值跌至近0,可以說是一洞回到解放前了。
漏洞成因
原始碼在這裡可以直接看到。
我們直接將目光瞄準到transferFrom函式:
看這行程式碼
allowed[_from][msg.sender] -= _value;
這裡沒有做任何檢查也沒有使用SafeMath庫
因此可以選擇任意令牌持有者作為_from來轉賬
應該怎麼寫?
正確的做法這裡可以參考大名鼎鼎的EOS的實現方法,如下:
相關文章
- 波場(Tron)USDT 合約授權(Approve)以及授權轉賬(TransferFrom)APP
- 以太坊智慧合約開發:讓合約接受轉賬
- 這些智慧合約漏洞,可能會影響你的賬戶安全!
- 什麼是智慧合約漏洞?
- DASP智慧合約Top10漏洞
- 使用remix實現給合約賬戶轉賬REM
- 通俗易懂談BEC智慧合約致命漏洞
- 以太坊智慧合約 Hexagon 存在溢位漏洞Go
- 合約 USDT 轉賬失敗的問題解決
- ERC20 智慧合約整數溢位系列漏洞披露
- 保險智慧合約
- SAP雲平臺,區塊鏈,超級賬本和智慧合約區塊鏈
- 智慧合約從入門到精通:智慧合約的前世今生
- 編寫智慧合約
- iOS 部署智慧合約iOS
- 富士通推出新技術檢測以太坊智慧合約漏洞
- 智慧合約從入門到精通:智慧合約的應用場景
- 美鏈BEC合約漏洞技術分析
- 報告指出34,000份以太坊智慧合約存在安全漏洞
- EOS系統合約鏈賬戶介紹
- 智慧合約初體驗
- 如何實施智慧合約?
- NEO智慧合約白皮書
- 智慧合約安全性
- 什麼是智慧合約?
- 什麼是智慧合約
- 智慧合約是什麼
- Dapp 合約代幣系統開發智慧合約APP
- 智慧合約開發環境搭建及Hello World合約開發環境
- PHP未明遠端任意檔案上傳漏洞(轉)PHP
- EOS原始碼解析 eosio賬號預設合約原始碼
- 以太坊智慧合約開發第四篇:實現Hello World智慧合約
- 以太坊蜜罐智慧合約分析
- 3.06 EOS智慧合約(上)
- 3.08 EOS智慧合約(下)
- 2.06 hyperledger fabric智慧合約
- 使用remix ethereum部署智慧合約REM
- 通過Mist部署智慧合約