+2
Set Content-type là application/json và UTF-8 là đủ để không xảy ra XSS?
Mình hiện đang phát triển website bằng nodejs sử dụng Sailsjs Hiện app đang trong quá trình chạy tool để kiểm tra lỗ hổng bảo mật. Đang có ý kiến là chỉ cần cài Content-type: application/json và UTF-8 là đủ để không xảy ra XSS. Liệu ý kiến này có đúng không ạ? Ai rành về bảo mật trả lời giúp mình với.
Thêm một bình luận
1 CÂU TRẢ LỜI
+3
Chào bạn, mình nghĩ cũng tuỳ trường hợp.
Nếu bạn có 1 trang blog, nơi bạn lấy response từ phía server và display nội dung của post
theo dạng html:
// response
{
"id": 1,
"post": "<img src='x' onerror='alert(1)'>"
}
Và ở phía frontend:
<div id="post"></div>
<script>
document.getElementById("post").innerHTML = response.post
</script>
Như bên trên thì vẫn XSS đc bình thường thôi à. Mình nghĩ nếu app của bạn có trường hợp như vậy thì cách tốt nhất là sanitize (làm sạch) data từ phía client trước khi gửi lên server và cả sanitize data lúc nhận đc từ phía server nữa (bước làm ở phía server luôn cần phải có)
Bình luận này đã bị xóa