Các cuộc tấn công kịch bản chéo trang, còn được gọi là tấn công XSS, là một kiểu tấn công đưa mã độc vào các trang web an toàn khác. Kẻ tấn công sẽ sử dụng một lỗ hổng trong ứng dụng web mục tiêu để gửi một số loại mã độc hại, phổ biến nhất là JavaScript phía máy khách, tới người dùng cuối. Thay vì nhắm mục tiêu vào chính máy chủ của ứng dụng, các cuộc tấn công XSS thường nhắm trực tiếp vào người dùng của ứng dụng. Các tổ chức và công ty đang chạy các ứng dụng web có thể để ngỏ khả năng bị tấn công XSS nếu chúng hiển thị nội dung từ người dùng hoặc các nguồn không đáng tin cậy mà không thoát hoặc xác thực hợp lệ Show
Các lỗ hổng XSS là một trong 10 vấn đề bảo mật hàng đầu của OWASP hiện nay, đặc biệt là khi rất nhiều tổ chức phụ thuộc rất nhiều vào các ứng dụng web để tương tác và xác thực khách hàng. Tuy nhiên, bằng cách viết mã bảo mật, kiểm tra các lỗ hổng và làm việc với các công cụ bảo mật như Veracode Dynamic Analysis, các nhà phát triển có thể ngăn chặn, phát hiện và sửa chữa các lỗ hổng tiềm ẩn cho phép khai thác XSS. Cross Site Scripting (XSS) là gì?XSS xảy ra khi kẻ tấn công lừa ứng dụng web gửi dữ liệu ở dạng mà trình duyệt của người dùng có thể thực thi. Thông thường nhất, đây là sự kết hợp giữa HTML và XSS do kẻ tấn công cung cấp, nhưng XSS cũng có thể được sử dụng để phân phối các bản tải xuống, plugin hoặc nội dung đa phương tiện độc hại. Kẻ tấn công có thể đánh lừa ứng dụng web theo cách này khi ứng dụng web cho phép dữ liệu từ một nguồn không đáng tin cậy — chẳng hạn như dữ liệu do người dùng nhập vào biểu mẫu hoặc được phần mềm máy khách chuyển đến điểm cuối API — được hiển thị cho người dùng mà không được thoát đúng cách Vì XSS có thể cho phép người dùng không đáng tin cậy thực thi mã trong trình duyệt của người dùng đáng tin cậy và truy cập vào một số loại dữ liệu, chẳng hạn như cookie phiên, lỗ hổng XSS có thể cho phép kẻ tấn công lấy dữ liệu từ người dùng và tự động đưa dữ liệu đó vào các trang web và kiểm soát Nội dung độc hại được gửi qua XSS có thể được hiển thị ngay lập tức hoặc mỗi khi một trang được tải hoặc một sự kiện cụ thể được thực hiện. Các cuộc tấn công XSS nhằm vào người dùng của ứng dụng web và chúng có thể đặc biệt hiệu quả vì chúng xuất hiện trong một trang web đáng tin cậy Bấm vào đây để xem Hướng dẫn khắc phục cho XSS trong Java hoặc tại đây để xem Hướng dẫn khắc phục trong ASP. NET Trạng thái bảo mật phần mềm v11Đọc báo cáoCác khái niệm chính về XSS
Video kịch bản chéo trangNói tóm lại, các lỗ hổng XSS xảy ra khi đầu vào vào các ứng dụng web không được xác thực và/hoặc đầu ra cho trình duyệt không được thoát đúng cách trước khi được hiển thị Ba loại tấn công XSS phổ biến nhất là liên tục, phản ánh và dựa trên DOM Ví dụ tấn công XSSXSS dai dẳngCòn được gọi là XSS được lưu trữ, loại lỗ hổng này xảy ra khi đầu vào của người dùng không đáng tin cậy hoặc chưa được xác minh được lưu trữ trên máy chủ mục tiêu. Các mục tiêu phổ biến cho XSS liên tục bao gồm diễn đàn tin nhắn, trường nhận xét hoặc nhật ký khách truy cập—bất kỳ tính năng nào mà người dùng khác, được xác thực hoặc không được xác thực, sẽ xem nội dung độc hại của kẻ tấn công. Các trang hồ sơ hiển thị công khai, giống như những trang phổ biến trên các trang truyền thông xã hội và các nhóm thành viên, là một ví dụ điển hình về mục tiêu mong muốn cho XSS liên tục. Kẻ tấn công có thể nhập các tập lệnh độc hại vào các hộp hồ sơ và khi những người dùng khác truy cập hồ sơ, trình duyệt của họ sẽ tự động thực thi mã XSS phản ánhMặt khác, tập lệnh chéo trang được phản ánh hoặc không liên tục liên quan đến việc trả lại đầu vào của người dùng ngay lập tức. Để khai thác XSS phản chiếu, kẻ tấn công phải lừa người dùng gửi dữ liệu đến trang đích, điều này thường được thực hiện bằng cách lừa người dùng nhấp vào liên kết được tạo thủ công độc hại. Trong nhiều trường hợp, các cuộc tấn công XSS phản ánh dựa trên các email lừa đảo hoặc các URL bị rút ngắn hoặc bị che khuất được gửi tới người dùng được nhắm mục tiêu. Khi nạn nhân truy cập liên kết, tập lệnh sẽ tự động thực thi trong trình duyệt của họ Kết quả tìm kiếm và trang thông báo lỗi là hai mục tiêu phổ biến cho XSS được phản ánh. Họ thường gửi đầu vào chưa sửa đổi của người dùng như một phần của phản hồi mà không đảm bảo rằng dữ liệu được thoát đúng cách để dữ liệu được hiển thị an toàn trong trình duyệt XSS dựa trên DOMTập lệnh chéo trang dựa trên DOM, còn được gọi là XSS phía máy khách, có một số điểm tương đồng với XSS được phản ánh vì nó thường được gửi qua một URL độc hại có chứa tập lệnh gây hại. Tuy nhiên, thay vì bao gồm tải trọng trong phản hồi HTTP của trang web đáng tin cậy, cuộc tấn công được thực hiện hoàn toàn trong trình duyệt bằng cách sửa đổi DOM hoặc Mô hình đối tượng tài liệu. Điều này nhắm vào lỗi JavaScript hợp pháp đã có trên trang để làm sạch đúng cách đầu vào của người dùng Ví dụ XSS với Đoạn mãVí dụ 1.
Ví dụ 2.
Khi nạn nhân tải trang này từ www. độc ác. org, trình duyệt sẽ tải iframe từ URL ở trên. Tài liệu được tải vào iframe bây giờ sẽ chứa đoạn
Tác động của Cross Site Scripting XSSKhi kẻ tấn công thành công trong việc khai thác lỗ hổng XSS, chúng có thể có quyền truy cập vào thông tin đăng nhập tài khoản. Họ cũng có thể phát tán sâu web hoặc truy cập vào máy tính của người dùng và xem lịch sử trình duyệt của người dùng hoặc điều khiển trình duyệt từ xa. Sau khi giành quyền kiểm soát hệ thống của nạn nhân, kẻ tấn công cũng có thể phân tích và sử dụng các ứng dụng mạng nội bộ khác.
Xác định các lỗ hổng Cross-Site ScriptingLỗ hổng XSS có thể xảy ra nếu
Phát hiện và ngăn chặn lỗ hổng XSSCác lỗ hổng XSS có thể được ngăn chặn bằng cách sử dụng nhất quán các phương pháp mã hóa an toàn. Bộ giải mã lỗ hổng Veracode của chúng tôi cung cấp các hướng dẫn hữu ích để tránh các cuộc tấn công dựa trên XSS. Bằng cách đảm bảo rằng tất cả đầu vào từ biểu mẫu người dùng, trường tìm kiếm hoặc yêu cầu gửi được thoát đúng cách, nhà phát triển có thể ngăn ứng dụng của họ bị kẻ tấn công lạm dụng Ngăn chặn tập lệnh chéo trang phải là một phần trong quá trình phát triển của bạn, nhưng bạn có thể thực hiện các bước trong từng phần sản xuất để có thể phát hiện các lỗ hổng tiềm ẩn và ngăn chặn các cuộc tấn công Tài nguyên để ngăn chặn Cross-Site ScriptingNgăn chặn kịch bản chéo trang nên được giải quyết trong giai đoạn đầu của quá trình phát triển; Bài đăng trên blog này cung cấp bản tóm tắt những gì bạn cần biết về Cross-Site Scripting. Bảng gian lận XSS. Ngăn chặn tấn công Cross-Site Scripting Sổ tay mã hóa an toànNhận sổ tayThêm hướng dẫn về mối đe dọa bảo mật MIỄN PHÍ từ Veracode
Tránh các lỗ hổng XSS bằng VeracodeVeracode cung cấp các giải pháp bảo mật ứng dụng hàng đầu giúp bảo vệ phần mềm quan trọng đối với hoạt động kinh doanh. Được xây dựng trên nền tảng dựa trên đám mây, các phương pháp thử nghiệm toàn diện của Veracode cho phép các nhà phát triển và quản trị viên kiểm tra các lỗ hổng trong suốt quá trình phát triển, từ khi bắt đầu cho đến khi sản xuất. Từ các công cụ dành cho IDE dành cho nhà phát triển đến các phân tích tĩnh và trình quét lỗ hổng web, Veracode cung cấp các dịch vụ dựa trên SaaS theo yêu cầu cho phép các tổ chức nhúng thử nghiệm bảo mật vào quá trình phát triển mà không ảnh hưởng đến sự linh hoạt hoặc tốc độ Sửa lỗi XSS trong ứng dụng bao gồm ba bước
Các dịch vụ thử nghiệm của Veracode có thể nhanh chóng quét kiểm soát và luồng dữ liệu cho một ứng dụng, đồng thời xác định chính xác tập lệnh giữa các trang và các lỗi khác trong mã được xây dựng nội bộ hoặc được mua từ bên thứ ba. Kết quả quét được trả về nhanh chóng – thường trong vòng bốn giờ – và bao gồm kế hoạch khắc phục từng bước giúp đẩy nhanh các bản sửa lỗi và ưu tiên các nỗ lực Veracode có thể giúp bạn bảo vệ khỏi các cuộc tấn công XSSThực hành mã hóa an toàn có thể giúp tránh giới thiệu các lỗ hổng XSS. Tuy nhiên, không có nhà phát triển nào luôn nhận thức được mọi trang web tiềm năng có lỗi hoặc lỗ hổng bảo mật. Các công cụ Đào tạo dành cho nhà phát triển và eLearning của Veracode có thể dạy các phương pháp mã hóa an toàn trong khi Veracode Security Labs cung cấp đào tạo thực hành để cho phép tất cả các nhà phát triển viết mã an toàn và nhúng bảo mật vào dự án của họ ngay từ đầu Veracode Discovery kiểm tra các ứng dụng web, khám phá và kiểm kê các ứng dụng truy cập Internet và quét các lỗ hổng, bao gồm các lỗ hổng SQL injection, các cuộc tấn công CSRF, LDAP injection và các lỗi ứng dụng di động. Veracode Dynamic Analysis quét các ứng dụng web một cách hiệu quả, tìm lỗ hổng và hướng dẫn nhà phát triển giải quyết các sự cố, tất cả trước khi ứng dụng của bạn hoạt động Làm thế nào có thể Stored chéoĐể ngăn chặn các cuộc tấn công XSS, ứng dụng của bạn phải xác thực tất cả dữ liệu đầu vào, đảm bảo rằng chỉ dữ liệu có trong danh sách cho phép mới được phép và đảm bảo rằng tất cả đầu ra biến trong một trang đều được mã hóa trước . .
Phương pháp tốt nhất để ngăn chặn chéo là gìCách ngăn chặn các cuộc tấn công XSS . Lọc đầu vào khi đến. Tại thời điểm nhận được đầu vào của người dùng, hãy lọc càng nghiêm ngặt càng tốt dựa trên những gì được mong đợi hoặc đầu vào hợp lệ Mã hóa dữ liệu trên đầu ra. . Sử dụng các tiêu đề phản hồi thích hợp. . Chính sách bảo mật nội dung chữ thập là gìCross-site scripting (XSS) là một loại tấn công bảo mật tiêm chích, trong đó kẻ tấn công đưa dữ liệu, chẳng hạn như tập lệnh độc hại, vào nội dung từ các trang web đáng tin cậy khác.
Tiêu đề nào sẽ giúp ngăn chặn cuộc tấn công XSS?Tiêu đề phản hồi HTTP X-XSS-Protection là một tính năng của Internet Explorer, Chrome và Safari ngăn các trang tải khi chúng phát hiện thấy . |