ตามมาติดๆ กับช่องโหว่ของ IIS 6.0 และ 7.5 ที่ทำให้เกิดการข้ามผ่านการล็อกอิน (bypass authentication) ได้ รวมถึงมีช่องโหว่ที่ส่งผลให้ซอร์สโค้ดของไฟล์ภายในเซิร์ฟเวอร์ถูกเปิดเผยได้อีกด้วย (source code disclosure) โดยแต่ละช่องโหว่มีรายละเอียดดังนี้ครับ
ช่องโหว่บน IIS 6.0 นั้นได้รับการทดสอบบน Windows Server 2003 SP1 ที่ติดตั้ง PHP5 โดยหลักการของช่องโหว่นี้คือการส่ง request บางอย่างออกไปแล้วส่งผลให้เกิดการข้ามผ่านการล็อกอินได้
ช่องโหว่บน IIS 7.5 มีสองรูปแบบ ในรูปแบบแรกจะส่งผลเฉพาะกับเซิร์ฟเวอร์ที่มีการติดตั้ง Classic ASP และ .NET Framework 4.0 (ทดสอบบน Windows 7) หลักการของช่องโหว่นี้คือส่ง request เพื่อเรียก directory ที่ถูกตั้งชื่อด้วยคำสั่งบางอย่างเอาไว้ หลังจากนั้นจะส่งผลให้ผู้โจมตีสามารถเข้าถึง directory ต่างๆ ได้โดยไม่ต้องล็อกอิน โดยช่องโหว่ทั้งบน IIS 6.0 และ 7.5 นั้นมีไว้ข้ามผ่านการล็อกอินในกรณีที่มีการตั้ง password protect directory เอาไว้
ช่องโหว่บน IIS 7.5 อีกรูปแบบหนึ่งส่งผลให้ซอร์สโค้ดของไฟล์ภายในเซิร์ฟเวอร์ถูกเปิดเผยด้วย โดยการเพิ่ม บางอย่างต่อท้ายไฟล์ที่ถูกใช้โดย .NET ซึ่งจะถูกตอบกลับมาเป็นซอร์สโค้ดของไฟล์นั้น
(ในส่วนของ'บางอย่าง' ผมจะละไว้เพื่อความปลอดภัย หากท่านใดต้องการทดสอบ ผมขอแนะนำให้ลองหารายละเอียดเพิ่มเติมดูครับ)
ที่มา - Seclists
Comments
ผมลองทดสอบกับ 2008 R2 ไม่เจอปัญหานะครับ (ASP.NET, Framework 4.5, ไม่มี php cgi)
เห็นโลโก้แล้วนึกว่า llSJ llSJ
แรง !
@fb.me/frozenology@
ขอบคุณครับ
Windows Server ตัวไหนครับ?
แก้ไขแล้วครับ ขอบคุณครับ
ไวดังวอก ขอบคุณครับ
เซิฟเวอร์ -> เซิร์ฟเวอร์
ขอบคุณครับ
บัคคู่เลยแฮะ
Coder | Designer | Thinker | Blogger
ที่มันเดี้ยงเพราะ Microsoft IIS/7.5 with PHP installed มี PHP ครับท่าน แม้แต่ใน Linux เครื่องมือระดับ Hack root ได้ ก็ต้องติด php ในเครื่องทั้งนั้นแหละครับ ลองไม่ติด php ปัญหานี้ก็ไม่น่าจะมีผลอะไรนะ ยิ่งหากเขียนด้วย mvc มันก็น่าจะปลอดภัยกว่า เนื่องจากไม่เห็นนามสกุลของไฟล์เลยด้วยซ้ำ ใน IIS7.5 ผมไม่ติดตั้ง Script & Tools เลย อ่านรายละเอียดแล้วไม่ค่อยปลอดภัย เลยไม่ติด
คำตอบของข้า คือ ประกาศิต