การโจมตี BSC Flash Loan: The Three Copycats

การโจมตีหลายครั้งได้เสี่ยงต่องาน Binance Smart Chain (BSC) จำนวนมากในเดือนพฤษภาคม ต่อจาก PancakeBunny งานส้อม 3 งาน —– AutoShark, Merlin Labs และ PancakeHunny —– ถูกโจมตีโดยใช้วิธีการเปรียบเทียบ PancakeBunny ประสบกับการโจมตีที่แพงที่สุดของ 4 ซึ่งสร้างความเสียหายโดยรวมเกือบ 45 ล้านเหรียญ ในโพสต์นี้ ดร. Chiachih Wu หัวหน้าทีมรักษาความปลอดภัยบล็อคเชนของ Amber Group ได้อธิบายอย่างละเอียดเกี่ยวกับข้อมูลเบื้องหลังการโจมตี 3 ตัวเลียนแบบ

การลอกเลียน

AutoShark ถูกทำร้าย 5 วันหลังจาก PancakeBunny ตามด้วย Merlin Labs และ PancakeHunny ตามลำดับ ต่อไปนี้คือการวิเคราะห์ปัญหาและวิธีการโจมตีที่เป็นไปได้สำหรับงานที่แยกกันทั้ง 3 งานนี้

ในฟังก์ชัน SharkMinter.mintFor() ปริมาณของโทเค็น SHARK ที่น่าพอใจที่จะสร้างเสร็จ (เช่น mintShark) นั้นมาจาก sharkBNBA จำนวนที่คำนวณโดย tokenTo SharkBNB() ในบรรทัดที่ 1494 อย่างไรก็ตาม tokenTo SharkBNB() จะอ้างอิงยอดดุลปัจจุบันของการพลิกกลับ ที่ทำให้เป็นจุดอ่อนไหว อาจมีคนสันนิษฐานว่าปริมาณโทเค็นที่ได้รับในบรรทัดที่ 1492 เท่ากับปริมาณของยอดดุลพลิก อย่างไรก็ตาม ดาวดวงที่ไม่ดีอาจควบคุมสมดุลการพลิกกลับได้โดยการส่งโทเค็นพลิกก่อนการเรียก getReward() และทำลายเหตุผลทางอ้อมของ tokenTo SharkBNB()

ในแอปพลิเคชันพื้นฐานของ tokenTo SharkBNB() มี& rsquo; เป็นอีกพื้นที่ผิวการโจมตี ดังที่แสดงในโค้ดบิตด้านบน _ flipTo SharkBNBFlip() กำจัดสภาพคล่องจาก ApeSwap (บรรทัด 1243) หรือ PantherSwap (บรรทัด 1262) และแปลงโทเค็น LP เป็น SHARK+WBNB ต่อมา ken() generateFlipTo ken() ถูกสร้างขึ้นเพื่อแปลง SHARK+WBNB เป็นโทเค็น SHARK-BNB LP

รับ 110 USDT Futures Bonus ฟรี!

ภายใน generateFlipTo ken() ยอดคงเหลือ SHARK และ WBNB ปัจจุบันของ SharkMinter (จำนวน ADesired, จำนวนBDesired) ถูกใช้เพื่อสร้างโทเค็น LP และปริมาณของโทเค็น LP จะเปลี่ยนกลับไปเป็น mintFor() เป็น sharkBNBAmount

บนนั้น

การเปรียบเทียบดาวที่ไม่ดีอาจย้าย SHARK+WBNB ไปที่ SharkMinter เพื่อควบคุมปริมาณโทเค็น SHARK ที่จะสร้าง ช่องโหว่ของ Merlin Labs ใน PancakeHunny สอดคล้องกับที่พบใน AutoShark เนื่องจากดาวที่ไม่ดีสามารถควบคุม HUNNY ที่สร้างผลประโยชน์ด้วยโทเค็น HUNNY และ WBNB

ถึง AutoShark และ PancakeHunny อย่างไรก็ตาม '& rsquo; _ getReward () มีช่องโหว่ที่ชัดเจนมากขึ้น

แม้แต่โค้ดบิตที่อยู่เหนือโปรแกรมที่ performanceFee อาจถูกควบคุมโดยความสมดุลของ CAKE ซึ่งส่งผลกระทบทางอ้อมต่อผลประโยชน์ของ MERL

การทำซ้ำ ตัวแก้ไข nonContract จะกำจัดสินเชื่อแฟลชAttack

หากไม่มีข้อตกลง ดาวร้ายอาจยังคงได้รับประโยชน์จากการโทรหลายครั้ง โดยเฉพาะ AutoShark ภายหลังจำลองการแฮ็ก AutoShark เราจำเป็นต้องได้รับโทเค็น SHARK-BNB-LP จาก PantherSwap ในขั้นต้น เราเปลี่ยน 0.5 WBNB เป็น SHARK (บรรทัดที่ 58) และย้าย WBNB ที่เหลือด้วยโทเค็น SHARK เหล่านั้นไปที่ PantherSwap สำหรับการสร้างโทเค็น SHARK-BNB-LP (บรรทัดที่ 64) หมายเหตุเกี่ยวกับ

อ่านบทความ:  Shapeshift เพื่อละลายโมเดลองค์กร แพลตฟอร์ม Airdrops FOX Tokens สู่ชุมชนผู้ใช้

เราโอนโทเค็น LP เหล่านั้นไปยัง AutoShark'& rsquo; ข้อตกลง StrategyCompoundFLIP (บรรทัดที่ 69 ) เพื่อรับผลประโยชน์ ที่เราจงใจฝากโทเค็น LP ครึ่งหนึ่งในบรรทัดที่ 69 ในการดำเนินการที่สองคือการทำให้ getReward() เข้าสู่ข้อตกลง SharkMinter นอกจากนี้ สำหรับบิตโค้ดข้างต้น เราเข้าใจว่ารางวัลสามารถกู้คืนได้โดยฟังก์ชัน made() (บรรทัดที่ 2) ).

ดังนั้น 30% ของผลประโยชน์ (เช่น ค่าธรรมเนียมประสิทธิภาพ) จะต้องสูงกว่า 1,000 (เช่น ฝุ่น) เพื่อเปิดใช้งาน SharkMinter.mintFor() ในบรรทัดที่ 1668 เนื่องจากในการใช้งานโค้ด เราจึงย้ายโทเค็น LP บางส่วนไปที่ ข้อตกลง StrategyCompoundFLIP ในบรรทัดที่ 76 เพื่อเลี่ยงผ่านค่าธรรมเนียมประสิทธิภาพ > > ตรวจสอบฝุ่นและเปิดใช้งานโรงกษาปณ์

ใน () โทร

เราต้องการ WBNB + SHARK จำนวนมากเพื่อควบคุม SharkMinter เราใช้ PantherSwap'& rsquo; s 100k WBNB โดยใช้ flash-swap ใช้บรรทัดที่ 81

การโทรกลับแบบเปลี่ยนแฟลช,แพนเค้กCall() เราแลกเปลี่ยนครึ่งหนึ่งของ WBNB เป็น SHARK และส่ง SHARK ออกไปพร้อมกับเงินคงเหลือ 50,000 WBNB ไปยังข้อตกลง SharkMinter เพื่อควบคุมการสร้างผลประโยชน์

ในการดำเนินการต่อไปคือการเปิดใช้งาน getReward() เมื่อ SharkMinter ได้รับโทเค็น WBNB+SHARK เพื่อสร้าง SHARK จำนวนมากให้กับผู้โทร โดยการกระทำสุดท้ายคือการแปลง SHARK เป็น WBNB ชำระสินเชื่อแฟลช และรับโทเค็น WBNB ที่ยังคงอยู่ .

การจำลองการทดลองของเรา ดาวที่ไม่ดีเริ่มต้นด้วย 1 WBNB โจมตี

ด้วยความช่วยเหลือของสินเชื่อแฟลช เขาสร้างรายได้จากการส่งคืน WBNB มากกว่า 1,000 รายการในข้อตกลงเดียว ใน PancakeHunny อย่างไรก็ตาม ทฤษฎีเบื้องหลังการโจมตี PancakeHunny นั้นคล้ายกับการโจมตีของ AutoShark ดังนั้น สั้นๆ เราต้องส่ง HUNNY+WBNB ไปยัง HunnyMinter จำนวนมากก่อนที่จะปิด getReward()

ข้อตกลงโทเค็น HUNNY มีระบบรักษาความปลอดภัยที่เรียกว่า antiWhale เพื่อหลีกเลี่ยงการถ่ายโอนปริมาณมาก

ใน สินเชื่อแฟลชไม่ทำงานที่นี่ Lib บายพาส antiWhale เราพัฒนาข้อตกลงเด็กหลายฉบับและเริ่มการเรียก CakeFlipVault.deposit() หลายรายการโดยใช้ข้อตกลงที่ระบุไว้ Lib ข้างต้นใช้บิตโค้ด โทเค็น LP ที่รวบรวมในบรรทัดที่ 116 คือ แบ่งออกเป็น 10 ส่วนและย้ายไป 10

ข้อตกลงภายใน Lib ในบรรทัดที่ 122 ตามด้วย

หลังจาก prepare() ต้องการแต่ละอย่าง Lib prepare() เราอนุญาต () CakeFlipVault เพื่อลงทุนโทเค็น LP และคิดในใจ CakeFlipVault.deposit() เพื่อให้เป็นไปได้สำหรับ getReward() ในภายหลัง ต้องมีการสร้างโทเค็น HUNNY ที่น่าพอใจ

ในการเตรียมข้อตกลง 10 Lib ข้อตกลงหลักจะทำซ้ำแต่ละข้อตกลงเพื่อ: 1) สลับ WBNB เป็นปริมาณที่เหมาะสมที่สุดของ HUNNY; 2) โอน WBNB+HUNNY ไปยัง HunnyMinter; 3) เปิดใช้งาน getReward() โดยใช้ lib.trigger(); และ 4) สลับ HUNNY กลับเป็น WBNB

การจำลอง Merlin Labs Attack

เมื่อเสร็จสมบูรณ์ ดาวร้ายที่มี 10 WBNB จะสร้าง WBNB ได้ประมาณ 200 รายการจากการดำเนินการ 10 ข้อตกลงของ Merlin Labs 10 ฉบับ อย่างไรก็ตาม ก่อนหน้านี้ บัญชีที่เป็นเจ้าของภายนอกมีตัวแก้ไข noContract เพื่อกำจัดการโจมตีแบบแฟลชยืม เราอาจใช้สคริปต์เพื่อเปิดใช้งานการโจมตีด้วยข้อตกลงหลายอย่างที่เริ่มต้นจาก EOA (

อ่านบทความ:  Flare Finance ให้รางวัลแก่ผู้เข้าร่วม ExFi ด้วยเงิน 1 ล้านเหรียญ YFLR

คล้ายกัน) ที่อยู่

ความแตกต่างเพียงอย่างเดียวคือใครบางคนอาจนำหน้าดาราที่ไม่ดี'& rsquo; ข้อตกลงในการรับรายได้

  1. การเปลี่ยนไปใช้การโจมตี AutoShark เราต้องเตรียม LINK และ WBNB (บรรทัดที่ 23) ให้เพียงพอ ใช้เพื่อผลิตโทเค็น WBNB-LINK-LP (บรรทัดที่ 34) และฝากโทเค็น LP ลงในข้อตกลง VaultFlipCake (บรรทัดที่ 38)
  2. การจัดการกับการเข้าพักคือ: ถึง WBNB ถึง CAKE (บรรทัดที่ 42)
  3. เรียก MERL minting โดยส่ง CAKE ไปที่ VaultFlip
  4. ข้อตกลงการแลกเปลี่ยนเค้ก (บรรทัดที่ 50)

ตาม getReward() ในบรรทัดที่ 55 (มีการสร้างโทเค็น MERL จำนวนมาก)

ใน MERL กลับไปที่ WBNB และทำซ้ำการกระทำข้างต้นหลายครั้ง

เกี่ยวกับ แอมเบอร์ กรุ๊ป

แอมเบอร์กรุ๊ปชี้ให้เห็นก่อนหน้านี้ว่า ถ้าคนหน้าดำเนินการ 3 ทันทีหลังจากการกระทำ 2 บุคคลนั้นอาจกำจัด MERL จำนวนมาก ฮ่องกงการทดลองของเรา ดาวที่ไม่ดีเริ่มต้นด้วย 10 WBNB และทิ้งไว้ประมาณ 165 WBNB โดยทำซ้ำ 4 การกระทำ 10 ครั้งไทเปเป็นผู้ให้บริการทางการเงินเข้ารหัสลับชั้นนำระดับโลกที่ดำเนินการทั่วโลกและตลอดเวลาโดยมีอยู่ในโซล, แวนคูเวอร์, ผู้ก่อตั้งและกลุ่มแอมเบอร์ ในปี 2017 กลุ่มอำพันให้บริการลูกค้าสถาบันมากกว่า 500 รายและมีการซื้อขายสะสมมากกว่า 500 พันล้านดอลลาร์ในการแลกเปลี่ยนทางอิเล็กทรอนิกส์มากกว่า 100 รายการ โดยมีทรัพย์สินภายใต้การบริหารมากกว่า 1.5 พันล้านดอลลาร์ ซีรีส์ 2021 เพื่อระดมทุน 100 ล้านดอลลาร์ใน

การจัดหาเงินทุนของ B และจบลงด้วยการเป็นยูนิคอร์น FinTech ปัจจุบันที่มีมูลค่ากว่า 1 พันล้านดอลลาร์ (*) ดูรายละเอียดเพิ่มเติมได้ที่ www.ambergroup.io.(*)

เทรดเดอร์ทุกคนที่ซื้อขายสกุลเงินดิจิทัลบนการแลกเปลี่ยน Binance ต้องการทราบเกี่ยวกับอนาคตที่กำลังจะเกิดขึ้น pumpในมูลค่าของเหรียญเพื่อทำกำไรมหาศาลในระยะเวลาอันสั้น
บทความนี้มีคำแนะนำ เกี่ยวกับวิธีการหาเวลาและเหรียญที่จะเข้าร่วมในครั้งต่อไป “Pump” ทุกวันชุมชนบน ช่องทางโทรเลข Crypto Pump Signals for Binance สัญญาณสำหรับ Binance เผยแพร่ 10 สัญญาณฟรีเกี่ยวกับ "Pump” และรายงานผลสำเร็จ “Pumps” ซึ่งสำเร็จลุล่วงโดยผู้จัดงานของชุมชนวีไอพี
ดูวิดีโอบน วิธีค้นหาเกี่ยวกับ cryptocurrency ที่จะเกิดขึ้น pump และรับผลกำไรมหาศาล.
สัญญาณการซื้อขายเหล่านี้ช่วยสร้างผลกำไรมหาศาลในเวลาเพียงไม่กี่ชั่วโมงหลังจากซื้อเหรียญที่เผยแพร่บนช่อง Telegram คุณทำกำไรโดยใช้สัญญาณการซื้อขายเหล่านี้แล้วหรือยัง ถ้าไม่เช่นนั้น ลองใช้เลย! เราหวังว่าคุณจะโชคดีในการซื้อขายสกุลเงินดิจิทัล และต้องการรับผลกำไรเช่นเดียวกับสมาชิกวีไอพีของ Crypto Pump Signals for Binance สัญญาณสำหรับช่อง Binance
จอห์นเลสลีย์/ ผู้เขียนบทความ

John Lesley เป็นเทรดเดอร์ที่มีประสบการณ์ซึ่งเชี่ยวชาญด้านการวิเคราะห์ทางเทคนิคและการคาดการณ์ตลาดสกุลเงินดิจิทัล เขามีประสบการณ์มากกว่า 10 ปีกับตลาดและสินทรัพย์ที่หลากหลายไม่ว่าจะเป็นสกุลเงินดัชนีและสินค้าโภคภัณฑ์จอห์นเป็นผู้เขียนหัวข้อยอดนิยมในฟอรัมหลักที่มีผู้เข้าชมหลายล้านครั้งและทำงานเป็นทั้งนักวิเคราะห์และเทรดเดอร์มืออาชีพสำหรับทั้งลูกค้าและ ตัวเขาเอง.

เขียนความเห็น