Pornhub ประกาศให้รางวัลกับแฮกเกอร์ที่พบช่องโหว่ของเว็บมาตั้งแต่เดือนพฤษภาคม และเพิ่มเงินรางวัลหลังเริ่มโครงการไปไม่นาน ตอนนี้ผู้ใช้ static บนเว็บ HackerOne ก็ออกมาเปิดเผยข้อมูลช่องโหว่สำคัญที่ทำให้ Pornhub ให้เงินรางวัลถึง 20,000 ดอลลาร์
นักวิจัยเริ่มสำรวจเว็บและพบว่าบาง path ของเว็บจะ unserialize ข้อมูลในพารามิเตอร์บางตัวออกมา เช่น /album_upload/create
จะ unserialize พารามิเตอร์ cookie เสมอ แต่ก็ได้ผลลัพธ์เพียงค่า exception ที่เปิดเผยชื่อไฟล์ออกมาเท่านั้น ทีมงานพยายามทดสอบทางเจาะโค้ดต่อไป โดยใช้สตริงที่สร้างจากซอฟต์แวร์ fuzzer ที่เขียนขึ้นเองเพื่อหาความเป็นไปได้ต่างๆ และพบว่าบางกรณีข้อมูลที่ส่งเข้าไปให้ไบนารีออกมาขนาดใหญ่กว่า 200KB
ทีมงานสำรวจข้อมูลที่ได้มาและพบว่ามันคือช่องโหว่ของ PHP เองที่ยังไม่มีใครพบ ช่องโหว่ที่พบมีสองกรณี ได้แก่ CVE-2016-5771 และ CVE-2016-5773 เป็นช่องโหว่ use-after-free ของ garbage collector ของ PHP
เมื่อได้ช่องโหว่เช่นนี้แล้ว ทีมงานพยายามสร้างสร้างโค้ดที่ขึ้นไปรันบนเซิร์ฟเวอร์ของ Pornhub แต่เซิร์ฟเวอร์ก็ใช้มาตรการป้องกันอย่าง position-independent executable (PIE) และ ASLR ทีมงานสำรวจจนกระทั่งสามารถรันฟังก์ชั่น zend_eval_string
ได้สำเร็จ และสั่งอ่านไฟล์ /etc/passwd
ออกมาได้
ทีมงานวิจัยทั้งหมดประกอบไปด้วย Dario Weißer, @_cutz, และ Ruslan Habalov
ทีมงานรายงานช่องโหว่นี้ไปยัง Pornhub ตั้งแต่วันที่ 30 พฤษภาคมที่ผ่านมา และทาง Pornhub แก้ไขภายในเวลาไม่กี่ชั่วโมง จากนั้นใช้เวลาสองสัปดาห์พิจารณาเงินรางวัล 20,000 ดอลลาร์ นอกจากนี้ทีมงานยังได้รางวัลอีก 2,000 ดอลลาร์จากช่องโหว่ของ PHP ทั้งสองอัน ทีมงานชื่นชม Pornhub ว่าตอบกลับอย่างรวดเร็วและสุภาพ และใส่ใจต่อความปลอดภัยอย่างจริงจัง
ที่มา - Evonide