Poolz subit une attaque de débordement arithmétique, avec une perte de 665 000 $.

robot
Création du résumé en cours

Poolz subit une attaque par débordement arithmétique, avec des pertes atteignant 665 000 dollars.

Dans la nuit du 15 mars, Poolz a été attaqué sur les réseaux Ethereum, Binance Smart Chain et Polygon, entraînant le vol de plusieurs tokens d'une valeur totale d'environ 665 000 dollars. Les attaquants ont exploité une vulnérabilité de dépassement arithmétique dans le contrat intelligent pour obtenir avec succès une grande quantité de tokens.

Poolz a subi une attaque en raison d'un problème de débordement arithmétique, avec une perte d'environ 665K dollars !

Les attaquants créent des pools de liquidité en masse en appelant la fonction CreateMassPools. Cette fonction présente une vulnérabilité critique qui permet aux attaquants de contourner les vérifications de liquidité normales grâce à des paramètres soigneusement conçus. En particulier, les attaquants exploitent un problème de débordement d'entier dans la fonction getArraySum.

Au cours de l'attaque, les hackers ont d'abord échangé une petite quantité de jetons MNZ sur un certain échange décentralisé. Ensuite, ils ont appelé la fonction CreateMassPools, qui présente une vulnérabilité. Cette fonction était censée être utilisée pour créer en masse des pools de liquidités et fournir une liquidité initiale, mais en raison d'un défaut de la fonction getArraySum, les attaquants ont pu injecter une liquidité fictive bien supérieure au montant réellement transféré.

Poolz a subi une attaque en raison d'un problème de débordement arithmétique, avec une perte d'environ 665K dollars !

La fonction getArraySum, lors de l'addition du tableau _StartAmount transmis, retourne finalement la valeur 1 en raison d'un problème de débordement. Cependant, la fonction CreatePool continue d'utiliser la valeur originale de _StartAmount pour l'enregistrement. Cela permet à un attaquant de n'entrer qu'un seul jeton et de faire enregistrer une grande quantité de liquidité fictive dans le système.

Après avoir complété cette étape, l'attaquant appelle simplement la fonction withdraw pour retirer des jetons, complétant ainsi l'ensemble du processus d'attaque.

Poolz a été attaqué en raison d'un problème de débordement arithmétique, avec une perte d'environ 665K dollars !

Cet événement souligne à nouveau l'importance de la sécurité des opérations arithmétiques dans les contrats intelligents. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du compilateur Solidity, qui peuvent effectuer des vérifications de dépassement automatiquement lors de la phase de compilation. Pour les projets utilisant une ancienne version de Solidity, il est recommandé d'intégrer la bibliothèque SafeMath d'OpenZeppelin pour gérer les problèmes de dépassement d'entiers.

Cet incident d'attaque nous rappelle que, dans l'écosystème de la blockchain, même les failles de code apparemment mineures peuvent entraîner des pertes économiques graves. Par conséquent, un audit de code complet et des mises à jour de sécurité continues sont essentiels pour protéger les actifs des utilisateurs.

Poolz a été attaqué en raison d'un problème de débordement arithmétique, avec des pertes d'environ 665K dollars !

Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Récompense
  • 3
  • Partager
Commentaire
0/400
GweiWatchervip
· 07-14 06:30
Encore une vulnérabilité de contrat
Voir l'originalRépondre0
SignatureCollectorvip
· 07-14 06:18
66w est parti comme ça ??
Voir l'originalRépondre0
Whale_Whisperervip
· 07-14 06:04
Encore un bug de smart contracts
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)