Ninja Forms เป็นปลั๊กอิน WordPress ที่ช่วยให้เว็บไซต์สร้างและปรับแต่งฟอร์มได้เพียงแค่ลากและวาง (drag and drop) นอกจากนี้ ปัจจุบันมีการใช้งานบน 1 ล้าน+ เว็บไซต์ ข้อมูลนี้ ชี้ให้เห็นชัดเจนถึงความนิยมที่ Ninja forms เพลิดเพลินไป เมื่อข่าวว่าส่วนขยาย (extension) "File upload" ของ Ninja Forms เปราะบางต่อ arbitrary file upload และ path traversal ลอยขึ้นมาเมื่อวานนี้ และมันค่อนข้างช็อก
ช่องโหว่ถูกเปิดเผยโดย Onvio information security พวกเขาแม้แต่เผยแพร่ผลลัพธ์ของการ pentesting ที่พวกเขาทำกับปลั๊กอินในบทความ – PENTEST REVEALS VULNERABILITIES IN WORDPRESS PLUGIN NINJA FORMS <= 3.0.22
คุณสามารถดูรายละเอียดที่พบใน pentesting ที่กล่าวมาข้างต้นได้ในส่วนต่อไป
รายละเอียดช่องโหว่ (Vulnerability Details)
เกิดอะไรขึ้นคือ Onvio ระหว่าง pentesting สำหรับลูกค้าหนึ่ง พบว่า ninja forms อนุญาต path traversal และ Arbitrary code execution
สิ่งนี้สุดท้ายอนุญาตให้โจมตี unauthenticated (ไม่ได้รับการตรวจสอบสิทธิ์) ท่องระบบไฟล์ (traverse the file system) เพื่อเข้าถึงไฟล์สำคัญ และรันโค้ดผ่าน includes/fields/upload.php (หรือ upload/submit page) พารามิเตอร์ name และ tmp_name
Arbitrary File Upload
รูปภาพต่อไปนี้คือคำขอที่ส่งไปยังเซิร์ฟเวอร์:
นี่คือสิ่งที่เขาได้รับสำหรับ response
ด้วยการใช้ tmp_name ใน response ข้างต้น โจมตีส่งคำขอกลับไปยังเซิร์ฟเวอร์อีกครั้ง พร้อมชื่อไฟล์ที่ใช้ brackets เพื่อหลบหลีกการตรวจจับเป็นการพยายามอันตราย
และ ตามที่คาดการณ์ ฟังก์ชัน WordPress sanitize_file_name ลบ brackets ในกรณีนี้ เนื่องจากมัน sanitize เฉพาะชุดตัวอักษรพิเศษที่กำหนดไว้ล่วงหน้า และไฟล์ test.png.doc ด้วยข้อมูล <? php phpinfo(); ?> ถูกอัปโหลดเป็น test.php ซึ่งเป็นไฟล์ core
Path Traversal
โจมตีพยายามดึงไฟล์ wp-config.php โดยใช้โค้ดต่อไปนี้ ซึ่งแน่นอนแสดงฐานข้อมูลพร้อมรายละเอียดละเอียดอ่อน
วิธีการปลอดภ (How to be safe?)
حسناً ช่องโหว่ใน Ninja Forms ได้รับการลดทอนโดยการปล่อยเวอร์ชัน 3.0.33 แทนเวอร์ชันที่เปราะบาง 3.0.22 สิ่งน้อยที่สุดที่คุณสามารถทำได้ตอนนี้คือ อัปเดตเว็บไซต์ของคุณเป็นเวอร์ชันนี้
Astra สำหรับ WordPress
การมีโซลูชันความปลอดภครบวงจรอย่าง Astra สามารถปกป้องเว็บไซต์ WordPress ของคุณ 24/7 ต่อทุกชนิดของการแฮก ไฟร์วอลล์ของ Astra ติดตาม traffic ของคุณอย่างต่อเนื่องเพื่อบล็อก XSS, CSRF, Bad Bots และ 100+ การโจมตี สำคัญที่สุด Astra ราคาถูกมากสำหรับบล็อกส่วนตัวบน WordPress ด้วยราคาเริ่มต้น $19 สร้างขึ้นเฉพาะสำหรับ WordPress เช่น CMS(s) Astra สามารถปกป้องคุณจากอุบัติรุนแรง รับ demo Astra ตอนนี้!