Как искать уязвимости
Нашел для себя прикольный способ поиска уязвимостей в контракте, который подходит больше всего к проверке функций. Назвал его "А что если".
Вот смотрите вы на свою функцию или на ту, что в контракте аудита, и начинаете:
А что если... :
- Ввести нулевой адрес;
- Ввести свой адрес;
- Не вносить вообще ничего;
- Не тому пользователю отправляются деньги;
- Повлиять на сумму в transfer;
- Деньги / токены / не дойдут;
- Вызвать переполнение;
- Получить права админа;
- Зайти в функцию дважды;
- Подменить логику;
- Нет белого списка;
- Остались апрувы;
- Взять флеш займ;
- Обнулить счет;
- Обойти require;
и так далее. В моем случае, мне так легче сформировать цель атаки, чем вычитывать строку за строкой, пытаясь понять, что с этим кодом не так.
Надеюсь и вам поможет мой способ.
#hint #security
Post #565
271
- 👍 2