区块链大学区块链技术学习区块链研习社

以太坊“假充值”漏洞代币及解析

2018-08-15  本文已影响128人  ACToken

1、存在漏洞的代币


REM
ATM
BAT
NULS

2、解析
漏洞在于transfer函数中的if else判断所致。如果 transfer 函数正常运行未抛出异常,该交易的 status 即是 true,当 balances[msg.sender] < _value 时进入 else 逻辑部分并 return false,最终没有抛出异常。
攻击者可以利用存在该缺陷的代币合约向交易所发起充值操作,如果交易所仅判断TxReceipt Status 是 success,即 status 为true的情况,就以为充币成功,就可能存在“假充值“。

function transfer(address _to, uint256 _value) returns (bool success) {
        if (balances[msg.sender] >= _value && _value > 0) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
比特儿REM假充值
上一篇 下一篇

猜你喜欢

热点阅读