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

作者: ACToken | 来源:发表于2018-08-15 22:14 被阅读128次

    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假充值

    相关文章

      网友评论

      本文标题:以太坊“假充值”漏洞代币及解析

      本文链接:https://www.haomeiwen.com/subject/eosgbftx.html