Xss là gì? hướng dẫn ngăn ngừa, lọc và vá lỗ hổng xss

      49
Mở đầuOur story on XSS begins in late 1999 with a small group of Microsoft security engineers. The Microsoft Security Response Center và the Microsoft internet Explorer Security Team had been hearing of attacks some sites were experiencing wherein script và image tags were being maliciously injected into html pages

Ref: https://medium.com/
ryoberfelder/describing-xss-the-story-hidden-in-time-80c3600ffe81

Đã 22 năm tính từ lúc lần trước tiên có tín đồ thấy sự xuất hiện thêm và ghi nhận lại lỗi bảo mật thông tin Cross-Site Scripting (XSS) như bài xích xugame.biz ngơi nghỉ trên sẽ đề cập. Nhưng cho tới khi bản thân đi hội thảo chiến lược OWASP AppSec 2019, nhiều phần các bài xích nói vẫn bàn về XSS và làm sao rất có thể phòng kháng nó: vận dụng Content-Security-Policy (CSP) thế nào để kháng XSS, chi tiêu khi vận dụng CSP, …

Đủ để bọn họ thấy rằng, để sửa một nhiều loại lỗi bảo mật thông tin rất đơn giản dễ dàng nhưng lại không thể đơn giản.

Có không ít cách phổ cập để chống một số loại lỗi XSS này:

EscapingSanitizerFilterWAFContent-Security-Policy…

Riêng bài bác hôm nay mình muốn chia sẻ một case khá giỏi khi câu hỏi tự chế tạo một Sanitizer sa thải những trường thích hợp ngách của HTML dẫn tới việc bị hoàn toàn có thể bị bypass.

Để dễ tác động hơn, mình cũng đã setup một playground mô phỏng lại lỗi này (không hoàn toàn chính xác 100% như case study do mình không biết đúng chuẩn các thuật toán đằng sau) tại: https://vulnerable-sanitizer.xugame.biz-lab.tech/

Các bạn có thể vừa phát âm và thực hành trên đấy nhé!

*

P/S: nếu bạn còn mới lạ với XSS thì cần xem video clip XSS Hacking nhằm nắm một trong những khái niệm nhé.

Bạn đang xem: Xss là gì? hướng dẫn ngăn ngừa, lọc và vá lỗ hổng xss

Storyline

Lỗi bảo mật thông tin này được tìm kiếm ra trong những khi tụi mình đang trong một dự án nhỏ là test nghiệm một số tool mà lại xugame.biz.Team7 tạo ra để cung ứng việc tra cứu lỗi Client-side cũng như công chũm log tập trung sẽ giúp đỡ quá trình teamwork khi săn lỗi bảo mật.

Nhớ hôm chính là vào buổi khuya tháng 08/2020, mình truy cập trang https://███████/ (Vì yêu ước của mặt chương trình bounty, theo người không được phép disclose thương hiệu ra) và thực hiện quá trình kiểm tra cơ bản.

Xem thêm: Free Website Speed Test - Website Speed Test And Performance Check

Sau một khoảng thời gian ngắn, có một tính năng ngay lập tức mình chăm chú đó là form Tìm kiếm.

*

Vẫn như kinh nghiệm mình để vào ô tìm kiếm kiếm một chuỗi HTML đơn giản và dễ dàng để kiểm chứng: bbbbbabc

*

Gotcha, một mở màn suôn sẻ khi nhận thấy rằng bộ lọc (sanitizer/filter) của trang này không lấy không đủ tag HTML của mình, gồm vẻ đấy là một chỗ có tác dụng khai thác lỗi Reflected-XSS.

Mình bèn thử thêm 1 vài tag HTML ví như: bbbbbb

*

Vẫn ổn, tôi đã nghĩ trong đầu: “Ồ nỗ lực thì chắc bị XSS rồi, ko lẫn vào đâu được”

Tiếp đến, mình khai thác sâu hơn bằng cách đưa một event handler của tag

*

Không quăng quật cuộc sinh hoạt đó, vày rõ ràng họ đã có thể chèn tag HTML vào được rồi, vì chưng vậy cánh cửa tuy nhỏ bé nhưng bản thân tin vẫn rất có thể lách được.

Mình test một vài trường phù hợp khác để tò mò sâu thêm nguyên lý của cỗ lọc này:

123456789101112131415Thử đều attribute ko nguy hiểm: → ✅ → ✅ → ✅ Thử hầu như tag HTML nguy hiểm: