Các lỗi thường bảo mật với Websocket
🔍 Pentest WebSocket & Các Lỗ Hổng Bảo Mật
📌 1. Các Lỗ Hổng Bảo Mật Thường Gặp trên WebSocket
Dưới đây là các lỗ hổng bảo mật nguy hiểm thường xảy ra trên WebSocket:
1️⃣ No Authentication / Authorization Bypass
🔥 Lỗi: Không kiểm tra JWT / Token khi client gửi request WebSocket. 📌 Cách kiểm tra bằng Burp Suite/ZAP:
Chặn WebSocket và thay đổi
token
thành giá trị rỗng hoặc của user khác.Nếu vẫn có thể gửi request → WebSocket không kiểm tra quyền truy cập.
✅ Cách fix:
Luôn xác thực JWT khi client kết nối.
2️⃣ WebSocket Data Manipulation
🔥 Lỗi: Client có thể gửi request độc hại vì không có xác thực dữ liệu. 📌 Cách kiểm tra bằng Burp Suite/ZAP:
Chặn gói WebSocket và thay đổi nội dung gửi lên server.
Nếu server không kiểm tra, có thể gây lỗi SQL Injection / XSS.
✅ Cách fix:
Luôn kiểm tra dữ liệu đầu vào từ WebSocket.
3️⃣ WebSocket Cross-Site Hijacking (CSWSH)
🔥 Lỗi: Một trang web độc hại có thể kết nối WebSocket đến server nếu không có bảo vệ CORS. 📌 Cách kiểm tra bằng Burp Suite/ZAP:
Mở trang độc hại trong trình duyệt và thử kết nối đến WebSocket server của bạn.
✅ Cách fix:
Chỉ cho phép WebSocket từ domain hợp lệ.
4️⃣ WebSocket Message Replay Attack
🔥 Lỗi: Hacker có thể chụp gói tin WebSocket và gửi lại để lặp lại hành động. 📌 Cách kiểm tra bằng Burp Suite:
Chặn request WebSocket và gửi lại gói tin cũ.
Nếu server không phát hiện ra replay attack, lỗi tồn tại.
✅ Cách fix:
Thêm timestamp và signature vào mỗi request để chống replay.
5️⃣ WebSocket Denial-of-Service (DoS)
🔥 Lỗi: Hacker gửi hàng triệu request WebSocket để làm chậm hoặc crash server. 📌 Cách kiểm tra bằng Python:
✅ Cách fix:
Dùng Rate Limiting với Redis để giới hạn request.
🎯 Tổng Kết
Lỗ Hổng
Cách Kiểm Tra
Cách Fix
No Authentication
Dùng Burp Suite/ZAP để thử kết nối WebSocket không có JWT
Xác thực JWT trước khi kết nối
Data Manipulation
Dùng Burp Suite/ZAP để sửa nội dung request WebSocket
Kiểm tra dữ liệu đầu vào
CSWSH Attack
Dùng trang web độc hại để kết nối WebSocket
Cấu hình CORS chỉ cho phép domain hợp lệ
Message Replay
Gửi lại request cũ bằng Burp Suite/ZAP
Thêm timestamp & signature vào request
WebSocket DoS
Gửi hàng triệu request bằng script Python
Thêm Rate Limiting vào WebSocket
Last updated
Was this helpful?