การควบคุมการเข้าถึงที่ใช้งานไม่ได้ + การกำหนดค่าผิดพลาด = การเพิ่มสิทธิ์ที่สวยงาม

Nov 29 2022
สวัสดี เขา/เธอ เรื่องนี้จะเกี่ยวกับช่องโหว่การยกระดับสิทธิ์ที่ฉันพบเมื่อเร็ว ๆ นี้ GET /v1/account/customer/users?includeDetails=true HTTP/1.1 โฮสต์: dontlookhere คุกกี้: FewRoleUserCookies User-Agent: Mozilla/5

สวัสดีเขา/เธอ

เรื่องนี้จะเกี่ยวกับช่องโหว่ของ Privilege escalation ที่ฉันพบเมื่อไม่นานมานี้

  • มี 2 ​​บทบาทในผู้สร้างไซต์นี้/เจ้าของบัญชี
  • ผู้ใช้ที่เป็นเจ้าของบัญชีคือการจัดการและสามารถเข้าถึงผู้ใช้บัญชีทั้งหมดและฟังก์ชันอื่นๆ ได้
  • บทบาทผู้สร้างสามารถสร้างบางสิ่งในองค์กรได้เท่านั้น แต่ไม่สามารถเข้าถึงสิ่งใดๆ เช่น ข้อมูลผู้ใช้, UUID's และข้อมูล/PII อื่นๆ ขององค์กร
  • บทบาทของผู้ใช้
  • ฉันลองปลายทางส่วนใหญ่เพื่อค้นหาการควบคุมการเข้าถึงที่เสีย แต่ส่วนใหญ่ 403 ถูกห้าม มีเพียงหนึ่งปลายทางเท่านั้นที่อนุญาตให้ฉันอ่านข้อมูลผู้ใช้/PII

GET /v1/account/customer/users?includeDetails=true HTTP/1.1 Host: dontlookhere Cookie: FewRoleUserCookies User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0 ยอมรับ: แอปพลิเคชัน/json, ข้อความ/ธรรมดา, */* ยอมรับภาษา: en-US,en;q=0.5 ยอมรับการเข้ารหัส: gzip, deflate ผู้อ้างอิง: https:// dontlookhere Dnt: 1 วินาที-Fetch-Dest: ว่างเปล่า Sec- Fetch-Mode: cors Sec-Fetch-Site: แหล่งกำเนิดเดียวกัน Te: รถพ่วง การเชื่อมต่อ: ปิด

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

[1]

บทบาท [2] เป็นผู้สร้างและบทบาท [1] เป็นผู้จัดการบัญชี
ดังนั้นฉันจึงแทนที่คุกกี้เป็นคุกกี้บัญชีบทบาทของผู้สร้าง และเปลี่ยน UUID เป็นบัญชีบทบาทของผู้สร้างเดียวกัน UUID ฉันได้รับจากการควบคุมการเข้าถึงที่เสียหายด้านบน และฉันยัง สามารถแก้ไขบทบาทของผู้ใช้รายอื่นได้เนื่องจากฉันสามารถดึง UUID ที่นั่นได้

คำขอดำเนินการสำเร็จ
  • คำขอดำเนินการโดยผู้ใช้จำนวนน้อย และอะไร
  • และนั่นเป็นเรื่องดีที่บทบาทบัญชีเปลี่ยนเป็นผู้จัดการบัญชี และตอนนี้ฉันเป็นผู้ดูแลระบบขององค์กรแล้ว :)
  • บัญชีเปลี่ยนเป็นผู้จัดการบัญชี
  • ดังนั้นฟังก์ชันที่ฉันสามารถเลื่อนระดับได้คือ:

เข้าถึง PII/ข้อมูลของผู้ใช้

เปลี่ยนบทบาทของฉัน/ และบทบาทของผู้ใช้ และรับบทบาทเจ้าของบัญชี

ขอบคุณที่อ่าน หวังว่าคุณจะมีวันดีๆ จนกว่าเราจะได้พบกันใหม่

โซเชียล:

Linkedin.com/in/m359ah

ทวิตเตอร์.com/m359ah