Wikipedia cung cấp information about one of the most common scenarios khai thác một kịch bản tấn công qua trang web phản ánh - sử dụng một số mức độ kỹ thuật xã hội để tạo ra người dùng không nghi ngờ bấm vào một liên kết độc hại:Các vectơ tấn công có thể có cho kịch bản lệnh trang web được phản ánh là gì?
- Alice thường đến thăm một trang web cụ thể, được tổ chức bởi Bob . Trang web của của Bob cho phép Alice đăng nhập bằng cặp tên người dùng/mật khẩu và lưu trữ dữ liệu nhạy cảm, chẳng hạn như thông tin thanh toán .
- Mallory quan sát thấy trang web của Bob chứa một lỗ hổng XSS được phản ánh.
- Hàng thủ công Mallory một URL để khai thác lỗ hổng bảo mật và gửi cho Alice một email , lôi kéo cô nhấp vào một liên kết cho URL theo cách giả mạo. URL này sẽ trỏ đến trang web của Bob, nhưng sẽ chứa mã độc hại của Mallory , trang web sẽ phản ánh.
- Alice truy cập URL do Mallory cung cấp khi đăng nhập vào trang web của Bob.
- Tập lệnh độc hại được nhúng trong URL thực hiện trong trình duyệt của Alice, như thể nó đến trực tiếp từ máy chủ của Bob (đây là lỗ hổng XSS thực tế). Có thể sử dụng tập lệnh để gửi cookie phiên của Alice tới Mallory. Mallory sau đó có thể sử dụng cookie phiên để ăn cắp thông tin nhạy cảm có sẵn cho Alice (thông tin xác thực, thanh toán thông tin, v.v.) mà không có kiến thức của Alice.
Bây giờ, điều này thường có xu hướng được ví dụ rất tốt khi trang web sẽ xảy ra là một trang định hướng ứng dụng - các lỗ hổng được khai thác bằng cách người dùng phải nộp một payload độc hại đến các ứng dụng (quan trọng hơn , bằng cách đưa ra yêu cầu GET khi đăng nhập) được phản ánh lại trong phản hồi.
Có bất kỳ vector tấn công thú vị nào hơn, đặc biệt là các vectơ cần xem xét khi ứng dụng sử dụng rất nhiều AJAX với hầu hết các yêu cầu được thực hiện qua HTTP POST không?
EDIT
Trong trường hợp tôi đã không rõ ràng, tôi muốn biết các loại hình tấn công vector áp dụng đối với phản ánh các cuộc tấn công XSS, đặc biệt là khi lớp client-side của ứng dụng được thực hiện khác nhau . Các ứng dụng dựa trên trang sẽ có một vector tấn công liên quan đến các yêu cầu HTTP GET do người dùng cấp, nhưng sẽ rất thú vị khi biết điều này diễn ra như thế nào đối với các ứng dụng khách dày đặc biệt là các ứng dụng sử dụng các đối tượng XMLHttpRequest phát ra các yêu cầu HTTP POST. Các cơ chế khác nhau được sử dụng trong hiển thị phía máy khách rõ ràng sẽ đảm bảo nghiên cứu các vectơ tấn công khác nhau. Trong một số trường hợp, có thể không có bất kỳ vector tấn công thích hợp nào; câu hỏi được thể hiện để gợi ra phản ứng như vậy.
tôi muốn đề nghị Serverfault có thể là một địa điểm thích hợp hơn cho câu hỏi này hay, có lẽ, http://webmasters.stackexchange.com/ –
@ricebowl, nhưng tại sao tôi sẽ đặt nó trên serverfault? Tôi không tìm kiếm lời khuyên về việc làm cứng máy chủ. Tôi đang cố gắng suy ra một tập hợp các vectơ tấn công trên một ứng dụng web. Đó là điều mà mọi người thông thạo về an ninh có thể trả lời. Cách tôi nhìn thấy nó, đây là một câu hỏi thiết kế bảo mật - nên lỗ hổng để phản ánh XSS được thực hiện nghiêm túc nếu một ứng dụng được viết một cách đặc biệt? –
Tôi không hoàn toàn gợi ý rằng SF * là * địa điểm phù hợp, tôi chỉ xem xét hai phiếu bầu gần đề xuất di chuyển * đến * SF. Cá nhân tôi nghĩ rằng webmasters.stackexchange.com sẽ là một lựa chọn tốt hơn, mặc dù một trong hai ý tưởng đó sẽ là lựa chọn tốt hơn so với SO, chính xác vì trọng tâm dựa trên máy chủ của các trang web đó (và trọng tâm ứng dụng web) của câu hỏi này). Người dùng của các trang web đó có thể, rõ ràng, cảm thấy khác với tôi. –