จากปัญหาช่องโหว่ความปลอดภัยใน WordPress ที่เก่ากว่า 4.7.2 ล่าสุดมีรายงานว่าจำนวนเว็บไซต์ที่ถูกโจมตีมีมากขึ้นเรื่อยๆ ตัวเลขเว็บที่ถูกแฮ็กทะลุ 2 ล้านเพจแล้ว
เหตุผลที่ยอดการโจมตีช่องโหว่รอบนี้สูงมาก เป็นเพราะมันกลายเป็น "ไวรัล" สำหรับบรรดาแฮ็กเกอร์ในการแฮ็ก WordPress ผ่านช่องโหว่นี้กัน โดยแฮ็กเกอร์กลุ่มที่ทำแต้มสูงสุดคือ "Hacked by MuhmadEmad" มียอดโจมตีเกือบ 4 แสนเพจ ตามด้วย "Hacked by SA3D HaCk3D" ราว 2.5 แสนเพจ ส่วนเว็บไซต์ที่ได้รับผลกระทบก็มีเว็บไซต์ดังๆ จำนวนมาก รวมถึงเว็บของดิสโทรลินุกซ์ news.opensuse.org ด้วย
ทางป้องกันคงไม่มีทางอื่น นอกจากอัพเดตเป็น WordPress 4.7.2 ให้เร็วที่สุดครับ
ที่มา - Wordfence, Ars Technica
Comments
ดีที่เปิดระบบอัป wordpress รุ่นย่อยอัตโนมัติไว้
ถ้าต่ำกว่า 4.7x จะโดนไหมครับ (หมายความว่าใช้เวอร์ชั่น 4.6 ลงมา)
โดนแน่นอน+ดวงด้วย
ถ้าไม่อยากเสี่ยงก็ update เหอะครับ
กรณีอยากยื้อเวลา เพราะ host เก่าเกินไปหรือไม่รองรับ
ลองกำหนดสิทธิ์ wp-admin ว่าเข้าได้เฉพาะ ip ในประเทศ และทำการลบหลักฐาน version ของ wordpress ใน template ทิ้งให้หมด (ไอ้ meta name generator tag นี่แหละตัวดี) รวมถึง file license , readme ที่อยู่ใน folder plugin พวกนี้น่าจะดีขึ้นเพราะ tools ที่พวก hacker ใช้จะแสกนไม่เจอ
กำหนด ip ก็ไม่รอดครับ
มันเป็นบั๊ก ที่ทำให้ข้ามการตรวจสอบสิทธิ์ admin เข้ามาแก้ไข post ได้เลย
ถ้าไม่อยากอัพเดต ก็ไปแก้โค้ดเอา รายละเอียดทางเทคนิคตามนี้
https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html
หลักๆคือ การแก้ไขโพส มันจะส่ง ID ของ post ที่ต้องการแก้ไขไปที่ function สำหรับแก้
ขั้นตอนคือ
เช็คว่ามี post ที่เป็น ID นั้นจริงๆหรือเปล่า ถ้าเจอไปข้อ 2
เช็คว่า user มีสิทธิ์ในการแก้หรือเปล่า
ทำการแก้ post ID นั้นๆ
ปัญหาคือ
จากข้อ 1. ถ้า post ID เจอปัญหา มันจะข้ามขั้น 2. ไปเลย
ซึ่งในขั้น 3. จะเกิด error เพราะหา ID นั้นไม่เจอ
ตย. เช่น เรามีแค่ post ID ถึงแค่ 100 แต่ถ้าใส่ ID=101 ไป ก็จะ error
แต่ปรากฏว่า ถ้าแอบเอา character ใส่แปะท้าย ID มา ( เช่น ID = 100ABC)
มันจะข้ามขั้น 2. ไปเลย
พอมาถึงขั้น 3. ระบบดันฉลาด CAST เฉพาะตัวเลขใส่ใน parameter ให้ (ตัด ABC ทิ้งให้ เหลือ 100)
ทำให้สามารถแก้ไข post ID 100 ได้ โดยข้ามขั้นการตรวจสอบสิทธิ์มาเลย
แค่ทำให้หน้านั้นมันเข้าไม่ได้เฉยๆ เพื่อทำให้ tools ของ hacker มันแสกนหา version ไม่เจอน่ะครับ
อ๋อ ครับ
จริงๆแล้ว แค่แก้ไขโค้ด php ไม่กี่จุด ก็ป้องกันได้แล้ว
แต่ user ทั่วไปคงทำยาก
อัพเดตเป็นวิธีที่ง่ายสุดแล้วครับ
โดนแล้ว แก้แล้วด้วย 55+
ถ้าโดนแล้วจะเป็นยังไงบ้างครับ
คือผมไล่อัพเดทหมดแล้ว แต่ไม่แน่ใจว่าจะโดนแฮคก่อนหน้านั้นไปแล้วหรือเปล่า