这次攻击暴露是一个经典的整数溢出问题,具体表现为类型转换过程中的数据截断。
تفصيل التفاصيل الفنية:
1) تحديد الثغرات: تظهر المشكلة في آلية تحويل النوع في دالة get_amount_by_liquidity، حيث يؤدي التحويل الإجباري من u256 إلى u64 إلى فقدان البيانات العليا.
2) عملية الهجوم:
1، يقوم المهاجم بتمرير قيمة كبيرة من معامل حجم السيولة من خلال دالة add_liquidity؛
2. يستدعي النظام دالة get_delta_b لحساب كمية رموز B المطلوبة؛
3، في عملية الحساب، يجب أن يكون ناتج ضرب بيانات من نوع u128 نظريًا من نوع u256؛
العيب الرئيسي: تحويل نتيجة u256 إلى u64 عند إرجاع الدالة، مما يؤدي إلى قطع البيانات الأعلى 128 بت.
3)利用效果:原需要大量代币才能铸造的流动性额度,现在仅需极少量代币即可完成。 攻击者以极
شاهد النسخة الأصلية