Tấn công XSS - Cross-site Scripting

Cross-site scripting (XSS) là lỗ hổng cho phép attacker tương tác, phá phách ứng dụng web để có thể đánh lừa, phá vỡ các chính sách của website, tiến hành trích xuất dữ liệu người dùng, leo thang đặc quyền… bằng các đoạn script được truyền vào các tham số, các chức năng của website.

Cách XSS hoạt động

Thông thường, để kiểm tra xem website có dính XSS hay không thì người ta thường dùng alert() để gọi website cảnh báo. Hiện nay, người ta dùng thêm print() để check XSS vuln.

Các loại XSS

XSS có rất nhiều loại, người ta gom nó thành 3 loại chính:

Để hiểu rõ hơn về XSS thì chúng ta sẽ bắt đầu các LAB về lỗ hổng này ^^

Relected XSS

Khi một website có chức năng search và filter với URL như sau: https://insecure-website.com/search?term=gift. Nếu website dính Relflected XSS, attacker có thể lợi dụng để tấn công bằng cách truyền vào term parameter dạng: https://insecure-website.com/search?term=<script>alert("Hehe website is hacked")</script>. Điều này có nghĩa, attacker có thể thực hiện nhiều cách thức khác để tiến hành phá hoại hoặc tấn công website.

Mình sẽ ghi chép lại LAB phần này tại đây ^^

Stored XSS

Mình sẽ ghi chép lại LAB phần này tại đây ^^

DOM-based XSS

Mình sẽ ghi chép lại LAB phần này tại đây ^^