تعرض Poolz لهجوم ثغرة تجاوز سعة العمليات الرياضية، مع خسارة تبلغ حوالي 665,000 دولار أمريكي
مؤخراً، تعرض مشروع Poolz على عدة شبكات بلوكشين لهجوم من قراصنة، مما أدى إلى سرقة كمية كبيرة من الرموز، بقيمة إجمالية تصل إلى حوالي 665000 دولار أمريكي. حدث هذا الهجوم في 15 مارس 2023، وشمل عدة شبكات مثل Ethereum و BNB Chain و Polygon.
استغل المهاجمون ثغرة في حسابات الأعداد في عقد Poolz الذكي. على وجه التحديد، تكمن المشكلة في دالة getArraySum الموجودة في دالة CreateMassPools. لم تتعامل هذه الدالة بشكل صحيح مع زيادة الأعداد الصحيحة عند حساب كمية الرموز، مما سمح للمهاجمين بالحصول على كميات كبيرة من الرموز بتكلفة منخفضة للغاية.
تكون عملية الهجوم تقريبًا كما يلي:
قام المهاجم أولاً بتبادل كمية صغيرة من رموز MNZ في أحد البورصات اللامركزية.
بعد ذلك، استدعاء دالة CreateMassPools، وتمرير المعلمات المصممة بعناية، مما يؤدي إلى تجاوز عدد صحيح.
بسبب تجاوز السعة، قام النظام بتسجيل عدد ضخم من الرموز بشكل خاطئ، في حين أنه تم تحويل رمز واحد فقط في الواقع.
أخيرًا، يقوم المهاجم باستدعاء دالة السحب لسحب الرموز، وإكمال الهجوم.
تُبرز هذه الحادثة مرة أخرى خطورة ثغرات تجاوز السعة في العقود الذكية. لمنع حدوث مشاكل مشابهة، ينبغي على المطورين استخدام إصدارات أحدث من مترجم Solidity، حيث تقوم هذه الإصدارات بإجراء فحوصات تجاوز السعة تلقائيًا. بالنسبة للمشاريع التي تستخدم إصدارات قديمة من Solidity، يُنصح بإدخال مكتبة SafeMath من OpenZeppelin لمعالجة العمليات العددية.
أدى هذا الهجوم إلى خسائر في عدة رموز، بما في ذلك MEE و ESNC و DON و ASW و KMON و POOLZ. في الوقت الحالي، تم تحويل بعض الأموال المسروقة من قبل المهاجمين إلى BNB، ولكن لم يتم نقلها من عنوان المهاجمين بعد.
تذكرنا هذه الحادثة أنه حتى العمليات الرياضية التي تبدو بسيطة يمكن أن تسبب مشاكل أمنية خطيرة في العقود الذكية. يحتاج فريق المشروع إلى إيلاء مزيد من الاهتمام لمراجعة الشفرات واتخاذ التدابير الأمنية اللازمة لحماية أصول المستخدمين.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تعرضت العقود الذكية لPoolz لثغرة تم استغلالها، مما أدى إلى خسارة أصول متعددة السلاسل بقيمة 66.5 ألف دولار.
تعرض Poolz لهجوم ثغرة تجاوز سعة العمليات الرياضية، مع خسارة تبلغ حوالي 665,000 دولار أمريكي
مؤخراً، تعرض مشروع Poolz على عدة شبكات بلوكشين لهجوم من قراصنة، مما أدى إلى سرقة كمية كبيرة من الرموز، بقيمة إجمالية تصل إلى حوالي 665000 دولار أمريكي. حدث هذا الهجوم في 15 مارس 2023، وشمل عدة شبكات مثل Ethereum و BNB Chain و Polygon.
استغل المهاجمون ثغرة في حسابات الأعداد في عقد Poolz الذكي. على وجه التحديد، تكمن المشكلة في دالة getArraySum الموجودة في دالة CreateMassPools. لم تتعامل هذه الدالة بشكل صحيح مع زيادة الأعداد الصحيحة عند حساب كمية الرموز، مما سمح للمهاجمين بالحصول على كميات كبيرة من الرموز بتكلفة منخفضة للغاية.
تكون عملية الهجوم تقريبًا كما يلي:
قام المهاجم أولاً بتبادل كمية صغيرة من رموز MNZ في أحد البورصات اللامركزية.
بعد ذلك، استدعاء دالة CreateMassPools، وتمرير المعلمات المصممة بعناية، مما يؤدي إلى تجاوز عدد صحيح.
بسبب تجاوز السعة، قام النظام بتسجيل عدد ضخم من الرموز بشكل خاطئ، في حين أنه تم تحويل رمز واحد فقط في الواقع.
أخيرًا، يقوم المهاجم باستدعاء دالة السحب لسحب الرموز، وإكمال الهجوم.
تُبرز هذه الحادثة مرة أخرى خطورة ثغرات تجاوز السعة في العقود الذكية. لمنع حدوث مشاكل مشابهة، ينبغي على المطورين استخدام إصدارات أحدث من مترجم Solidity، حيث تقوم هذه الإصدارات بإجراء فحوصات تجاوز السعة تلقائيًا. بالنسبة للمشاريع التي تستخدم إصدارات قديمة من Solidity، يُنصح بإدخال مكتبة SafeMath من OpenZeppelin لمعالجة العمليات العددية.
أدى هذا الهجوم إلى خسائر في عدة رموز، بما في ذلك MEE و ESNC و DON و ASW و KMON و POOLZ. في الوقت الحالي، تم تحويل بعض الأموال المسروقة من قبل المهاجمين إلى BNB، ولكن لم يتم نقلها من عنوان المهاجمين بعد.
تذكرنا هذه الحادثة أنه حتى العمليات الرياضية التي تبدو بسيطة يمكن أن تسبب مشاكل أمنية خطيرة في العقود الذكية. يحتاج فريق المشروع إلى إيلاء مزيد من الاهتمام لمراجعة الشفرات واتخاذ التدابير الأمنية اللازمة لحماية أصول المستخدمين.