Poolz a subi une attaque entraînant une perte d'environ 665 000 $
Récemment, un incident d'attaque contre Poolz a suscité une large attention au sein de la communauté des cryptomonnaies. Selon les données on-chain, l'attaque a eu lieu le 15 mars 2023, impliquant plusieurs réseaux tels qu'Ethereum, BNB Chain et Polygon. L'attaquant a exploité une vulnérabilité de débordement arithmétique dans le contrat intelligent, réussissant à voler une grande quantité de jetons, d'une valeur totale d'environ 66,5 milliers de dollars.
Cette attaque implique plusieurs tokens, y compris MEE, ESNC, DON, ASW, KMON, POOLZ, etc. Une partie des tokens obtenus par les attaquants a été échangée contre des BNB, mais jusqu'à présent, ces fonds n'ont pas été transférés.
Le processus d'attaque se divise principalement en trois étapes :
L'attaquant a d'abord échangé une certaine quantité de jetons MNZ via un échange décentralisé.
Ensuite, l'attaquant a appelé la fonction CreateMassPools. Cette fonction était censée permettre aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale. Cependant, en raison d'un problème de débordement arithmétique dans la fonction getArraySum, l'attaquant a pu exploiter cette vulnérabilité. Plus précisément, le tableau _StartAmount fourni par l'attaquant contenait des valeurs dépassant la limite de uint256, entraînant un débordement du résultat de l'addition, le retour de valeur étant finalement 1. Cela a permis à l'attaquant de n'avoir besoin de transférer qu'un seul jeton pour enregistrer dans le système une liquidité bien supérieure à la quantité réelle.
Enfin, l'attaquant a terminé tout le processus d'attaque en appelant la fonction withdraw pour retirer des jetons.
Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents, en particulier en ce qui concerne la prudence lors du traitement des calculs de grandes valeurs. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du langage de programmation Solidity, qui effectuent automatiquement des vérifications de débordement lors de la compilation. Pour les projets utilisant des versions plus anciennes de Solidity, il est recommandé d'adopter la bibliothèque SafeMath fournie par OpenZeppelin pour prévenir les problèmes de débordement d'entiers.
Cet incident d'attaque nous rappelle que dans le domaine en rapide développement de la blockchain, la sécurité doit toujours être une priorité. Les équipes de projet doivent constamment évaluer et mettre à jour leurs mesures de sécurité, tandis que les utilisateurs doivent également rester vigilants et participer prudemment à diverses activités DeFi.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Poolz subit une attaque par dépassement arithmétique, perte de 665 000 dollars.
Poolz a subi une attaque entraînant une perte d'environ 665 000 $
Récemment, un incident d'attaque contre Poolz a suscité une large attention au sein de la communauté des cryptomonnaies. Selon les données on-chain, l'attaque a eu lieu le 15 mars 2023, impliquant plusieurs réseaux tels qu'Ethereum, BNB Chain et Polygon. L'attaquant a exploité une vulnérabilité de débordement arithmétique dans le contrat intelligent, réussissant à voler une grande quantité de jetons, d'une valeur totale d'environ 66,5 milliers de dollars.
Cette attaque implique plusieurs tokens, y compris MEE, ESNC, DON, ASW, KMON, POOLZ, etc. Une partie des tokens obtenus par les attaquants a été échangée contre des BNB, mais jusqu'à présent, ces fonds n'ont pas été transférés.
Le processus d'attaque se divise principalement en trois étapes :
L'attaquant a d'abord échangé une certaine quantité de jetons MNZ via un échange décentralisé.
Ensuite, l'attaquant a appelé la fonction CreateMassPools. Cette fonction était censée permettre aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale. Cependant, en raison d'un problème de débordement arithmétique dans la fonction getArraySum, l'attaquant a pu exploiter cette vulnérabilité. Plus précisément, le tableau _StartAmount fourni par l'attaquant contenait des valeurs dépassant la limite de uint256, entraînant un débordement du résultat de l'addition, le retour de valeur étant finalement 1. Cela a permis à l'attaquant de n'avoir besoin de transférer qu'un seul jeton pour enregistrer dans le système une liquidité bien supérieure à la quantité réelle.
Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents, en particulier en ce qui concerne la prudence lors du traitement des calculs de grandes valeurs. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du langage de programmation Solidity, qui effectuent automatiquement des vérifications de débordement lors de la compilation. Pour les projets utilisant des versions plus anciennes de Solidity, il est recommandé d'adopter la bibliothèque SafeMath fournie par OpenZeppelin pour prévenir les problèmes de débordement d'entiers.
Cet incident d'attaque nous rappelle que dans le domaine en rapide développement de la blockchain, la sécurité doit toujours être une priorité. Les équipes de projet doivent constamment évaluer et mettre à jour leurs mesures de sécurité, tandis que les utilisateurs doivent également rester vigilants et participer prudemment à diverses activités DeFi.