เนื่องด้วยบทความนี้จำเป็นต้องพัฒนาเรื่อยๆ ตามความซับซ้อนของการเจาะระบบ ทำให้การแก้ไขตามเนื้อหาในบทความนี้อาจไม่ครอบคลุมกับอาการที่เกิดขึ้นได้สำหรับทุกเว็บไซต์ เนื้อหานี้ถูกแก้ไขครั้งล่าสุดเมื่อ 4/03/2024
WordPress เป็น Content Management System ที่เป็นที่นิยมแพร่หลายมาก จึงทำให้ตกเป็นเป้าหมายสำคัญของ Hacker และผู้ไม่ประสงค์ดีเช่นเดียวกันแนวทางการแก้ไข กรุณาทำตามทีละขั้นตอน ทุกขั้นตอนสำคัญทั้งหมดไม่สามารถข้ามได้นะครับ
1. ทำ Backup และดาวน์โหลดไฟล์ Backup เก็บไว้ที่เครื่องคอมพิวเตอร์ที่ท่านใช้งานอยู่ เพื่อให้มั่นใจว่าหากแก้ไขผิดพลาดในจุดไหนก็ยังสามารถย้อนกลับกระบวนการมายัง ณ เวลานี้ได้
อ้างอิง :
2. Download ไฟล์ของเว็บไซต์ทั้งหมดผ่าน FTP Client มาเก็บไว้ที่เครื่อง Computer ของท่านและแจ้งไว้ว่าข้อมูลชุดนี้หากโดนเจาะแล้ว เป็นการ backups โดยมีไฟล์แปลกปลอมอยู่ด้วย ไม่แนะนำให้เอากลับมาใช้ใหม่นะคะ
เพราะเราจะใช้ไฟล์นี้เพื่ออ้างอิงไฟล์ที่ถูกวางโค้ดแปลกปลอม หรือวาง Backdoor ไว้ข้างใน พร้อมทั้งใช้เพื่อการนำข้อมูลบางส่วนกลับมาใช้งานอีกครั้ง โดยเฉพาะอย่างยิ่งข้อมูลในแฟ้ม upload ที่อยู่ใน wp-content ทั้งหมด กับไฟล์ wp-config.php ที่จัดเก็บรายละเอียดในการ connect ฐานข้อมูลเอาไว้
3. ทำการ Update WordPress ให้เป็น version ล่าสุด
4. ทำการ Update Plugin ให้เป็น version ล่าสุด จากนั้นจึง Disable Plugin และส่วนเสริมทั้งหมดที่ใช้งาน
5. เปลี่ยน Theme ที่ใช้งานเป็น Theme มาตรฐาน ยกตัวอย่าง ขณะที่เขียนแนวทางการแก้ไขนี้เป็นปี 2024 ใช้ Theme Twenty Twenty-Three
6. ไปยังบริการ Controlpanel ที่เก็บไฟล์ของชุดไฟล์ใน domain ที่พบปัญหา
7. หลังจากนั้นแนะนำให้สร้าง Folder ขึ้นมาเป็นชื่อ folder : cleanups ก็ได้นะคะ
8. ดำเนินการ move ไฟล์ wp-config.php และ folder : upload ที่อยู่ใน wp-content ให้ย้ายไปไว้ที่ folder : cleanups ก่อน
9. หลังจากนั้นให้ทำการลบไฟล์ทั้งหมดของ wordpress ออกให้หมดและให้เหลือ folder : cleanups เอาไว้นะคะ
10. หลังจากที่ลบออกแล้วให้ติดตั้ง wordpress เข้าไปใหม่ได้เลยโดยให้ใช้ version เดิมก่อนจะลบใหม่หรือไปดาวน์โหลดจากเว็บไซต์หลักของ WordPress โดยตรงที่ https://wordpress.org/download/
11. แตกไฟล์ wordpress ตามคู่มือ
12. ให้เปิด folder : cleanups ขึ้นมาโดยให้เข้าไปที่ Folder : upload ก่อนนะคะ และไล่ดูทุกๆ folder ในนั้นเพื่อหาไฟล์แปลกปลอมที่ไม่ใช่ .png / .jpeg / .webp / .pdf / ,mp4 / หรือไฟล์วิดีโอ อันไหนที่ไม่ใช่ข้างต้นให้ลบออกให้หมดเลยนะคะ
13. หลังจากนั้นให้ move folder : upload ไปที่ folder : wp-content ที่ติดตั้งมาใหม่นะคะ
14. กลับมาที่ folder : cleanups และไปที่ไฟล์ wp-config.php
15. เปิดไฟล์ขึ้นมาแล้วทำการคัดลอกหรือ Copy ตั้งแต่
define( 'DB_NAME', 'ชื่อเดิมไม่ต้องเปลี่ยนอะไรให้copyมาตามนั้น' );
/** MySQL database username /
define( 'DB_USER', 'ชื่อเดิมไม่ต้องเปลี่ยนอะไรให้copyมาตามนั้น' );
/\* MySQL database password */
define( 'DB_PASSWORD', 'ชื่อเดิมไม่ต้องเปลี่ยนอะไรให้copyมาตามนั้น' );
แล้วนำข้อความที่เรา Copy มาไปวางไว้ที่ notepad ก่อน จากนั้นเลื่อนลงมาหาคำว่า $table_prefix = ‘ตามที่มีอยู่ไม่ต้องเปลี่ยนแปลงใดๆ’; บน wp-configs และ copy ไปวางไว้บน notepad
16. กลับไปที่ file ที่เราทำการลง wordpress ใหม่ และไปดูไฟล์ที่ชื่อว่า wp-config-simple.php นะคะ
17. นำ code ที่อยู่ใน notepad ไปวางตาม code ใน wp-config-simple.php ให้ copy มาวางทับ
define( 'DB_NAME', 'database_name_here' );
/** Database username /
define( 'DB_USER', 'username_here' );
/\* Database password */
define( 'DB_PASSWORD', 'password_here' );
และ เลื่อนลงมาหา $table_prefix = ‘wp_’; ให้เอา code มาวางทับด้วยนะคะ
18. ในส่วนถัดมา
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
ให้นำ code ที่ได้จาก https://api.wordpress.org/secret-key/1.1/salt/ นำมาวางใส่แทนด้วยนะคะ
19. หลังจากนั้นให้ กด save ให้แก้ไขชื่อไฟล์จาก wp-config-simple.php ให้เป็น wp-config.php นะคะ
20. ถึงขั้นตอนนี้เว็บไซต์จะเปิดใช้งานได้และสามารถเรียกชมได้ปกติแล้ว แต่หน้าตาเว็บไซต์จะยังไม่เหมือนเดิม
21 เปลี่ยนรหัสผ่านทั้งหมดในเว็บไต์นี้ และรหัสผ่านทั้งหมดที่เกี่ยวข้องกับ Website นี้ยกตัวอย่างรหัสผ่าน admin email ถ้าเป็นรหัสผ่านเดียวกันให้เปลี่ยนด้วยครับ
22. ดาวน์โหลด theme, plugin และส่วนเสริมมาติดตั้งใหม่ ห้ามใช้ไฟล์ที่เก็บไว้ในข้อ 2 เด็ดขาดเนื่องจากอาจมี backdoor แฝงใน script ได้ (กรุณาดาวน์โหลด theme, plugin และส่วนเสริมจากแหล่งที่น่าเชื่อที่เท่านั้น พวก nulled และ crack ล้วนแต่มี backdoor ครับ)
23. ติดตั้ง plugin ด้านความปลอดภัย เพื่อตรวจสอบ code แปลกปลอมใน database และปิดช่องโหว่ในระบบที่มีอยู่ หรืออาจถูกค้นพบในอนาคต
เราขอแนะนำ 2 ตัวนี้นะคะ โโยให้เลือกตัวใดตัวนึง
https://wordpress.org/plugins/better-wp-security/
https://wordpress.org/plugins/sucuri-scanner/