هل نسيت اتلانتيس: إيثرنت ساحة قصيرة هجوم عنوان مفصل

0 نظرة عامة

عندما يتعلق الأمر ثغرة عقد الذكية، المرة الأولى يتبادر إلى الذهن هي الخوارزمية قد تجاوز، استدعاء الاعتداء وظيفة، والتغذية الخاطئة، ونقاط الضعف الأخرى، بعد كل شيء، وهذا هو في كثير من الحالات يكون العقد الذكية، وتقييم المخاطر مرتفع نسبيا، ولكن هناك نقطة ضعف شهدت ربما كثير من الناس، سمعت الضعف ليس الكثير من الناس قلقون حول، انها مثل أتلانتس الإنسان العالم، والكثير من الناس لا يعرفون، وتقارير البحوث قليلة جدا على جوجل يمكن العثور عليها، ولكن أيضا أقول لا واقع المبدأ ولكنها معقدة من الحرب، والشعور ورقة صغيرة. ونحن نعلم جميعا أن هذا هو EVM عيب مستوى، وليس مشكلة مستوى عقد الذكية، وفي حالة التخلف عن الذي كنا نظن، وهذا هو الثغرة التي تم إصلاحه. منذ بعض الوقت في محاولة للبحث عن هجوم القصير عناوين برنامج إعادة التأهيل الرسمي، ولكن بعد بحثي، وجدت أي برنامج إعادة التأهيل ذات الصلة، وأيضا على جيثب القطع مرة أخرى، وانظر أيضا ذات الصلة التاريخ إصلاح الإفراج عنهم، لذلك، أعتقد، حقا أعتقد، قد لا يمكن إصلاحه مستوى EVM.

1 كلمة قصيرة لمهاجمة أساسيات

كل هجوم هو في الواقع عنوان قصيرة ERC20 العقد الذي لديه وظيفة التالية

عندما يتم تمرير مكالمة البيانات إلى عقود استدعاء دالة، في الواقع، في مستوى EVM سلسلة من التعليمات البرمجية بايت، مثل الشكل أدناه، يمكنك ان ترى داخل كل معاملة في وظيفة كاملة Etherscan من داخل inputdata

كود الواردة بايت ما مجموعه 136 بايت (للبشرة العادية)، الذي يحتوي على تواقيع طريقة (4 بايت لأول مرة)، وقيمة المعلمة التي تم تمريرها (مقطع البيانات، بما في ذلك كمية البيانات الواردة والبيانات عنوان، على التوالي، هي 32 بايت، وارتفاع الحشو صفر). فوق هذا الرقم هو غير طبيعي، 134 بايت فقط، التي يتم التعامل خصيصا لي، وأنا سوف بالتفصيل أدناه.

من المعلومات الواردة أعلاه يمكننا أن نعرف، ويستند EVM على المعلمات تحديد رمز بايت واردة، رمز بايت هو الرقم هو رقم، وليس للتحقق. من قبيل الصدفة، هذا كل شيء، ينشأ الضعف، شخص يريد استخدام عنوان غير قانوني، مثل عنوان مكتوبة عمدا بعد قليل أقل، سوف EVM ننظر في كيفية التعامل معها، وإنما هو من قبيل الصدفة، EVM ليس فقط لا يشكو، ولكن أيضا " حميم "لمساعدتك في تنفيذ عمليات إنجاز في العنوان، كيف يكون مكملا له؟ هو نقص في الأجزاء التالية العنوان، مع مبلغ متوسط من البيانات لملء جزء من كل، دعونا تقول في عنوانك يمكن أن يكون

منذ اعلان نتائج ما تبذلونه من جهد لا يمكن التنبؤ بها، عمد كتابة اثنين 0 على الأقل، ويصبح على النحو التالي

ثم سوف تستكمل في EVM "الحميمة" من كمية البيانات بايت الجزء أخذت اثنين من أزواج من عنوان، وكمية البيانات القسمين الأولين يحدث أيضا أن تكون 0، ثم وهذا هو عنوانك أو العنوان الأصلي، ومع ذلك، فإن جزء البيانات اثنين أقل، كيف نفعل ذلك؟ هذا لا يتفق مع عدد من وحدات البايت أصدقاء ABI، لا يهم، "الحميمة" البيانات EVM ستكون جزءا من المبلغ الذي يبدأ من آخر واحد مليئة صفر للتعويض عن 136 بايت العادية، ثم بعض الطلاب يريدون أن نسأل، إذا كان عنوان بلدي لديه ستة أصفار، ثم تعمدت كتابة العنوان 60 أقل، ليست جزءا من البيانات على أكثر من 60؟ وهذه ليست ثروة؟

الجواب هو: كنت على حق.

وبعبارة أخرى، قد ملأ البيانات هو 1، بعد بايت كود تصبح 0x1، على إذا كان العنوان 6 بايت أقل، ثم سوف تصبح البيانات تلقائيا 0x1000000 ذلك! لا مفاجأة مفاجأة، وهذا يعني ليس من قبيل الصدفة!

2 لأول مرة التلمذة الصناعية

أود في البداية حاول لاستخدام ريمكس تكون مستنسخة، ولكن من المتوقع أن تفشل نتيجة لذلك، كما هو مبين أدناه، ولماذا؟ هذا هو لأنه في 2017 كان موجة من الضعف، برنامج إعادة التأهيل في كل مكان، وكيف يمكن أن تدع هذا النجاح بسيط من ذلك، فإن الواجهة الأمامية معالجة بالتأكيد الإدخال تصفية والتفتيش، لتكون ناجحة، فمن السذاجة ل .

ولكن كشخص الانخراط في الأشياء، وكيف يمكن أن يستسلم، لأنه لا يوجد برنامج التأهيل الرسمي، هناك بالتأكيد المشكلة الأساسية، ومنذ ذلك الحين، وأنا يمكن أن يبدأ فقط للعمل من الأسفل، وأعتقد أن إعادة استخدام الضعف web3 حاضر

3 جاهزة للبيئة

1. نظام التشغيل: ماك 2. العقدة: v8.11.03. web3: 1.0.0-beta.364. جنة الحماية من الإشعاع: أبي 6. infura 5. العقود عقد الاختبار على سبيل المثال:

7. عنوان ريميكس نشر العينة في العقود شبكة اختبار والعقود وصول، سيتم استخدام الأسلوب التالي للحصول على أبي من:

4 التلمذة الصناعية الثانية

ملاحظة: (يتم تنفيذها وجميع العمليات على سطر الأوامر)

1. نوع عقدة في سطر الأوامر الفوري 2. web3 قدم في المشروع وتعيين مزود (كيف لا والمضي قدما مع تعليمات لتحميل web3 هنا، مهتما يمكن أن تجد نفسك عملية بسيطة جدا)

3. إنشاء مثيل من العقد:

4. منشئ أبي، هي التي شيدت فوق المعاملات المذكورة داخل inputdata لنا، لأننا لبناء كلمة قصيرة للهجوم، ولذا فإننا العنوان هو عدد البتات من عنوان العادي أقل من ذلك بكثير، هو جعل EVM عنوان لصناعة السيارات في الانتهاء من كل مفقود الصفر، ولكن عادة ما تفشل تم تكوين، على سبيل المثال، FIG مثل

ومع ذلك، مرة أخرى نعلن بأنها أي شخص يشارك في هذه المسألة، لا يمكن أن تتخلى! لذلك نحن بحاجة إلى وسيلة خاصة صغيرة، بدءا عندما وصلت هنا أن هناك لن يتم الكشف عن، ساذجة جدا، في الواقع، هو اختبار web3، نحن بحاجة إلى وسيلة خاصة صغيرة. هذا الأسلوب هو من خطوتين

الخطوة الأولى، أولا شيدت أبي العادي، وهذه المرة باستخدام عنوان '0xdfca6234eb09125632f8f3c71bf8733073b7cd00 "

FIG الآن ABI، أي InputData، هو 136 بايت.

الخطوة 2: استخدام مهارة قليلا، وهما الصفر محو سرا الجزء الخلفي من عنوان داخل أبي، في الأصل 136 بايت، هناك 134 بايت فقط، وهذا هو، عندما يتعلق الأمر بلدي inputdata غير طبيعي أعلاه، وهذا هو، في وقت البناء خارج

هذه هي الصفر بعد محو أبي

حسنا، بعد كل ما هو على استعداد ليكون أكثر لحظة مثيرة

إدخال ethereumjs-TX في المشروع (لا تتكشف بالتفصيل كيفية تحميل هنا)

6. استيراد المفتاح الخاص والقيام ببعض المعالجة:

7. هيكل بيانات المعاملات الأصلي، الذي هو مجموع ساحة إيثرنت هو الأصلي للغاية، كل عقد المكالمة، في الواقع، سوف يتم بناؤها تحت هذه البيانات. لم يتم توسيع هذه المعرفة في التفاصيل، ومع ذلك، بالإضافة إلى حالية نحن لا فهم جدا، ونحن ندعو جميع العقود الأخرى ريميكس متى تتلامس مع، شرح عن حالية، في الواقع، وإرسالها حساب عدد الصفقات، ويقول حسابك تعاملت 5 صفقات، ثم حالية يساوي 4 (حالية بدءا من 0)، يمكنك عرض حالية الصفقة الأخيرة من حسابك على ehterscan، وفيما يلي بيانات محددة المعاملة :

8. التوقيع على المعاملة والمعاملة تفعل شيئا من المعالجة

9. يرسل المعاملة

5 معجزة

حدث من قبل مجموعة الحدث في وقت مبكر، ويمكن أن نرى، EVM مساهمة ناجحة من الصفر مبطن يمكن أن يكون 123، ولكن استخراج نتيجة EVM هو 31488، وأصلي 123 هي عشري 0x7b، والآن هو 0x7b00! التحفيز!

6 حاشية

"الحميمة" كنت في اختبار القماش على الانترنت أيضا عقدا، وأنا التحقق أيضا، يمكنك الاستعلام سجل، نظرا لصدقه في السلسلة. https://kovan.etherscan.io/address/0x6e2f32497a7da13907831544093d3aa335ecbf33#code

العملية، يذكرني داخل قفزة مجانين تلك الجملة --But حاولت، لم أكن أنا؟ Goddamnit، على الأقل أنا فعلت ذلك.

7 المراجع

web3js 1.0 أساليب الواجهة (دليل الصينية) قصيرة مفصل هجوم عنوان https://zhuanlan.zhihu.com/p/ 34470071 لمزيد من المعلومات حول ABI هنا https://solidity-cn.readthedocs.io/zh/develop/abi-spec.html

غطاء قوان Xiaotong دنغ الأزياء، تحد واضح لالمكرونة سريعة التحضير التوجه نحو مذهل، 22 سنة، وقالت انها أكثر جمالا

ويقول خبراء اقتصاديون: تريد انقاص وزنه؟ الشخص لتناول الطعام!

دعاية الدراما تظهر أيضا البنود والملابس، وياو Chenliang في قوالب على أساس مكان العمل الزي، ومزاجه جيد معطف بيج الفكرية

ليلة رأس السنة الجديدة الأكثر محرجة قائلا: "الليلة الماضية الأرض" التسويق هو مجموعة من السخرية، ون تشينغ الجمهور لا يمكن أن يكون على حد سواء

بناء سوق الفحم والفحم خدمات سلسلة التوريد الفرعية منتدى عقد بسلاسة

لا مجرد تمريرات جيدة الشكل؟ وانغ أويحيي البالغ من العمر 37 عاما مذهلة الجمهور اضطرت إلى الاعتماد على النمذجة، وهو مزيج وتتناسب مع لون جدا

قراءة لي رفيعة المستوى البنود عودة عرض الملابس! تنورة ملابس لراكبي الدراجات منقوشة مع مغر وسيم، البالغ من العمر 34 عاما مثل 24 سنة

2017 معرض السنوي الوطني للفحم التجاري الذي عقد في تشينهوانغداو

"تساو بارك" الإيجار لمدة 70 عاما: فدان من الغابات لمدة ثلاث سنوات "، وليس المال عود"

قوه تشيانغ: كتلة التكنولوجيا سلسلة، رمز والتوافق المجتمع هي العناصر الثلاثة للDAC

البالغ من العمر 44 عاما شارمين هذه المرة المزروعة فعلا في حذاء أبيض، مع ثوب الرجعية الطباعة، لا انهار حقل غاز بالفعل

2017 المعرض التجاري الفحم الوطني السنوي الذي عقد بنجاح الفرعية المنتدى