Согласно мониторингу рисков безопасности Beosin EagleEye, мониторингу платформы раннего предупреждения и блокировки компании Beosin, занимающейся аудитом безопасности блокчейна**, был атакован контракт LibertiVault в цепочке Polygon, что привело к потере около 123 ETH и 56 234 USDT на сумму около 290 000 долларов США. , а цепочка Ethereum 35ETH и 96223USDT стоит около 160 000 долларов США, что в сумме превышает 450 000 долларов США. **Технический персонал проанализировал и обнаружил, что эта атака была вызвана уязвимостью повторного входа в контракте LibertiVault.
Злоумышленник занял 5 миллионов долларов США с помощью флэш-кредита и вызвал функцию депозита контракта LibertiVault для залога.Логика залога будет использовать часть заложенных токенов для обмена, а затем рассчитает количество отчеканенных монет. отчеканенные монеты основаны на контракте и депозите Расчет основан на соотношении суммы депонированных токенов к балансу до депонирования контракта.
Операция обмена вызовет контракт хакера.В это время хакер повторно вводит депозит вызова в первый раз и повторно вводит эту функцию во второй раз, внося 2,5 миллиона долларов США в контракт.
После второго повторного входа контракт будет чеканить монеты для хакера в соответствии с соотношением 2,5 млн USDT к балансу USDT предыдущего контракта.После выполнения функции депозита первого повторного входа хакер вносит еще 2,5 млн USDT. внутрь.
На этом операция обмена в функции внешнего депозита завершена, и контракт будет чеканить монеты в соответствии с соотношением 2,5 миллиона долларов США к балансу контракта в долларах США.
Проблема кроется в четвертом пункте.По логике вещей, второй расчет остатка контракта должен быть предыдущим остатком плюс 2,5 млн введенных впервые в качестве параметра для этого расчета, а вот в виде повторный вход, баланс контракта был получен в самом начале, поэтому параметры не изменились, а исходный баланс по-прежнему используется для расчета, в результате чего хакеры чеканили большое количество ваучерных токенов.
Наконец, хакер удалил токены и вернул флэш-кредит для получения прибыли.