Phát hiện XSS trên Chess.com
- Trong lúc chơi cờ như một sở thích và nghịch ngợm với kỹ thuật, tôi đã phát hiện một lỗ hổng XSS trên Chess.com.
- Chess.com là trang web cờ vua lớn nhất trên Internet với hơn 100 triệu thành viên.
Tổng quan
- Đầu năm 2023, tôi bắt đầu hoạt động nhiều trên Chess.com.
- Tôi rủ bạn bè đăng ký trang và dùng tính năng kết bạn để trở thành bạn ngay lập tức.
- Tôi bắt đầu tự hỏi liệu có thể tự động thêm bạn theo cách tương tự sâu MySpace hay không.
- Tôi tạo một tài khoản mới và kiểm tra tab Network trong công cụ dành cho nhà phát triển để tìm ra URL tự động thêm bạn.
Trung cuộc
- Tôi thử XSS bằng trình soạn thảo văn bản phong phú TinyMCE.
- Tôi dùng proxy Burp để chèn trực tiếp mã HTML vào phần mô tả 'About'.
- Tôi kiểm tra cấu hình TinyMCE và tạo payload XSS bằng thuộc tính kiểu
background-image. - Tôi thử nhiều ký hiệu khác nhau để tìm ra cách thực thi XSS.
- Cuối cùng tôi phát triển được cách trích xuất cookie và các đối tượng JavaScript.
Tàn cuộc
- Tôi cố gắng thực thi XSS hoàn chỉnh.
- Tôi tìm ra một cách mới dùng thuộc tính
srcsetđể có thể sử dụng cú pháp JS rộng hơn. - Tôi dùng mã hóa Base64 để thực thi trực tiếp payload XSS.
- Trình soạn thảo TinyMCE được dùng trên toàn bộ trang nên mức độ ảnh hưởng rất lớn.
Phân tích
- Nguyên nhân gốc của lỗ hổng là tính năng tải lại ảnh.
- Có thể vượt qua bước kiểm tra lưu trữ ảnh bằng cách chèn tên miền của Chess.com.
- Trình soạn thảo văn bản phong phú cho phép nhiều phần tử HTML nên rất thuận lợi để đạt được XSS.
- TinyMCE đã ở phiên bản mới nhất, nhưng thiếu bước khử độc cho HTML đầu ra cuối cùng.
- Chess.com cần thực hiện khử độc đối với HTML cuối cùng được hiển thị cho người dùng.
Ý kiến của GN⁺:
- Bài blog này mô tả rất thú vị quá trình phát hiện và báo cáo một lỗ hổng bảo mật có thể xảy ra trên một nền tảng trực tuyến quy mô lớn như Chess.com.
- Lỗ hổng XSS có thể là mối đe dọa nghiêm trọng đối với bảo mật website, và việc tìm ra cũng như khắc phục các lỗ hổng như vậy là rất quan trọng để bảo vệ quyền riêng tư của người dùng.
- Bài viết nhấn mạnh với các nhà phát triển phần mềm và chuyên gia bảo mật tầm quan trọng của việc nhận diện các lỗ hổng trong những thành phần ứng dụng web như trình soạn thảo văn bản phong phú và phòng tránh chúng.
1 bình luận
Ý kiến trên Hacker News
Giới thiệu về tác giả bài gốc (OP) và thông tin nền tảng
Bình luận về tính năng liên quan đến sâu MySpace
Câu hỏi kỹ thuật liên quan đến lỗ hổng XSS
Ý kiến về trình soạn thảo rich text của chess.com
Câu hỏi về chữ viết tắt kỹ thuật
Câu hỏi kỹ thuật liên quan đến chuyển hướng subdomain