หน้านี้มีข้อมูลเกี่ยวกับปัญหาด้านความปลอดภัยของ Cross Site Scripting ผลกระทบต่อ Apache อย่างไร และวิธีป้องกันอย่างถูกต้องเมื่อใช้เทคโนโลยีที่เกี่ยวข้องกับ Apache สำหรับภาพรวมของปัญหา โปรดดู CERT Advisory CA-2000-02 ที่เผยแพร่เกี่ยวกับปัญหาดังกล่าว นอกจากนี้ คุณควรอ่านเอกสารคำแนะนำทางเทคนิคเกี่ยวกับการทำความเข้าใจการบรรเทาเนื้อหาที่เป็นอันตรายสำหรับนักพัฒนาเว็บที่เกี่ยวข้อง นอกจากนี้ คำแนะนำของ CERT ยังมีลิงก์ไปยังเอกสารจำนวนหนึ่งที่ Microsoft ได้นำเสนอเกี่ยวกับปัญหาดังกล่าว ซึ่งควรค่าแก่การตรวจสอบหากปัญหานี้ส่งผลกระทบต่อคุณ ข้อมูลที่อยู่ในเอกสารเหล่านี้จะไม่ถูกทำซ้ำที่นี่ ข้อมูลนี้จะถือว่าคุณได้อ่านเอกสารเหล่านี้และคุ้นเคยกับปัญหาแล้ว เราขอย้ำว่านี่ไม่ใช่การโจมตีจุดบกพร่องเฉพาะในซอฟต์แวร์ชิ้นใดชิ้นหนึ่ง ไม่ใช่ปัญหาของ Apache ไม่ใช่ปัญหาของ Microsoft ไม่ใช่ปัญหาของ Netscape ในความเป็นจริง มันไม่ใช่ปัญหาที่สามารถระบุได้อย่างชัดเจนว่าเป็นปัญหาของเซิร์ฟเวอร์หรือปัญหาของไคลเอนต์ เป็นปัญหาที่ข้ามแพลตฟอร์มอย่างแท้จริงและเป็นผลมาจากการโต้ตอบที่คาดไม่ถึงและไม่คาดคิดระหว่างส่วนประกอบต่างๆ ของชุดระบบที่ซับซ้อนที่เชื่อมต่อถึงกัน มีข้อบกพร่องเฉพาะในผลิตภัณฑ์เซิร์ฟเวอร์เว็บต่างๆ รวมถึง Apache ที่อนุญาตหรือมีส่วนในการใช้ประโยชน์จากปัญหาความปลอดภัยนี้ ข้อบกพร่องเหล่านี้ไม่ควรมีและจำเป็นต้องแก้ไข แต่สิ่งสำคัญคือต้องตระหนักว่านี่เป็นเพียงส่วนเล็ก ๆ ของปัญหาทั้งหมด ปัญหาที่ร้ายแรงที่สุดคือโค้ดเฉพาะของไซต์ทั้งหมดที่สร้างเนื้อหาแบบไดนามิก เรากำลังนำเสนอข้อมูลนี้เพื่อให้ความรู้แก่คุณเกี่ยวกับปัญหาที่พบใน Apache ซึ่งเกี่ยวข้องกับปัญหาความปลอดภัยนี้ แต่ที่สำคัญกว่านั้น ช่วยให้ความรู้แก่คุณว่าสิ่งนี้อาจส่งผลกระทบต่อโค้ดท้องถิ่นของคุณที่พัฒนาโดยใช้เทคโนโลยีที่เกี่ยวข้องกับ Apache ได้อย่างไร และคุณจะทำอย่างไร สามารถแก้ไขได้ ไม่มีแพตช์ "สัญลักษณ์แสดงหัวข้อย่อยสีทอง"ที่ผู้ให้บริการเซิร์ฟเวอร์หรือไคลเอ็นต์สามารถเผยแพร่ได้ ซึ่งจะแก้ไขปัญหานี้อย่างน่าอัศจรรย์ทั่วทั้งเว็บเซิร์ฟเวอร์หรือไคลเอ็นต์ที่ใช้ผลิตภัณฑ์นั้น นอกจากนี้ เรายังต้องการชี้ให้เห็นว่าสิ่งสำคัญคือต้องเข้าใจว่านี่ไม่ใช่ปัญหาเก่าและเป็นที่รู้จักกันดี นั่นคือหากไซต์อนุญาตให้ผู้ใช้ A ส่งเนื้อหาที่ผู้ใช้ B ดูได้ ไซต์นั้นจะต้องได้รับการเข้ารหัสอย่างถูกต้อง ช่องโหว่นี้เกิดขึ้นเมื่อผู้ใช้ A ทั้งส่งและดูเนื้อหาอย่างเคร่งครัด เนื่องจากความยากในการเข้ารหัสเอาต์พุตอย่างเหมาะสมในทุกสถานการณ์ ไซต์จำนวนมากจึงไม่ต้องกังวลเกี่ยวกับการเข้ารหัสข้อมูลที่แสดงต่อผู้ใช้ที่ส่งข้อมูลในคำขอเท่านั้น เนื่องจากการสันนิษฐานที่ผิดพลาดว่าสิ่งนี้ไม่ก่อให้เกิดภัยคุกคามต่อความปลอดภัย สิ่งนี้ส่งผลกระทบต่อเว็บไซต์ของฉันหรือไม่ นี่เป็นปัญหาด้านความปลอดภัยที่ร้ายแรง ซึ่งมีความเป็นไปได้ที่จะเข้าใจความหมายโดยนัยที่เพิ่งจะเริ่มต้นเท่านั้น อย่างไรก็ตาม สิ่งสำคัญคือต้องตระหนักว่าปัญหานี้ไม่ได้เปิดช่องทางใด ๆ ในการเจาะเข้าสู่เซิร์ฟเวอร์ สิ่งที่ช่วยให้ผู้โจมตีที่เป็นอันตรายสามารถควบคุมการโต้ตอบระหว่างผู้ใช้และเว็บไซต์ได้ หากเว็บไซต์ของคุณมีเนื้อหาคงที่โดยที่ข้อมูลทั้งหมดสามารถเข้าถึงได้ ผู้โจมตีจะได้รับผลประโยชน์น้อยมากจากการเข้าควบคุมการโต้ตอบนี้ มีแนวโน้มว่าสิ่งที่ร้ายแรงที่สุดที่ผู้โจมตีสามารถทำได้ในสถานการณ์นี้คือการเปลี่ยนวิธีที่หน้าปรากฏต่อผู้ใช้รายใดรายหนึ่ง ไซต์ที่ก่อให้เกิดอันตรายมากที่สุดคือไซต์ที่ผู้ใช้มีบัญชีหรือการเข้าสู่ระบบบางประเภท และไซต์ที่พวกเขาสามารถดำเนินการโดยนัยในโลกแห่งความเป็นจริงหรือเข้าถึงข้อมูลที่ไม่ควรมีอยู่ ปัญหาด้านความปลอดภัยนี้เป็นภัยคุกคามร้ายแรงต่อไซต์ดังกล่าว ไม่จำเป็นต้องเจาะเข้าไปในเซิร์ฟเวอร์เพื่อควบคุมไซต์หากคุณสามารถเข้าถึงจุดสิ้นสุดของผู้ใช้ได้ ตกลงข้อมูลที่เกี่ยวข้องกับ Apache อยู่ที่ไหน? âÃÂâ Apache 1.3.12 ซึ่งมีการป้องกันบางกรณีของปัญหานี้ âÃÂâ Apache patch ที่เก่ากว่ากับ 1.3.11 ที่แก้ไขปัญหาที่ทราบใน Apache เวอร์ชันนั้น âÃÂâ หน้าตัวอย่างการเข้ารหัส อธิบายวิธีเข้ารหัสเอาต์พุตของคุณอย่างเหมาะสมเพื่อป้องกันปัญหานี้โดยใช้เทคโนโลยีที่เกี่ยวข้องกับ Apache ทั่วไป เช่น โมดูล Apache, Perl และ PHP เราไม่คาดหวังว่านี่จะเป็นคำพูดสุดท้ายเกี่ยวกับวิธีการใช้ประโยชน์จากปัญหานี้ มีแนวโน้มว่าในอนาคตจะมีการเปลี่ยนแปลงเพิ่มเติมใน Apache เพื่อช่วยให้ผู้ใช้จัดการกับปัญหานี้ได้ แม้ว่าจะไม่พบข้อบกพร่องใน Apache เองก็ตาม แม้ว่าเราจะให้ข้อมูลที่จำเป็นส่วนใหญ่สำหรับไซต์เพื่อป้องกันตนเองจากการโจมตีประเภทนี้ แต่ก็ยังมีปัญหาเปิดอยู่มากมายที่เกี่ยวข้องกับปัญหานี้ เราทราบดีว่านี่เป็นปัญหาที่ซับซ้อน และคาดว่าจะอัปเดตหน้าเหล่านี้เพื่ออธิบายปัญหาและแก้ไขในเชิงลึกมากขึ้นตามเวลาที่อำนวย ทำไมถึงชื่อ "Cross Site Scripting"? ปัญหานี้ไม่ได้เกี่ยวกับการเขียนสคริปต์เท่านั้น และไม่จำเป็นต้องมีอะไรข้ามไซต์เกี่ยวกับเรื่องนี้ แล้วทำไมชื่อ? มันถูกประกาศเกียรติคุณก่อนหน้านี้เมื่อปัญหาไม่เข้าใจและมันก็ติดอยู่ เชื่อฉัน เรามีสิ่งสำคัญที่ต้องทำมากกว่าการคิดถึงชื่อที่ดีกว่า คุณสามารถส่งความคิดเห็นหรือคำแนะนำเกี่ยวกับเพจชุดนี้ไปที่ [email protected] โปรดทราบว่าฉันไม่สามารถตอบคำถามหรือคำร้องขอความช่วยเหลือได้ ดังนั้นหากคุณกำลังจะส่งสิ่งนั้น โปรดช่วยตัวคุณเอง