Lỗ hổng Adblock Plus cho phép mã của bên thứ ba chạy

Gần đây nó đã được phát hiện ra rằng trình chặn quảng cáo phổ biến «Adblock Plus »có lỗ hổng cho phép tổ chức thực thi mã JavaScript trên các trang web, trong trường hợp sử dụng các bộ lọc chưa được kiểm tra do các bên thứ ba chuẩn bị với mục đích xấu (ví dụ: bằng cách kết nối các bộ quy tắc của bên thứ ba hoặc bằng cách thay thế quy tắc trong cuộc tấn công MITM).

Liệt kê các tác giả với bộ lọc có thể tổ chức việc thực thi mã của họ trong bối cảnh các trang web có thể truy cập vào người dùng thêm quy tắc bằng toán tử »$ rewrite«, cho phép thay thế một phần của URL.

Làm thế nào để thực thi mã này có thể?

Khai báo $ rewrite không cho phép thay thế máy chủ trong url, nhưng nó cung cấp cơ hội để tự do thao tác các đối số của yêu cầu.

Tuy nhiên thực thi mã có thể đạt được. Một số trang web, chẳng hạn như Google Maps, Gmail và Google Hình ảnh, họ sử dụng kỹ thuật tải động các khối JavaScript thực thi được truyền dưới dạng văn bản thuần túy.

Nếu máy chủ cho phép chuyển hướng các yêu cầu, thì nó có thể được chuyển tiếp đến một máy chủ khác bằng cách thay đổi các tham số của URL (ví dụ: trong ngữ cảnh của Google, chuyển hướng có thể được thực hiện thông qua API »google.com/search«) .

Ngoài máy chủ cho phép chuyển hướng, bạn cũng có thể thực hiện một cuộc tấn công chống lại các dịch vụ cho phép vị trí của nội dung người dùng (lưu trữ mã, nền tảng đặt bài viết, v.v.).

Phương pháp Cuộc tấn công được đề xuất chỉ ảnh hưởng đến các trang tải động các chuỗi bằng mã JavaScript (ví dụ: thông qua XMLHttpRequest hoặc Fetch) và sau đó chạy chúng.

Một hạn chế lớn khác là cần phải sử dụng chuyển hướng hoặc đặt dữ liệu tùy ý ở phía máy chủ gốc cung cấp tài nguyên.

Tuy nhiên, như một minh chứng về mức độ liên quan của một cuộc tấn công, chỉ cho bạn cách tổ chức thực thi mã của mình bằng cách mở maps.google.com bằng cách sử dụng chuyển hướng qua "google.com/search".

Trên thực tế, các yêu cầu sử dụng XMLHttpRequest hoặc Tìm nạp để tải xuống các tập lệnh từ xa để chạy sẽ không bị lỗi khi tùy chọn $ rewrite được sử dụng.

Ngoài ra, chuyển hướng mở cũng quan trọng không kém vì nó cho phép XMLHttpRequest đọc tập lệnh từ một trang web từ xa, ngay cả khi nó xuất hiện từ cùng một nguồn.

Họ đang làm việc để giải quyết vấn đề

Các giải pháp vẫn đang được chuẩn bị. Sự cố cũng ảnh hưởng đến các trình chặn AdBlock và uBlock. Trình chặn gốc uBlock không dễ gặp sự cố vì nó không hỗ trợ toán tử »$ rewrite».

Tại một thời điểm, tác giả uBlock Origin đã từ chối thêm hỗ trợ $ rewrite, với lý do các vấn đề bảo mật có thể xảy ra và không đủ các hạn chế cấp máy chủ (thay vì viết lại, tùy chọn querystrip được đề xuất để xóa các tham số truy vấn thay vì thay thế chúng).

Chúng tôi có trách nhiệm bảo vệ người dùng của mình.

Mặc dù rủi ro thực tế rất thấp, chúng tôi đã quyết định loại bỏ tùy chọn $ rewrite. Do đó, chúng tôi sẽ phát hành phiên bản cập nhật của Adblock Plus về mặt kỹ thuật sớm nhất có thể.

Chúng tôi làm điều này như một biện pháp phòng ngừa. Không có nỗ lực nào được thực hiện để sử dụng sai tùy chọn viết lại và chúng tôi sẽ cố gắng hết sức để ngăn điều này xảy ra.

Điều này có nghĩa là không có bất kỳ mối đe dọa nào đối với bất kỳ người dùng Adblock Plus nào.

DCác nhà phát triển Adblock Plus coi các cuộc tấn công thực tế khó xảy ra, vì tất cả các thay đổi đối với danh sách quy tắc thông thường đều được xem xét và người dùng rất hiếm khi thực hiện kết nối danh sách của bên thứ ba.

Thay thế quy tắc qua MITM loại bỏ việc sử dụng HTTPS theo mặc định để tải danh sách khối thông thường (đối với các danh sách còn lại, dự kiến ​​sẽ cấm tải xuống HTTP trong bản phát hành trong tương lai).

Để chặn các cuộc tấn công vào phía các trang web, Chỉ thị CSP có thể được áp dụng (Chính sách bảo mật nội dung), qua đó bạn có thể xác định rõ ràng các máy chủ mà từ đó các tài nguyên bên ngoài có thể được tải.

Fuente: https://adblockplus.org, https://armin.dev


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.