XSS là gì?
XSS (Cross Site Scripting) là dạng tấn công Injection khi kẻ tấn công chèn một Script gây hại vào trong Website. Dạng tấn công này làm tổn hại website bằng cách kiểm soát tương tác của người dùng tới Website thông qua mật khẩu đăng nhập, thông tin cá nhân, tìm kiếm dữ liệu của người dùng mong muốn,…
Tấn công này cho phép Hacker giả dạng thành nạn nhân để thực hiện mọi hành động mà họ có thể thực hiện được. Giúp kẻ tấn công nắm được hết dữ liệu người dùng nên nếu bạn có đặc quyền truy cập vào một ứng dụng nào đó, thì họ cũng có thể làm được điều tương tự.
Cách thức hoạt động của XSS
Cross-site Scripting hoạt động bằng cách làm nhiễu các trang dễ tấn công để có thể chèn các mã độc vào đấy. Khi mã độc được phát tán vào trình duyệt người dùng, Hacker sẽ có quyền kiểm soát mọi hoạt động của họ.
XSS có thể hoạt động mạnh mẽ trên các nền tảng VBScript, Flash, ActiveX,…. Vì thế hầu hết các trang Web đều có khả năng bị dính mã độc từ Cross Site Scripting.
Quan tâm thêm: Hướng dẫn cách Chống DDoS Cho VPS hiệu quả
Các loại tấn công XSS phổ biến
Cross Site Scripting được chia ra làm 3 loại phổ biến là: Stored XSS, Reflected XSS và DOM-based XSS. Mỗi loại XSS sẽ có những mối nguy hại nhất định như sau:
Stored XSS (Persistent XSS)
Stored XSS (hay Persistent XSS hoặc Second-order XSS) hoạt động khi ứng dụng nhận dữ liệu từ một nguồn không đáng tin cậy và có phản hồi HTTP không an toàn. Theo đó, các mã độc sẽ xâm nhập vĩnh viễn vào cơ sở dữ liệu, tin nhắn, bình luận và cả hệ thống máy chủ. Khi nạn nhân truy xuất các mã độc đó từ máy chủ, Hacker sẽ có quyền kiểm soát mọi hoạt động của họ.
Reflected XSS
Reflected XSS (hay Non-persistent XSS) là loại tấn công mạng thông qua việc chèn Script độc vào các phản hồi mà trình duyệt web gửi cho máy chủ. Chẳng hạn như tin nhắn lỗi hay kết quả tìm kiếm trên trang web của người dùng,…
Khi ứng dụng Web bị dính Script độc, nó sẽ gửi mã độc của Hacker tới trình duyệt của nạn nhân để xử lý như là một mã Code bình thường. Sau đó, Hacker sẽ có quyền kiểm soát tất cả các thông tin của người dùng.
DOM-based XSS
DOM-based XSS sẽ phát tán khi ứng dụng chứa Javascript xử lý dữ liệu từ nguồn không đáng tin cậy. Theo đó Hacker sẽ kiểm soát Data từ trường Input và xây dựng nên các mã độc gây hại.
Self-XSS Attacks
Self-XSS Attacks thiên về tấn công phi kỹ thuật, đánh lừa người dùng để họ tự Script lấy mã độc. Hiện nay cách tấn công này đã không còn thông dụng do các trình duyệt đã áp dụng biện pháp nâng cao hơn để cảnh báo người dùng. Nếu ai đó cố gắng dán một đoạn Javascript vào thanh địa chỉ của Chrome hoặc Firefox, trình duyệt sẽ cảnh báo về những nguy hiểm có thể xảy đến ngay tức thì.
Cách kiểm tra Website có bị dính tấn công XSS hay không?
Bất kỳ trang Web hay ứng dụng nào cũng đều có thể bị tấn công Cross Site Scripting. Vì vậy, mọi người nên kiểm tra Website thường xuyên để tránh XSS tấn công vào hệ thống.
Với Stored và Reflected XSS, bạn có thể kiểm tra bằng cách đưa vào đây một số Input đơn giản và độc nhất. Sau đó, nhận diện từng nơi mà Input phản hồi rồi chờ HTTP trả kết quả cho các Input đó. Tiếp đó, tiến hành kiểm tra xem nơi nào đang có các hành động bất thường của Javascript để xác định được vị trí mà XSS đang ẩn mình.
Với DOM-based XSS, người dùng cần kiểm tra Cross Site Scripting thông qua các thông số URL có liên quan theo cách sau đây:
- Chèn Input đơn giản và độc nhất vào thông số đó.
- Sử dụng công cụ nhà phát triển trình duyệt để tìm DOM cho Input đầu vào.
- Kiểm tra từng vị trí để xem đâu là nơi bị tấn công mà ngăn chặn kịp thời đúng lúc.
Kinh nghiệm đối phó với tấn công XSS hiệu quả
Sau đây là các cách đối phó XSS hiệu quả giúp bạn giảm thiểu được hậu quả mà tấn công này gây ra:
- Duy trì sự cảnh giác cao độ
- Không tin tưởng bất cứ Input nào của người dùng
- Sử dụng Escaping/Encoding để phòng tránh tấn công XSS
- Thanh lọc HTML: Bằng cách sử dụng các thư viện tin cậy và xác thực, cần tiến hành mổ xẻ và thanh lọc HTML khỏi các mã độc được cài vào.
- Cài đặt và sử dụng HttpOnly Flag cho Cookies của Website
- Sử dụng CSP – Là Header của các phản hồi HTTP, giúp phát hiện các nguồn cấp phát tài nguyên động.
- Quét Website thường xuyên
Kết luận
Trên đây, LANIT đã chia sẻ chi tiết về tấn công Cross Site Scripting là gì, các loại tấn công XSS phổ biến cũng như các cách ngăn chặn hiệu quả nhất. Có thể nói đây dạng tấn công mạng vô cùng nguy hiểm khi nó có thể đánh cắp thông tin cá nhân và gây tổn hại lớn cho Website người dùng. Vì vậy, các bạn đừng nên chủ quan mà hãy áp dụng các biện pháp phòng ngừa XSS ngay từ bây giờ. Chúc bạn thành công!