《表2 整数溢出漏洞代码段》

《表2 整数溢出漏洞代码段》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《智能合约的安全研究现状与检测方法分析综述》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

如表2所示第7行存在一个明显的溢出漏洞,该代码段中的withdraw()函数实现的功能为:当账户余额大于取款金额时,就给该账户转入对应的取款金额,然后修改账户余额。因为uint256的存储范围在0到2^256-1的数字,当账户余额小于取款金额时,会发生整数下溢,从而产生一个较大的数值,满足第7行的条件,从而可以取出大于账户余额的金额,因此利用该漏洞,攻击者可以存入很少的金额,但能够取出大于存入的金额。