Rate this post

Rich Internet Applications (RIA) đã áp dụng các tệp chính sách crossdomain.xml của Adobe để cho phép truy cập miền chéo có kiểm soát vào dữ liệu và mức tiêu thụ dịch vụ bằng cách sử dụng các công nghệ như Oracle Java, Silverlight và Adobe Flash. Do đó, một miền có thể cấp quyền truy cập từ xa vào các dịch vụ của nó từ một miền khác. Tuy nhiên, thường thì các tệp chính sách mô tả các hạn chế truy cập được định cấu hình kém. Cấu hình kém của các tệp chính sách sẽ kích hoạt các cuộc tấn công Truy vấn Yêu cầu Trên Trang web và có thể cho phép các bên thứ ba truy cập vào dữ liệu nhạy cảm dành cho người dùng.

Các bài viết liên quan:

Các cross-domain policy files là gì?

Tệp  cross-domain policy chỉ định các quyền mà ứng dụng khách web như Java, Adobe Flash, Adobe Reader, v.v. sử dụng để truy cập dữ liệu trên các tên miền khác nhau. Đối với Silverlight, Microsoft đã thông qua một tập hợp con của crossdomain.xml của Adobe và cũng tạo thêm các file cross-domain policy của riêng nó: clientaccesspolicy.xml.

Bất cứ khi nào ứng dụng khách web phát hiện thấy tài nguyên phải được yêu cầu từ miền khác, trước tiên nó sẽ tìm kiếm tệp chính sách trong miền đích để xác định xem có cho phép thực hiện các yêu cầu miền chéo, bao gồm tiêu đề và kết nối dựa trên socket hay không.

Các tệp chính sách chính được đặt ở gốc của miền. Khách hàng có thể được hướng dẫn tải một tệp chính sách khác nhưng sẽ luôn kiểm tra tệp chính sách chính trước để đảm bảo rằng tệp chính sách chính cho phép tệp chính sách được yêu cầu.

Crossdomain.xml so với Clientaccesspolicy.xml

Hầu hết các ứng dụng RIA đều hỗ trợ crossdomain.xml. Tuy nhiên trong trường hợp của Silverlight, nó sẽ chỉ hoạt động nếu crossdomain.xml chỉ định rằng quyền truy cập được phép từ bất kỳ miền nào. Để kiểm soát chi tiết hơn với Silverlight, phải sử dụng clientaccesspolicy.xml.

Các tệp chính sách cấp một số loại quyền:

Tệp chính sách được chấp nhận (Tệp chính sách chính có thể vô hiệu hóa hoặc hạn chế các tệp chính sách cụ thể)

  • Accepted policy files
  • Sockets permissions
  • Header permissions
  • HTTP/HTTPS access permissions

Cho phép truy cập dựa trên thông tin đăng nhập mật mã

Ví dụ về tệp chính sách quá dễ dãi:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

Làm thế nào để các ross domain policy có thể bị lạm dụng?

  • Chính sách tên miền chéo dễ dãi quá mức.
  • Tạo phản hồi của máy chủ có thể được coi là tệp chính sách tên miền chéo.
  • Sử dụng chức năng tải tệp lên để tải lên các tệp có thể được coi là tệp chính sách miền chéo.

Tác động của việc lạm dụng Cross-Domain Access

  • Đánh bại các biện pháp bảo vệ CSRF.
  • Đọc dữ liệu bị hạn chế hoặc được bảo vệ bởi các chính sách nguồn gốc chéo.

Mục tiêu kiểm tra

Xem xét và xác thực các tệp chính sách.

Làm thế nào để kiểm tra

  1. Kiểm tra điểm yếu của tệp chính sách RIA

Để kiểm tra điểm yếu của tệp chính sách RIA, người kiểm tra nên cố gắng truy xuất tệp chính sách crossdomain.xml và clientaccesspolicy.xml từ thư mục gốc của ứng dụng và từ mọi thư mục được tìm thấy.

Ví dụ: nếu URL của ứng dụng là http://www.website.org, người thử nghiệm nên cố gắng tải xuống các tệp http://www.website.org/crossdomain.xml và http://www.website.org/ clientaccesspolicy.xml.

Sau khi truy xuất tất cả các tệp chính sách, các quyền được phép phải được kiểm tra theo nguyên tắc đặc quyền ít nhất. Yêu cầu chỉ nên đến từ các miền, cổng hoặc giao thức cần thiết. Cần tránh các chính sách quá dễ dãi. Các chính sách có dấu * trong đó cần được kiểm tra chặt chẽ.

Ví dụ

<cross-domain-policy>
    <allow-access-from domain = "*" />
</cross-domain-policy>

Kết quả quá trình test cần

  • Đã tìm thấy danh sách các tệp chính sách.
  • Danh sách các cài đặt yếu trong các chính sách.

Công cụ

  • Nikto
  • OWASP Zed Attack Proxy Project
  • W3af

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now