การเพิ่มสิทธิ์ผ่าน ID Reflection

Mar 20 2023
ในขณะที่เทคโนโลยีก้าวหน้าอย่างต่อเนื่อง บริษัทต่างๆ ต่างหันมาพึ่งพาระบบดิจิทัลมากขึ้นในการจัดเก็บและจัดการข้อมูลของตน สิ่งนี้ได้สร้างโอกาสใหม่สำหรับนักวิจัยด้านความปลอดภัยในการค้นหาช่องโหว่และรับรางวัลผ่านโปรแกรมรางวัลบั๊ก

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

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

ในฐานะเจ้าของโปรเจ็กต์ ฉันสามารถเข้าถึงการตั้งค่าโปรเจ็กต์ด้วยสิทธิ์เต็มรูปแบบ แต่ฉันต้องหาวิธีเลี่ยงผ่านการควบคุมการเข้าถึงสำหรับบัญชีของผู้ร่วมงานที่ได้รับเชิญ ฉันเริ่มสำรวจจุดสิ้นสุดอื่นๆ บนเว็บไซต์ และพบตัวเลือกในแดชบอร์ดชื่อ “การตั้งค่าฐาน” ที่นี่ ฉันพบการตั้งค่าการรับรองความถูกต้องสำหรับโปรเจ็กต์ที่ฉันสร้างด้วยบัญชีของผู้ร่วมงานที่ได้รับเชิญ ซึ่งมีชื่อว่า “ji” เมื่อฉันเลื่อนเคอร์เซอร์ไปที่ไฮเปอร์ลิงก์ "ji" คุณสามารถดูรหัสโปรเจ็กต์แบบสะท้อนกลับได้

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

สิ่งนี้ทำให้ฉันสามารถสร้าง URL:https://thejulfikar.sh/projects/XXX-victim's-project-id-XXX/settingsซึ่งอนุญาตให้ฉันเข้าถึงสิทธิ์เจ้าของโครงการได้อย่างเต็มที่

บทเรียนที่ได้รับ

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

บทสรุป

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

“เกี่ยวกับผู้เขียน: มูฮัมหมัด จุลฟิการ์ ไฮเดอร์เป็นนักล่าเงินรางวัลแมลงและผู้ที่ชื่นชอบความปลอดภัยในโลกไซเบอร์ คุณสามารถติดตามพวกเขาบน Twitter ได้ที่@thejulfikarสำหรับคำแนะนำด้านความปลอดภัยเพิ่มเติมและการอัปเดตเกี่ยวกับการค้นพบล่าสุดของพวกเขา”