EduCoin(EDU) 智能合约漏洞分析及修复方法

链讯 作者:慢雾科技 2018-05-24 17:33:04 阅读:939


5 月 24 日凌晨 01:33 时分,火币 Pro 发布公告称 EduCoin(EDU) 官方智能合约升级,慢雾安全团队综合「慢雾区」情报得知,EDU 智能合约可能存在漏洞,并随后进行了深入分析。


漏洞分析



在 EDU 智能合约 transferFrom 函数中,未校验 allowed[_from][msg.sender] >= _value 并且函数内 allowed[_from][msg.sender] -= _value; 没有使用 SafeMath,导致无法抛出异常并回滚交易。


通过这个漏洞,攻击者不需要私钥即可转走指定账户里所有的 EDU,并且由于合约没有 Pause 设计,导致无法止损。


修复方法


require(balances[_from] >= _value); 下一行增加 require(allowed[_from][msg.sender] >= _value); 或者引入 SafeMath,在合约中增加 using SafeMath for uint256; 同时修改为 allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);





[广告]赞助链接:

关注数据与安全,洞悉企业级服务市场:http://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

图库
关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接