Можно ли использовать отрицательный газ для выполнения атаки Reentrant с использованием .send ()?

Не проверял, но теоретически это может сработать. Это может сработать следующим образом:

Злоумышленник сначала записывает много данных в хранилище, поэтому есть данные, которые нужно удалить.

Используя контракт .send () в контракте, на который атакует злоумышленник, получает вызванную ему функцию резервного копирования и освобождает место с помощью delete (), поэтому он получает больше газа для работы, чем на самом деле должно быть возможным, если у него будет достаточно газа, чтобы выполнить Повторная атака.

Возможно ли это? А если нет, почему бы и нет?

5 голосов | спросил Mick de Graaf 21 J0000006Europe/Moscow 2016, 10:18:09

1 ответ


4

Это невозможно, потому что отрицательный газ накапливается в отдельном счетчике возврата и предоставляется только в самом конце транзакции (максимум до половины используемого газа). См. Каковы пределы возврата денег?

ответил eth 21 J0000006Europe/Moscow 2016, 10:46:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132