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

Исправление для ошибки batchOverflow, обнаруженной командой PeckShield.

Исправление

Исходный контракт выполнял только проверку того, что у отправителя достаточно whatever для оплаты общей суммы (входное значение x количество адресов). Если происходило переполнение, эта сумма могла стать нулевой, что позволяло пройти проверку на line 12.

execute

Одно из возможных исправлений — добавить ещё одну проверку: убедиться, что баланс отправителя минус сумма меньше его текущего баланса. Если произошло переполнение, балансы будут одинаковыми, что делает транзакцию недействительной. Однако это всё равно не решит проблему. Если у атакующего небольшой баланс, скажем 10 whatever, он может подобрать _value так, чтобы переполнение дало сумму, меньшую его текущего баланса, и таким образом пройти эту проверку.

Лучшее исправление — просто проверить, что общая переводимая сумма больше или равна _value. Если произошло переполнение, эта проверка не будет пройдена. Чтобы пройти этот барьер, атакующему потребуется минимум это магическое число / 20, что всё ещё очень большая сумма и, вероятно, недостижима без эксплуатации другой уязвимости.

Тестирование

Убедитесь, что у вас установлен truffle, и выполните команду truffle test из корня вашего проекта. Результат должен выглядеть примерно так.

execute

Скачать инструмент