Le projet Poolz subit une attaque, avec des pertes d'environ 665 000 dollars.
Récemment, un incident d'attaque contre le projet multi-chaînes Poolz a suscité l'attention de l'industrie. Selon les données de surveillance de la blockchain, l'attaque a eu lieu le 15 mars 2023, impliquant trois chaînes : Ethereum, Binance et Polygon.
Les attaquants ont réussi à voler plusieurs types de jetons, y compris MEE, ESNC, DON, ASW, KMON, POOLZ, etc., pour une valeur totale d'environ 665 000 dollars. Actuellement, une partie des actifs volés a été échangée contre des BNB, mais n'a pas encore été transférée du portefeuille des attaquants.
Cette attaque a principalement exploité une vulnérabilité de dépassement d'entier dans le contrat intelligent du projet Poolz. L'attaquant a habilement profité du problème de dépassement d'entier dans la fonction getArraySum en appelant la fonction CreateMassPools. Plus précisément, l'attaquant a construit un tableau spécial dont la somme dépasse la valeur maximale de uint256, ce qui a conduit la fonction à retourner 1.
Cependant, le contrat a utilisé la valeur d'entrée brute lors de l'enregistrement des attributs du pool, plutôt que le nombre réel de jetons transférés. Cela a permis à l'attaquant de n'avoir besoin de transférer qu'un seul jeton pour enregistrer une valeur énorme dans le système. Ensuite, l'attaquant a extrait, via la fonction withdraw, un montant de jetons bien supérieur au montant réellement déposé, complétant ainsi l'attaque.
Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du compilateur Solidity, qui intègrent des fonctions de vérification des débordements. Pour les projets utilisant des versions plus anciennes de Solidity, il est possible d'utiliser la bibliothèque SafeMath fournie par OpenZeppelin pour éviter le risque de débordement d'entiers.
Cette attaque nous rappelle que même des opérations mathématiques apparemment simples peuvent entraîner de graves risques de sécurité dans un environnement blockchain. Les équipes de projet doivent concevoir et auditer les contrats intelligents avec plus de prudence pour garantir la sécurité des actifs des utilisateurs.
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.
11 J'aime
Récompense
11
4
Partager
Commentaire
0/400
ForeverBuyingDips
· Il y a 9h
Encore une faille dans les smart contracts a été exploitée.
Voir l'originalRépondre0
NFTHoarder
· Il y a 9h
Un jour sans se voir et un autre projet a été siphonné.
Voir l'originalRépondre0
OnchainSniper
· Il y a 9h
Encore des smart contracts nus, c'est juste un petit détail~
Poolz a été attaqué par des hackers, pertes d'actifs multi-chaînes de 66,5 millions de dollars.
Le projet Poolz subit une attaque, avec des pertes d'environ 665 000 dollars.
Récemment, un incident d'attaque contre le projet multi-chaînes Poolz a suscité l'attention de l'industrie. Selon les données de surveillance de la blockchain, l'attaque a eu lieu le 15 mars 2023, impliquant trois chaînes : Ethereum, Binance et Polygon.
Les attaquants ont réussi à voler plusieurs types de jetons, y compris MEE, ESNC, DON, ASW, KMON, POOLZ, etc., pour une valeur totale d'environ 665 000 dollars. Actuellement, une partie des actifs volés a été échangée contre des BNB, mais n'a pas encore été transférée du portefeuille des attaquants.
Cette attaque a principalement exploité une vulnérabilité de dépassement d'entier dans le contrat intelligent du projet Poolz. L'attaquant a habilement profité du problème de dépassement d'entier dans la fonction getArraySum en appelant la fonction CreateMassPools. Plus précisément, l'attaquant a construit un tableau spécial dont la somme dépasse la valeur maximale de uint256, ce qui a conduit la fonction à retourner 1.
Cependant, le contrat a utilisé la valeur d'entrée brute lors de l'enregistrement des attributs du pool, plutôt que le nombre réel de jetons transférés. Cela a permis à l'attaquant de n'avoir besoin de transférer qu'un seul jeton pour enregistrer une valeur énorme dans le système. Ensuite, l'attaquant a extrait, via la fonction withdraw, un montant de jetons bien supérieur au montant réellement déposé, complétant ainsi l'attaque.
Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du compilateur Solidity, qui intègrent des fonctions de vérification des débordements. Pour les projets utilisant des versions plus anciennes de Solidity, il est possible d'utiliser la bibliothèque SafeMath fournie par OpenZeppelin pour éviter le risque de débordement d'entiers.
Cette attaque nous rappelle que même des opérations mathématiques apparemment simples peuvent entraîner de graves risques de sécurité dans un environnement blockchain. Les équipes de projet doivent concevoir et auditer les contrats intelligents avec plus de prudence pour garantir la sécurité des actifs des utilisateurs.