สัญญาอัจฉริยะ

Dec 11 2022
วันที่ 8 THM-การถือกำเนิดของไซเบอร์ 4
งานนี้มีทฤษฎีมากมายเกี่ยวกับช่องโหว่ของสัญญาอัจฉริยะ ก่อนที่เราจะดำเนินการจริงกับการใช้งานจริงของช่องโหว่พื้นฐาน แม้ว่าจะค่อนข้างยากที่จะเข้าใจหากคุณไม่คุ้นเคยกับบล็อกเชนและสัญญาอัจฉริยะ แต่ฉันขอแนะนำให้คุณอ่านสั้น ๆ เพื่อทำความเข้าใจคร่าวๆ ว่าฉากบนเวทีเป็นอย่างไร

งานนี้มีทฤษฎีมากมายเกี่ยวกับช่องโหว่ของสัญญาอัจฉริยะ ก่อนที่เราจะดำเนินการจริงกับการใช้งานจริงของช่องโหว่พื้นฐาน

แม้ว่าจะค่อนข้างยากที่จะเข้าใจหากคุณไม่คุ้นเคยกับบล็อกเชนและสัญญาอัจฉริยะ แต่ฉันขอแนะนำให้คุณอ่านสั้น ๆ เพื่อทำความเข้าใจคร่าวๆ ว่าฉากบนเวทีเป็นอย่างไร

ข้ามไปที่คำแนะนำของความท้าทาย

เราจะใช้Remix IDEซึ่งมีสภาพแวดล้อมที่ปลอดภัยและมีการควบคุมเพื่อทดสอบและปรับใช้สัญญาราวกับว่าอยู่ในบล็อกเชนสาธารณะ

ตอนนี้เรามาดาวน์โหลดไฟล์และเปิด IDE นี้ในเบราว์เซอร์ของเรา

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

ดำเนินการต่อและเปิดไฟล์สองไฟล์ที่คุณดาวน์โหลดใน local_workspace

หลังจากนั้น ไปที่ทั้งสองไฟล์และคอมไพล์ทั้งสองไฟล์ภายใต้ solidity compiler

หลังจากนี้ ไปที่ปรับใช้และเรียกใช้ธุรกรรม และเลือกสัญญา

etherstore.sol จะเป็นอันแรกที่เราจะปรับใช้ หลังจากปรับใช้แล้วให้เปลี่ยนค่าเป็น 1 และคลิกที่เงินฝากภายใต้สัญญาที่ปรับใช้

ยอดจะเปลี่ยนจาก 0 เป็น 1 คุณสามารถตั้งค่าเป็นตัวเลขใดก็ได้ที่คุณต้องการ :)

ถึงเวลาแล้วที่จะปรับใช้การโจมตีของเรา ไปที่ไฟล์โจมตี จากนั้นปรับใช้และเรียกใช้ธุรกรรม

ในการทำให้ใช้งานได้ คุณต้องมีที่อยู่ ไปที่การปรับใช้และคัดลอกที่อยู่ของ etherstore
วางสิ่งนี้และปรับใช้ attack.sol

คุณจะเห็นการโจมตีภายใต้สัญญาที่ใช้งานอยู่ตอนนี้ สิ่งที่คุณต้องทำคือเปลี่ยนค่าเป็น 1 และคลิกที่ 'โจมตี'

ฉันคลิกมันสามครั้ง ดังนั้นฉันจึงได้ 3ETH เป็นยอดคงเหลือ แต่เราฝากเพียง 1

นี่คือช่องโหว่ที่อธิบายไว้ในห้องก่อนหน้านี้

ห้องนี้ค่อนข้างล้นหลามเล็กน้อย แต่ในที่สุดเราก็ได้แนวคิดว่าสัญญาอัจฉริยะทำงานอย่างไร และเราจะใช้ประโยชน์จากช่องโหว่พื้นฐานได้อย่างไร

จาก Infosec Writeups: มีเรื่องราวมากมายเกิดขึ้นใน Infosec ทุกวันซึ่งเป็นเรื่องยากที่จะตามให้ทัน เข้าร่วมจดหมายข่าวรายสัปดาห์ของเราเพื่อรับเทรนด์ล่าสุดของ Infosec ในรูปแบบบทความ 5 หัวข้อ 4 หัวข้อ วิดีโอ 3 รายการ Repos และเครื่องมือ GitHub 2 รายการ และการแจ้งเตือนงาน 1 รายการฟรี!