以太坊智能合约 Hexagon 存在溢出漏洞
最近通过对智能合约的审计,发现了一些智能合约相关的安全问题。
其中我们发现智能合约Hexagon存在溢出攻击,可产生无数的token,导致整个代币都没有意义。 Token地址:https://etherscan.io/address/0xB5335e24d0aB29C190AB8C2B459238Da1153cEBA
该代币可能要上交易所,我们已第一时间向官方通知该问题。
目前发现受影响合约地址:
成因分析
问题出现在_transfer
函数当中,当调用transfer
转币时,会调用_transfer
函数:
_value
可控,burnPerTransaction
为常量,当_value + burnPerTransaction
溢出时为0,可以导致绕过验证。
漏洞利用
合约中 burnPerTransaction
= 2 ,
所以当转账_value
为0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe
时,_value + burnPerTransaction =0
,即可成功攻击,为balanceOf[_to]增加大量代币。
总结
建议使用 SafeMath 来处理计算操作,避免溢出。
同时,以太坊智能合约有很多开源合约,使用参考开源合约前,应对代码进行安全审计。