กลุ่ม Eindbazen ค้นพบช่องโหว่ร้ายแรงระหว่างการแข่งขันแฮกในงาน Nullcon 2012 ที่ใช้บริการเว็บของ Dreamhost ซึ่งแนะนำให้แก้ไขการตั้งค่า PHP ที่ทำงานบนเว็บเซิร์ฟเวอร์ Apache ให้ประมวลผลผ่านทาง CGI wrapper
ทำให้พวกเขาพบสิ่งผิดปกติเกิดขึ้นคือสามารถส่งผ่านพารามิเตอร์ต่าง ๆ ของ PHP-CGI (mod_cgi หรือ mod_cgid) shell script เข้าไปโดยตรง
พวกเขายังศึกษาต่อไปว่าปัญหาอยู่ที่การกรองพารามิเตอร์ที่ไม่ถูกต้องของการพัฒนา PHP-CGI และนักพัฒนาของ Apache ก็ดันยอมรับโค้ดส่วนนี้ด้วย ทำให้ปัญหานี้อาจนำไปสู่การทำงานที่อาจเกิดอันตรายต่อเว็บเซิร์ฟเวอร์และเกิดการรั่วไหลของข้อมูลสำคัญหรือการตั้งค่าต่าง ๆ ได้ ตัวอย่างผลกระทบที่เกิดเช่น แสดงโค้ดของหน้าเว็บฝั่งเซิร์ฟเวอร์ (-s) DoS (-T) และ remote code execution (-d)
ช่องโหว่นี้มีมาตั้งแต่ปี 2004 มีผลต่อ PHP เวอร์ชันก่อนหน้า 5.3.12 และ 5.4.2 แต่ไม่มีผลต่อเว็บเซิร์ฟเวอร์กับ CGI ตัวอื่น ๆ ทางกลุ่ม Eindbazen ได้แนะนำวิธีแก้ไขชั่วคราวสำหรับเว็บเซิร์ฟเวอร์ที่มีช่องโหว่นี้ (ตามไปดูได้ที่ต้นฉบับ) และมีนำการโจมตีนี้ไปทดสอบแล้วพบว่าทาง Facebook มีหน้ารับสมัครงานตำแหน่ง Security Engineer ที่ดักรอคนที่เข้ามาพยายามหาช่องโหว่นี้ด้วย ถ้าท่านสงสัยว่าเว็บเซิร์ฟเวอร์ที่ใช้มีช่องโหว่นี้หรือไม่ สามารถตรวจสอบได้ง่าย ๆ โดยการทดสอบผ่านค่าพารามิเตอร์เข้าไปเช่น http://site.com/something.php?-s
Comments
เอาจริงๆคงไม่มีใครใช้ classic cgi กันแล้วล่ะมั้งสำหรับ php
ป.ล. พยายามลองแล้ว ไม่เวิร์คแฮะ
mod_cgi หรือ mod_cgid
ผมว่างานนี้ Dreamhost เละครับ โมดูลเก่าสลัดๆ ยังเก็บไว้ใช้
คิดอีกที ... เพื่อความ compatible?
บริการเขาดีอยู่นะ ผมชอบเข้า SSH แล้ว wget ไปโหลดของที่จำกัดการแบ่งส่วน แล้วจึงค่อยดูดลงมาทีหลัง (ไม่ได้เอาไว้ใส่เว็บไซต์เลย 555+)
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
ลองเรียบเรียงใหม่ (จุดที่เน้นข้อความเข้มหมายถึงแก้ไข ส่วน "..." หมายถึงส่วนนั้นละไว้ไม่มีการแก้ไข) ตัวอย่างเช่น
ส่วนข้อความ "และพบว่าทาง Facebook ... http://site.com/something.php?-s" ผมไม่แน่ใจว่าต้องการสื่ออะไร รบกวนเรียบยเรียงดูใหม่ด้วยครับ
นอกจากนั้น
ลองแก้ไขแล้ว ขอบคุณครับ
ผมอ่านย่อหน้าแรกแล้วยังงงๆ นะครับ เขียนติดกันเป็นพรืดไปหน่อย ลองแตกมันออกเป็น 2 ย่อหน้าดูครับ
ลองแก้ไขเพิ่มเติมแล้ว ขอบคุณครับ
ยังมีคนใช้ Classic CGI อีกหรอ O.o
ไม่ใช่ PHP เว็ญใหญ่ๆ ใช้ fastcgi กันหมดแล้วหรอ? ส่วนเว็บเล็กๆ แอดมินขี้เกียจ ก็ใช้ Apache-Prefork + mod_php ต่อไป
ทุกวันนี้มีแต่ mod_php กับ fastcgi มากกว่าครับ