XSS ตาบอดเป็น SSRF

Feb 01 2023
ระหว่างการล่าบั๊กในโปรแกรมรางวัลบั๊กส่วนตัว ฉันพบคุณสมบัติภายในแอปพลิเคชันที่อนุญาตให้สร้างเอกสาร PDF เนื่องจากอินพุตของผู้ใช้สะท้อนให้เห็นในเอกสาร PDF ที่สร้างขึ้น ฉันจึงตัดสินใจลองใส่เพย์โหลด HTML และ XSS

ระหว่างการล่าบั๊กในโปรแกรมรางวัลบั๊กส่วนตัว ฉันพบคุณสมบัติภายในแอปพลิเคชันที่อนุญาตให้สร้างเอกสาร PDF เนื่องจากอินพุตของผู้ใช้สะท้อนให้เห็นในเอกสาร PDF ที่สร้างขึ้น ฉันจึงตัดสินใจลองใส่เพย์โหลด HTML และ XSS

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

การตรวจสอบเพิ่มเติมพบว่า payload ถูกดำเนินการในเส้นทางไฟล์

“ไฟล์:///gotenberg/e86fbc55ef893d878821c1bc76c3b1e3/index.html”

Gotenberg เป็น API แบบโอเพ่นซอร์สสำหรับการแปลงเอกสาร HTML, Markdown และ Office เป็น PDF ใช้ชุดของเอ็นจิ้นการเรนเดอร์ที่กำหนดค่าได้เพื่อแปลงเอกสารอินพุตเป็นไฟล์ PDF ตัวแยกวิเคราะห์ Gotenberg เป็นส่วนประกอบของ Gotenberg ที่รับเอกสารอินพุตและแปลงเป็นรูปแบบที่เอ็นจิ้นสามารถแสดงผลได้

จากการทดสอบเพิ่มเติม ฉันพบว่าโปรแกรมแยกวิเคราะห์ Gotenberg เสี่ยงต่อการถูกโจมตีด้วยการปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์ ฉันสามารถดำเนินการเพย์โหลดที่มี iframe โดยตั้งค่า src เป็น“file:///etc/passwd”ได้ สำเร็จ สิ่งนี้ทำให้ฉันสามารถดูเนื้อหาของไฟล์“/etc/passwd” ได้

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

ฉันรายงานการค้นพบของฉันทันทีไปยังทีมรักษาความปลอดภัย ซึ่งจัดประเภทช่องโหว่ในระดับสูง อย่างไรก็ตาม นักวิจัยด้านความปลอดภัยอีกคนก็ได้รายงานช่องโหว่นี้ในเวลาเดียวกัน เป็นผลให้ทีมตัดสินใจแบ่งเงินรางวัลและฉันได้รับ $500

ทรัพยากร

https://media.defcon.org/DEF%20CON%2027/DEF%20CON%2027%20presentations/DEFCON-27-Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf