Contact
Line : comsiam
Contact
Line : comsiam

ป้องกัน SQL Injection ใน Joomla โดยอัปเดตระบบและส่วนเสริม เลือกใช้ส่วนเสริมที่ได้รับการดูแล และตรวจโค้ดแบบกำหนดเองที่รับข้อมูลจากผู้ใช้ การโจมตีชนิดนี้เกิดเมื่อข้อมูลที่ส่งเข้ามาถูกนำไปต่อเป็นคำสั่งฐานข้อมูลโดยไม่จัดการอย่างปลอดภัย
ตรวจเวอร์ชัน Joomla และติดตั้งรุ่นแก้ไขที่รองรับ ตรวจความเข้ากันได้ก่อนอัปเดต โดยเฉพาะการอัปเกรดรุ่นหลัก
อัปเดตคอมโพเนนต์ โมดูล ปลั๊กอิน และเทมเพลตจากแหล่งที่เชื่อถือได้ ตรวจประกาศช่องโหว่และถอดส่วนที่ไม่ได้ใช้หรือไม่มีผู้พัฒนาดูแล
สำรองไฟล์และฐานข้อมูลก่อนอัปเดต แล้วตรวจว่ากู้คืนได้ หากพบประกาศช่องโหว่ ให้ทำตามแนวทางแก้ไขของ Joomla หรือผู้พัฒนาส่วนเสริม
ทบทวนแบบฟอร์มค้นหา ติดต่อ สมัครสมาชิก แสดงความคิดเห็น และส่วนเสริมที่ใช้พารามิเตอร์จาก URL หรือข้อมูลที่ผู้ใช้ส่งเข้ามา จุดเหล่านี้ควรผ่านการตรวจสอบฝั่งเซิร์ฟเวอร์
ก่อนติดตั้งส่วนเสริม ให้ตรวจเวอร์ชันที่รองรับ ประวัติการอัปเดต และช่องทางแจ้งช่องโหว่ หลีกเลี่ยงส่วนเสริมที่ไม่ทราบแหล่งที่มาหรือไม่มีการแก้ไขปัญหามานาน
การตรวจข้อมูลด้วย JavaScript ช่วยแจ้งข้อผิดพลาดให้ผู้ใช้ แต่ผู้โจมตีสามารถส่งคำขอข้ามหน้าเว็บได้ การตรวจและควบคุมข้อมูลจึงต้องทำฝั่งเซิร์ฟเวอร์ด้วย
หากเว็บไซต์มีโค้ด PHP หรือส่วนเสริมที่พัฒนาเอง ให้ผู้พัฒนาใช้ prepared statements และ bind ค่าจากผู้ใช้แยกจากคำสั่ง SQL อย่านำข้อความจากฟอร์มหรือ URL ไปต่อเป็น SQL โดยตรง
กำหนดว่าฟิลด์ควรรับข้อมูลชนิดใด เช่น ตัวเลข อีเมล หรือข้อความที่มีความยาวจำกัด ตรวจข้อมูลก่อนนำไปประมวลผล และไม่ถือว่าการกรองในหน้าเว็บเพียงอย่างเดียวเพียงพอ
หากไม่สามารถตรวจโค้ดเองได้ ให้ผู้พัฒนาตรวจส่วนที่สร้างคำสั่งฐานข้อมูลและส่วนเสริมที่รับข้อมูลจากภายนอก โดยเฉพาะโค้ดที่เขียนขึ้นเองหรือแก้ไขจากของเดิม
ใช้บัญชีฐานข้อมูลเฉพาะเว็บไซต์และให้สิทธิ์เท่าที่ Joomla ต้องใช้ หลีกเลี่ยงบัญชีระดับผู้ดูแลฐานข้อมูลหรือ root สำหรับการเชื่อมต่อจากเว็บไซต์ ตรวจข้อกำหนดกับโฮสติ้งก่อนปรับสิทธิ์
ไฟร์วอลล์เว็บแอปพลิเคชันหรือระบบของโฮสติ้งอาจช่วยกรองคำขอที่น่าสงสัย แต่ไม่สามารถแทนการอัปเดตและการแก้โค้ดที่ไม่ปลอดภัยได้
ตรวจ Log เมื่อพบข้อผิดพลาดฐานข้อมูลหรือคำขอผิดปกติ สำรองข้อมูลสม่ำเสมอและเก็บสำเนาแยกจากเซิร์ฟเวอร์เว็บไซต์
ComSiam แนะนำให้เริ่มจากอัปเดต Joomla และส่วนเสริม แล้วตรวจว่ามีส่วนใดรับข้อมูลจากผู้ใช้หรือเข้าถึงฐานข้อมูลโดยตรง
หากมีโค้ดพัฒนาเอง ให้ผู้พัฒนาตรวจการใช้ prepared statements และการตรวจข้อมูลฝั่งเซิร์ฟเวอร์ ComSiam แนะนำให้เฝ้าดูประกาศช่องโหว่และ Log ต่อเนื่อง