นักวิจัยด้านความปลอดภัย Alexander Klink ได้เขียนบล็อกไว้เมื่อสัปดาห์ที่แล้ว เกี่ยวกับช่องโหว่ของโปรโตคอล FTP ที่ปล่อยให้โค้ดอันตรายผ่านเข้ามาได้ โดยช่องโหว่นี้อยู่ในฟีเจอร์ของ Java ที่ชื่อ XML eXternal Entity (XXE) ซึ่งปล่อยให้ส่งคำสั่งอันตรายที่ไม่เกี่ยวกับ FTP ผ่านข้อมูลคำร้องขอการเชื่อมต่อของ FTP
ทั้งนี้ Klink ได้สาธิตกลไกการโจมตี ด้วยการบังคับให้ระบบส่งอีเมล์ที่ไม่ถูกต้องผ่านโปรโตคอล SMTP (Simple Mail Transfer Protocol) ได้ เพียงแค่โจมตีผ่านการขอการเชื่อมต่อกับโปรโตคอล FTP ซึ่งแม้การเชื่อมต่อ FTP ครั้งนั้นจะล้มเหลวเนื่องจากเซิร์ฟเวอร์ต้องมีการตรวจสอบข้อมูลยืนยันตัวตน แต่ก็ไม่ได้เช็คข้อมูลอย่าง Carriage Return (CR) หรือ Line Feed (LF) ในส่วนของยูสเซอร์เนมด้วย นั่นคือ การปล่อยให้ข้อมูลคำสั่งบางอย่างผ่านเข้ามาถึงเซิร์ฟเวอร์อื่น อย่างเมล์เซิร์ฟเวอร์ได้ ผ่านทางฟีเจอร์ XML Parsing
สองวันหลังจาก Klink เขียนบล็อกเกี่ยวกับเรื่องนี้ ก็มีนักวิจัยด้านความปลอดภัยขาก Blindspot Security อย่าง Timothy Morgan ที่แสดงให้เห็นว่าตัว URL Handler ของ FTP สามารถถูกนำมาใช้ส่งข้อมูลข้ามระบบป้องกันของไฟร์วอลล์ได้ ทั้งโค้ดของ Java และ Python ซึ่งการโจมตีแบบ FTP Injection ลักษณะนี้ สามารถใช้บังคับเปิดการเชื่อมต่อแบบ TCP กับเว็บภายนอกได้ด้วย
ช่องโหว่ของ FTP ทั้งหมดนี้ทำให้เกิดความเสี่ยงต่อการโจมตีหลากหลายรูปแบบ ไม่ว่าจะเป็น Man-in-the-Middle (MitM), Server-Side Request Forgery (SSRF), การโจมตีแบบ XEE และอื่นๆ อีกมากมาย รวมทั้งการกระโดดข้ามไฟร์วอลล์กีดขวางได้นี่ ก็สามารถเข้าไปเล่นงานบรรดาโฮสต์ใสซื่อตาดำๆ ข้างในกำแพงได้แบบไร้อุปสรรค แม้ว่าคอมเครื่องดังกล่าวไม่ได้ติดตั้งจาวาก็ตาม ขอเพียงแค่ล่อให้เหยื่อเปิดแอพพลิเคชั่นที่เขียนด้วยโค้ดจาวาหรือ Python ที่อันตรายเท่านั้น เรียกว่าแค่เปิดเว็บไซต์ที่มีจาวา ก็อาจเป็นการรันโค้ดจาวาอันตรายได้ทันที แม้จะปิดการทำงานของ Java Applet ก่อนหน้านี้ก็ตาม
บั๊กนี้ Morgan ได้รายงานไปให้ทีมผู้พัฒนา Python ตั้งแต่มกราคมปีที่แล้ว และ Oracle เจ้าของจาวาเมื่อพฤศจิกายนที่ผ่านมา แต่จนถึงบัดนี้ก็ยังไม่มีเจ้าไหนแพทช์อุดช่องโหว่นี้เลย
ที่มา : http://thehackernews.com/2017/02/python-java-ftp-protocol-injection.html