Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
batchOverflow — 针对 batchOverflow 漏洞的修复 https://medium.com/@peckshield/alert-new-batchoverflow-bug-in-multiple-erc20-smart-contracts-cve-2018-10299-511067db6536 | Kitploit
工具/GitHubGitHub/phzietsman/batchoverflow
静态分析漏洞分析代码分析学习与教育
GitHubphzietsman/batchoverflow

batchOverflow

针对 batchOverflow 漏洞的修复 https://medium.com/@peckshield/alert-new-batchoverflow-bug-in-multiple-erc20-smart-contracts-cve-2018-10299-511067db6536

查看仓库
58年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

batchOverflow

Build Status

针对由 PeckShield 团队发现的 batchOverflow bug 的修复方案。

修复方法

原始合约只做了一项检查,以确保发送者有足够的 whatever 来支付总金额(输入值 x 地址数量)。如果发生溢出,该金额可能为零,这将使 line 12 上的测试通过。

execute

一种可能的修复方法是添加另一项测试,检查发送者的余额减去该金额后是否小于其当前余额。如果发生溢出,余额将保持不变,从而使其成为无效交易。但这仍然不能解决问题。如果攻击者的余额很小,比如 10 whatever,攻击者可以构造 _value 使其溢出到小于其当前持有余额的某个数值,从而通过这一道检查。

更好的修复方法是直接检查转账的总金额是否大于或等于 _value。如果发生溢出,该测试将无法通过。攻击者要绕过这一检查,至少需要拥有那个神奇数字 / 20 的数量,这仍然是一个非常巨大的数额,并且如果不利用另一个漏洞,可能无法获得。

测试

请确保你已安装 truffle,并在项目根目录运行 truffle test 命令。效果应该类似于这样。

execute

下载工具