华域联盟 黑客技术 SMT整型溢出漏洞分析笔记

SMT整型溢出漏洞分析笔记

此次漏洞发生的虚拟货币为SmartMesh(简称SMT),目前该货币以以太坊智能合约的形式发布,Token为0x55f93985431fc9304077687a35a1ba103dc1e081,最初触发漏洞的交易记录位于下图所示的交易记录上:

异常交易记录

根据图中Input Data中的信息,定位到SMT中发生错误的智能合约函数transferProxy,该函数主要用于没有以太币的SMT币拥有者,将签署过的交易信息交由第三方节点进行发布,而消息的发送节点会收到SMT币作为酬劳。

漏洞函数截图

该函数的第一行对于此次交易转出者的余额进行校验。交易记录中的0-6变量依次对应于该函数的7个参数,此处的_feeSmt + _value实际为:

0x7000000000000000000000000000000000000000000000000000000000000001 +

0x8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

运算结果会被映射为uint256型数据,因此会发生无符号整型数据的上溢,使计算结果为0,从而绕过了此处检查。这最终将导致msg.sender(发送交易消息的节点)和_to(钱币接受者)代表的钱包在记账时分别记入feeSmt(0x7000......)和_value(0x8FFF......)个SMT货币。这一过程被同样被记录在了以太坊的交易记录中,如下图最后两条记录所示,而后续发生的交易则是攻击者向其他钱包进行钱币转移的操作。

攻击者账户交易信息

本文由 华域联盟 原创撰写:华域联盟 » SMT整型溢出漏洞分析笔记

转载请保留出处和原文链接:https://www.cnhackhy.com/105723.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

区块链技术安全讨论

揭秘以太坊中潜伏多年的“偷渡”漏洞,全球黑客正在疯狂偷币

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部