Khai thác bộ lọc Adblock Plus để chạy mã tùy ý được phát hiện

Hầu hết các trình chặn nội dung sử dụng và tải danh sách bộ lọc bao gồm các hướng dẫn để chặn hoặc thay đổi nội dung nhất định trên các trang web được truy cập trong trình duyệt web theo mặc định; điều này được thực hiện để đảm bảo rằng các cấu hình mặc định sẽ chặn ngay một đoạn nội dung không mong muốn.

Hầu hết các tiện ích mở rộng đều hỗ trợ danh sách tùy chỉnh và các bộ lọc riêng lẻ. Người dùng có thể tải danh sách tùy chỉnh trong hầu hết các tiện ích mở rộng và thêm bộ lọc của riêng họ vào danh sách.

Cập nhật : Eyeo GMHB đã thông báo rằng họ sẽ loại bỏ chức năng viết lại $ trong tương lai. Mong đợi một bản phát hành mới sẽ loại bỏ nếu từ phần mở rộng. Kết thúc

Nhà nghiên cứu bảo mật Armin Sebastian đã phát hiện ra một khai thác trong một số trình chặn quảng cáo nhất định như Adblock Plus có thể được sử dụng để chạy mã độc trên các trang web được truy cập trong trình duyệt.

Khai thác sử dụng tùy chọn bộ lọc có tên $ viết lại mà Adblock Plus hỗ trợ để tiêm mã tùy ý vào các trang web. Bộ lọc $ viết lại được sử dụng để thay thế mã trên các trang web bằng cách viết lại nó. Tùy chọn bộ lọc hạn chế hoạt động; nó được thiết kế để chỉ tải nội dung từ nguồn của bên thứ nhất chứ không phải các trang web hoặc máy chủ của bên thứ ba và một số yêu cầu, ví dụ như tập lệnh hoặc đối tượng, cũng không được phép.

Sebastian đã phát hiện ra một lỗ hổng trong $ viết lại mà kẻ tấn công có thể khai thác để tải nội dung từ các địa điểm từ xa. Các điều kiện cần phải được đáp ứng là:

  1. Một chuỗi JavaScript cần được tải bằng XMLHttpRequest hoặc Fetch và mã trả về phải được thực thi.
  2. Nguồn gốc không thể bị hạn chế trên trang, ví dụ: bằng cách sử dụng các chỉ thị Chính sách bảo mật nội dung và URL yêu cầu cuối cùng có thể được xác thực trước khi thực hiện.
  3. Nguồn gốc của mã phải có chuyển hướng mở phía máy chủ hoặc phải lưu trữ nội dung người dùng tùy ý.

Các thuộc tính phù hợp với cả ba yêu cầu bao gồm Google Maps, Gmail hoặc Google Images trong số các yêu cầu khác. Một bằng chứng về khái niệm đã được công bố trên trang web của tác giả và bạn có thể dùng thử trên Google Maps để xác minh rằng nó hoạt động.

Tôi đã thử khai thác trong Chrome và Firefox và không thể hoạt động. Lawrence Abrams trên Bleeping Computer đã cố gắng để nó hoạt động.

Từ kết thúc

Cuộc tấn công có một yêu cầu khác, vì nó dựa vào các bộ lọc. Một bộ lọc thao tác cần được thêm vào danh sách các bộ lọc được sử dụng bởi trình chặn nội dung. Hai tùy chọn phổ biến nhất bao gồm người dùng thêm bộ lọc theo cách thủ công vào trình chặn nội dung của họ hoặc bộ lọc được thao tác nằm trong danh sách bộ lọc được tải.

Tùy chọn thứ hai có vẻ nhiều khả năng, đặc biệt trong trường hợp người dùng tải các danh sách khác trong tiện ích mở rộng. Đây không phải là lần đầu tiên danh sách bị thao túng nhưng nó không xảy ra rất thường xuyên.

Phần mở rộng uBlock Origin không bị ảnh hưởng bởi sự cố vì nó không hỗ trợ $ viết lại.