Tấn công "Cross-Site Scripting (XSS)" là một loại vấn đề tiêm, trong đó các script độc hại được tiêm...
Tấn công "Cross-Site Scripting (XSS)" là một loại vấn đề tiêm, trong đó các script độc hại được tiêm vào các trang web lành tính và đáng tin cậy. Tấn công XSS xảy ra khi kẻ tấn công sử dụng ứng dụng web để gửi mã độc hại, thường ở dạng tập lệnh phía trình duyệt, đến một người dùng cuối khác. Các lỗ hổng cho phép các cuộc tấn công này thành công khá phổ biến và xảy ra ở bất kỳ đâu ứng dụng web sử dụng đầu vào từ người dùng trong đầu ra, mà không xác nhận hoặc mã hóa nó.
Kẻ tấn công có thể sử dụng XSS để gửi một tập lệnh độc hại đến một người dùng không ngờ. Trình duyệt của người dùng cuối không có cách nào để biết rằng tập lệnh không đáng tin cậy và sẽ thực thi JavaScript. Bởi vì nó cho rằng tập lệnh đến từ một nguồn đáng tin cậy, tập lệnh độc hại có thể truy cập mọi cookie, mã thông báo phiên hoặc thông tin nhạy cảm khác được trình duyệt của bạn lưu lại và được sử dụng với trang web đó. Các tập lệnh này thậm chí có thể viết lại nội dung của trang HTML.
DOM dựa trên XSS là một trường hợp đặc biệt được phản ánh trong đó JavaScript bị ẩn trong URL và được rút ra bởi JavaScript trong trang trong khi nó đang hiển thị thay vì được nhúng vào trang khi nó được phân phối. Điều này có thể làm cho nó tàng hình hơn các cuộc tấn công khác và WAF hoặc các biện pháp bảo vệ khác đang đọc nội dung trang không thấy bất kỳ nội dung độc hại nào.
Mục tiêu
Chạy JavaScript của riêng bạn trong trình duyệt của người dùng khác, sử dụng trình duyệt này để lấy cắp cookie của người dùng đã đăng nhập.
Low Level
Low level will not check the requested input, before including it to be used in the output text.
Spoiler: /vulnerabilities/xss_d/?default=English<script>alert(1)</script>.
Medium Level
The developer has tried to add a simple pattern matching to remove any references to "<script" to disable any JavaScript. Find a way to run JavaScript without using the script tags.
Spoiler: You must first break out of the select block then you can add an image with an onerror event:
/vulnerabilities/xss_d/?default=English>/option></select><img src='x' onerror='alert(1)'>.
High Level
The developer is now white listing only the allowed languages, you must find a way to run your code without it going to the server.
Spoiler: The fragment section of a URL (anything after the # symbol) does not get sent to the server and so cannot be blocked. The bad JavaScript being used to render the page reads the content from it when creating the page.
/vulnerabilities/xss_d/?default=English#<script>alert(1)</script>.
COMMENTS