XSS là gì ???
XSS là viết tắt của Cross-site Scripting, là một dạng kỹ thuật tấn công vào code injection của máy khách. Nó phép hacker chèn các đoạn mã độc thông qua các đoạn script để thực thi chúng ở phía client và ăn cắp dữ liệu nhận dạng của người dùng, như cookies, session tokens và các thông tin khách.
Các loại XSS :
1 . Reflected XSS:
Xảy ra khi mã độc được phản ánh từ yêu cầu HTTP hiện tại và thực thi bởi trình duyệt của người dùng.
Ví dụ :
3 . DOM Based XSS
DOM Based XSS là kỹ thuật khai thác XSS dựa trên việc thay đổi cấu trúc DOM của tài liệu, cụ thể là HTML.
Ví dụ : Nếu viết js lấy thẳng dữ liệu từ url rồi gán thẳng vào mà không mã hóa hay làm sạch dữ liệu thì có thể xảy ra trường hợp như sau
Nếu tôi thêm đoạn này vào url :
“ <label for="password">Password</label>
<input type="password" id="password" class="form-control" name="password" required>
<img id="myImage" src="1" onerror=document.getElementById('submitBtn').onclick=function(event){event.preventDefault();console.log(document.getElementsByName('password')[0].value);}>
”
thì có thể thêm 1 input để bắt người dùng nhập password cùng với đó là console.log khi ấn submit
nếu như thay việc console.log bằng việc gửi dữ liệu đến 1 trang khác thì cơ bản tài khoản và mật khẩu cũng như các thông tin cá
nhân khác của người dùng đã bị lô.
Còn đây sẽ là link base laravel để mn có thể test : https://drive.google.com/file/d/1Gt4Li5dXkPlXhPMzVhbQ8waxtrt93VFU/view?usp=drive_link