في فجر يوم 9 يناير، تم استغلال عقد غير منشور تم نشره في وقت مبكر من بروتوكول Truebit بنجاح من قبل المهاجم، مما أدى إلى خسارة 8,535.36 ETH، ما يعادل 26.4 مليون دولار. قام فريق الأمان بإجراء تحليل عميق لهذا الحادث.
تحليل عملية الهجوم
الهاش الخاص بالصفقة الرئيسية للهجوم: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
خطوات المهاجم كانت واضحة جدًا:
أولاً، استدعاء دالة getPurchasePrice() للاستعلام عن معلومات السعر. ثم توجه إلى الثغرة الأساسية — استدعاء الدالة ذات العيب 0xa0296215()، مع تعيين قيمة msg.value منخفضة جدًا. نظرًا لعدم نشر رمز العقد، أظهر تحليل التفكيك أن هذه الدالة تحتوي على ثغرة منطق حسابي، ومن المحتمل أن يكون ذلك بسبب معالجة القطع الصحيحة للأعداد بشكل غير صحيح. ولهذا السبب، تمكن المهاجم من إصدار كمية هائلة من رموز TRU من لا شيء.
التالي هو مرحلة التصريف. قام المهاجم من خلال دالة burn "ببيع" الرموز التي تم إصدارها مرة أخرى إلى العقد، واستخرج كمية كبيرة من ETH. تكررت هذه العملية 4 مرات، مع زيادة قيمة msg.value في كل مرة، مما أدى في النهاية إلى تفريغ احتياطي ETH في العقد تقريبًا.
تتبع سلسلة التمويل
وفقًا لبيانات السلسلة، قام الفريق من خلال أدوات التحقيق والتتبع على البلوكشين بتتبع وجهة الأموال المسروقة… (لم يتم تقديم المحتوى التالي بالكامل)
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 14
أعجبني
14
10
إعادة النشر
مشاركة
تعليق
0/400
BridgeJumper
· منذ 1 س
مرة أخرى، هذا هو فخ العقود القديمة، لم يتم الكشف عن الشفرة المصدرية ومع ذلك تجرؤ على وضع هذا القدر من المال...
شاهد النسخة الأصليةرد0
BrokeBeans
· منذ 18 س
عقد آخر لم يتم الكشف عن كوده المصدري، وهذه المرة فعلاً انفجر... 26.4 مليون دولار ضاعت هكذا، هل يمكن أن يمر عيب بسيط مثل القطع الصحيح للأعداد من التدقيق؟
شاهد النسخة الأصليةرد0
LiquidationWizard
· 01-11 11:45
مرة أخرى، الأمور غير شفافة بسبب الكود المصدري، كان من المفترض أن يتم فتح المصدر بالكامل منذ زمن.
شاهد النسخة الأصليةرد0
SerumDegen
· 01-09 12:03
صراحة، هذا مجرد تجاوز للحد الأقصى للأعداد مع خطوات إضافية... العقود غير المدققة تظل غير مدققة على ما أعتقد لولاه
شاهد النسخة الأصليةرد0
ForkLibertarian
· 01-09 12:01
يا إلهي، مرة أخرى انقطاع الأعداد الصحيحة... كيف لا يزال هناك من يغامر بمثل هذه الثغرات
شاهد النسخة الأصليةرد0
QuorumVoter
· 01-09 11:57
الانقطاع في تقطيع الأعداد الصحيحة مرة أخرى، كيف لا يزال هناك أشخاص ينشرون عقودًا غير علنية لمصدر الكود الخاص بها؟
شاهد النسخة الأصليةرد0
SchrodingerWallet
· 01-09 11:50
مرة أخرى، فخ العقود غير العامة، هذه المرة اختفت 26.4 مليون دولار ببساطة... ثغرة قطع الأعداد الصحيحة كانت مذهلة جدًا
شاهد النسخة الأصليةرد0
MetaMisfit
· 01-09 11:48
مرة أخرى، المشكلة بسبب عدم الكشف عن الشفرة المصدرية، في هذا الزمن، إخفاؤها يجعل من الأسهل كشفها أكثر.
شاهد النسخة الأصليةرد0
BlockImposter
· 01-09 11:42
مرة أخرى، فشل عقد غير معلن، كم أنت معتاد على هذا الأسلوب
في فجر يوم 9 يناير، تم استغلال عقد غير منشور تم نشره في وقت مبكر من بروتوكول Truebit بنجاح من قبل المهاجم، مما أدى إلى خسارة 8,535.36 ETH، ما يعادل 26.4 مليون دولار. قام فريق الأمان بإجراء تحليل عميق لهذا الحادث.
تحليل عملية الهجوم
الهاش الخاص بالصفقة الرئيسية للهجوم: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
خطوات المهاجم كانت واضحة جدًا:
أولاً، استدعاء دالة getPurchasePrice() للاستعلام عن معلومات السعر. ثم توجه إلى الثغرة الأساسية — استدعاء الدالة ذات العيب 0xa0296215()، مع تعيين قيمة msg.value منخفضة جدًا. نظرًا لعدم نشر رمز العقد، أظهر تحليل التفكيك أن هذه الدالة تحتوي على ثغرة منطق حسابي، ومن المحتمل أن يكون ذلك بسبب معالجة القطع الصحيحة للأعداد بشكل غير صحيح. ولهذا السبب، تمكن المهاجم من إصدار كمية هائلة من رموز TRU من لا شيء.
التالي هو مرحلة التصريف. قام المهاجم من خلال دالة burn "ببيع" الرموز التي تم إصدارها مرة أخرى إلى العقد، واستخرج كمية كبيرة من ETH. تكررت هذه العملية 4 مرات، مع زيادة قيمة msg.value في كل مرة، مما أدى في النهاية إلى تفريغ احتياطي ETH في العقد تقريبًا.
تتبع سلسلة التمويل
وفقًا لبيانات السلسلة، قام الفريق من خلال أدوات التحقيق والتتبع على البلوكشين بتتبع وجهة الأموال المسروقة… (لم يتم تقديم المحتوى التالي بالكامل)