MetaTrust: Earning.Farm Diretas Karena Masalah Logika dalam Fungsi "Penarikan" Kontrak

Menurut tweet MetaTrust, proyek Earning.Farm yang diterapkan di Ethereum telah diserang. Sampai sekarang, jumlah kerugian serangan telah mencapai sekitar 288 $ETH, senilai $536.000. Semua token telah ditransfer ke dompet baru ( 0 x ee 4 b 3 d).

Akar penyebab kerentanan ini adalah masalah logika dalam fungsi "Tarik" dari kontrak "EFVault", yang memungkinkan pengguna hanya membakar saldo "ENF_ETHLEV" pengguna saat saldo "ENF_ETHLEV" kurang dari pangsa yang diharapkan.

Langkah serang

1/ Penyerang memperoleh 10.000 Ethereum dari flash loan, menyetor 80 di antaranya ke dalam kontrak ENF_ETHLEV, dan memperoleh 295 e 18 saham.

2/ Penyerang menarik 295 e 18 saham dari kontrak ENF_ETHLEV dengan memanggil fungsi penarikan. Kemudian, fungsi "penarikan" memanggil fungsi penarikan dari "pengontrol" kontrak eksternal, yang memicu fungsi mundur dari kontrak penyerang.

3/ Dalam fungsi mundur, penyerang mentransfer ( 295 e 18 - 1000) token ENF_ETHEV ke dompet baru 0 x fd 29 f 2 , dan penyerang hanya membakar 1000 token ENF-ETHEV .

4/ Penyerang mengonversi token ENF_ETHEV di dompet 0 x fd 29 f 2 menjadi ETH, melunasi pinjaman kilat, dan mendapat untung darinya.

MetaTrust: Earning.Farm diserang karena kontrak

Salah satu transaksi serangan: 0 x 878 d 8986 ed 05 ab 32 cc 01 e 05663 d 27 ea 471576 d 2 baff 1081 b 15 ed 5 fb 550 f 9 d 81 b

Tweet referensi:

Ikuti kami

Twitter : @MetaTrustLabs

Situs web: metatrust.io

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)