《表2 整数溢出漏洞代码段》
如表2所示第7行存在一个明显的溢出漏洞,该代码段中的withdraw()函数实现的功能为:当账户余额大于取款金额时,就给该账户转入对应的取款金额,然后修改账户余额。因为uint256的存储范围在0到2^256-1的数字,当账户余额小于取款金额时,会发生整数下溢,从而产生一个较大的数值,满足第7行的条件,从而可以取出大于账户余额的金额,因此利用该漏洞,攻击者可以存入很少的金额,但能够取出大于存入的金额。
图表编号 | XD00173382300 严禁用于非法目的 |
---|---|
绘制时间 | 2020.07.10 |
作者 | 郑忠斌、王朝栋、蔡佳浩 |
绘制单位 | 工业互联网创新中心(上海)有限公司、工业互联网创新中心(上海)有限公司、上海大学 |
更多格式 | 高清、无水印(增值服务) |