Content Spoofing (การปลอมแปลงเนื้อหา) เป็นการโจมตีที่ผู้โจมตีแสดงเว็บไซต์ปลอมให้ดูเหมือนเว็บไซต์จริง โดยการฉีดโค้ด HTML หรือข้อความ (Text Injection) ผ่านช่องโหว่ของแอปพลิเคชันเว็บที่ไม่ตรวจสอบข้อมูลนำเข้าอย่างเหมาะสม
ประเภทหลัก 2 แบบ
1. HTML Injection
ผู้โจมตีฉีดโค้ด HTML ผ่านพารามิเตอร์ URL หรือฟอร์มเพื่อเปลี่ยนแปลงลักษณะหน้าเว็บ
- ค้นหาเว็บแอปที่มีช่องโหว่
- ส่ง URL ที่ปรับเปลี่ยนแล้วให้เหยื่อ (มักผ่านอีเมล)
- เหยื่อคลิก URL ถูกนำไปยังหน้าที่ดูเหมือนเว็บจริง
- ขอข้อมูลละเอียดอ่อน (username, password, PIN)
- ข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ของผู้โจมตี
ตัวอย่าง:
www.testing.com/siteAdcontent?divMessage=<h1>Click Here!!</h1>
ถูกปรับเปลี่ยนเป็น:
www.testing.com/siteAdcontent?divMessage=<script>...</script>
2. Text Injection
ผู้โจมตีเปลี่ยนค่าพารามิเตอร์ใน URL เพื่อแสดงข้อความปลอมบนหน้าเว็บที่ถูกต้อง
- ค้นหาเว็บแอปที่ส่งข้อความผ่านพารามิเตอร์ URL
- เปลี่ยนค่าพารามิเตอร์ (เช่น errorMessage)
- ส่ง URL ที่ปลอมแล้วให้เหยื่อ
- หน้าเว็บจริงแสดงข้อความปลอมตามพารามิเตอร์
ตัวอย่าง:
www.testing.com/loginAction?errorMessage=PasswordEmpty
อาจแสดงข้อความ "รหัสผ่านว่าง" แม้ผู้ใช้ไม่ได้พยายามล็อกอิน
วิธีป้องกัน
- Validate & Sanitize Input - ตรวจสอบและทำความสะอาดข้อมูลนำเข้าทุกช่องทาง
- Output Encoding - เข้ารหัสเอาต์พุทตามบริบท (HTML, JavaScript, URL)
- Content Security Policy (CSP) - จำกัดแหล่งที่มาของสคริปต์/สไตล์ที่อนุญาต
- HttpOnly & Secure Cookies - ป้องกันการขโมยคุกกี้ผ่าน XSS
- ไม่ส่งข้อมูล nhạy cảmผ่าน URL - ใช้ POST และ Session แทน
ผลกระทบ
- ขโมยข้อมูลรับรอง (Credentials)
- หลอกลวงผู้ใช้ทำธุรกรรมปลอม
- เสียหายต่อชื่อเสียงองค์กร
- เป็นพื้นฐานของการโจมตีขั้นสูงกว่า (Phishing, XSS)