Phát hiện những lỗ hổng bảo mật trong nền tảng web hosting của Bluehost

Các lỗ hổng được tìm thấy trong các nền tảng hosting web của Dreamhost, HostGator, OVH và iPage có thể đánh cắp thông tin người dùng.

Một nhà nghiên cứu đã phát hiện ra một số lỗ hổng phía máy khách chỉ bằng một cú nhấp chuột trong nền tảng web hosting của công ty nổi tiếng Bluehost. Những điều này sẽ cho phép tội phạm mạng dễ dàng thực hiện việc tiếp quản tài khoản hoàn chỉnh, theo phân tích.

Bluehost đã thừa nhận vấn đề và nói với Threatpost, hiện họ đã biết về nghiên cứu của Paulos và chúng tôi đã thực hiện các bước để giải quyết các lỗ hổng tiềm ẩn trong câu hỏi.

Nhà nghiên cứu độc lập và thợ săn lỗi Paulos Yibelo, làm việc với Website Planet, đã thiết lập một trang web thử nghiệm với Bluehost, nơi cung cấp hosting cho hơn 2 triệu trang web trên khắp thế giới theo trang của Google Giới thiệu . Ông đã tìm thấy nhiều lỗ hổng tiếp quản tài khoản và rò rỉ thông tin trong nền tảng, cũng như thiếu xác minh mật khẩu khi thay đổi thông tin đăng nhập tài khoản.

Vấn đề nghiêm trọng nhất mà Yibelo phát hiện ra là cấu hình sai của cross-origin-resource-sharing(CORS), cho phép các trang web chia sẻ tài nguyên trên các tên miền của họ.

Nói chung, JavaScript đang chạy trên một tên miền chỉ có thể đọc dữ liệu từ tên miền cụ thể đó (được gọi là same origin policy); điều này ngăn không cho một trang web được rình mò những gì người dùng đang làm trong một tab khác trong trình duyệt của họ, chẳng hạn như email. Nếu không có sự cô lập như vậy, mã độc ẩn trên một trang web mà người dùng đã mở có thể được sử dụng để dễ dàng thu thập dữ liệu từ bất kỳ trang web nào khác được mở trong trình duyệt.

Tuy nhiên, có những trường hợp sử dụng hợp pháp để gửi yêu cầu đến các tên miền khác, chẳng hạn như việc sử dụng API công khai cho phép mọi người truy vấn chúng – đây là mục đích của CORS. Thật không may, cấu hình sai có thể cho phép một tên miền được kiểm soát bởi một bên độc hại gửi yêu cầu đến một tên miền hợp pháp – và tên miền hợp pháp sẽ trả lời, mở ra cánh cửa cho việc thu thập dữ liệu.

Trong Bluehost, Yibelo nói rằng chức năng CORS không có bộ lọc phù hợp để quản lý trang web nào sẽ được phép truy cập dữ liệu nào trên trang web được lưu trữ của Bluehost, theo nhà nghiên cứu. Về cơ bản, bất kỳ trang web nào có tên miền Bluehost ( https://my.bluehost.com/ ) sẽ cho phép một trang web khác có tên miền Bluehost để đọc nội dung của nó.

Ví dụ, nếu trình duyệt gửi yêu cầu đến từ https://my.bluehost.com.EVIL.com, Bluehost sẽ cho phép nó, theo theo nghiên cứu , được đăng vào thứ Hai. Blue Bluehost chỉ kiểm tra các chuỗi đầu tiên và không xem xét những gì xuất hiện sau Bluehost.com. Điều này có nghĩa là những kẻ tấn công độc hại có thể lưu trữ một tên miền phụ gọi là my.bluehost.com.EVILweBSITE.com và [một trang web Bluehost hợp pháp] sẽ cho phép EVILweBSITE.com đọc nội dung của nó.

Trong thử nghiệm, Yibelo có thể truy cập nhiều thông tin nhận dạng cá nhân (PII), như tên, địa điểm (thành phố, đường phố, tiểu bang, quốc gia), số điện thoại và mã ZIP; chi tiết thanh toán một phần bao gồm tháng và năm hết hạn, bốn chữ số cuối của thẻ, tên trên thẻ, loại thẻ và phương thức thanh toán; và các mã thông báo có thể cấp quyền truy cập cho người dùng được lưu trữ trên WordPress, Mojo, SiteLock và các điểm cuối được OAuth hỗ trợ.

Lỗ hổng thứ hai cho phép tiếp quản tài khoản do xác thực yêu cầu JSON không đúng, mở ra cánh cửa cho việc giả mạo yêu cầu chéo trang (CSRF). Lỗ hổng cho phép kẻ tấn công thay đổi địa chỉ email của bất kỳ người dùng Bluehost nào thành địa chỉ mà họ chọn, sau đó đặt lại mật khẩu bằng email mới của họ để có quyền truy cập hoàn toàn vào tài khoản của nạn nhân. Cuộc tấn công được thực hiện khi nạn nhân nhấp vào một liên kết độc hại hoặc truy cập vào một trang web độc hại, theo Yibelo.

Lỗ hổng này có thể bị khai thác do một số cấu hình sai trong việc xử lý các yêu cầu của Bluehost và xác thực chúng, theo phân tích. Khi người dùng cố gắng thay đổi chi tiết cá nhân của mình, chẳng hạn như tên, số điện thoại, địa chỉ hoặc email, Bluehost sẽ gửi [yêu cầu tới nền tảng để làm như vậy]. Nếu bạn xem xét kỹ, bạn sẽ nhận thấy không có mã thông báo duy nhất được gửi với yêu cầu đó. Điều này có nghĩa là bất kỳ trang web nào thực sự có thể gửi yêu cầu đến nguồn gốc chéo điểm cuối cụ thể đó và thay đổi chi tiết của bạn.

Thông thường, cuộc tấn công này sẽ bị cản trở vì nó sử dụng JSON phụ thuộc vào Adobe Flash Player; nhưng Yibelo nhận thấy rằng các thủ thuật đặc biệt và các cấu hình sai của máy chủ, cho phép nó hoạt động trong mọi trình duyệt mà không cần sử dụng Flash:

Do các trình duyệt thường thêm = (dấu bằng) vào cuối tên đầu vào, nên chúng ta có thể thao tác JSON để bao gồm dấu bằng trong FirstName và thêm các giá trị còn lại trong thuộc tính giá trị của Wap: tổ chức: null}. Yêu cầu sẽ được gửi với Loại nội dung: văn bản / đơn giản và không phải ứng dụng / json – nhưng Bluehost không bận tâm điều đó, điều này làm cho công việc khai thác của chúng tôi có nguồn gốc chéo. Thông thường, Bluehost kiểm tra xem tên miền của người giới thiệu có phải là bluehost.com hay không – nếu yêu cầu được gửi từ bất kỳ trang web nào khác, Bluehost sẽ từ chối yêu cầu với phản hồi 500. Điều này có thể dễ dàng được bỏ qua bằng cách sử dụng Content = không có người giới thiệu nào trong thẻ meta, bởi vì nếu không có người giới thiệu nào được gửi, Bluehost sẽ cho phép yêu cầu.

Lỗ hổng thứ ba cho phép tiếp quản tài khoản bằng cách tạo kịch bản chéo trang (XSS). Yibelo xác định rằng điều này (được thể hiện trong một bằng chứng về khái niệm ở đây ) bị làm trầm trọng thêm bởi thực tế là Bluehost không yêu cầu mật khẩu hiện tại khi thay đổi địa chỉ email của một người, vì vậy kẻ tấn công có thể thực hiện tấn công CSRF bằng cách sử dụng lỗ hổng XSS này để chiếm lấy bất kỳ tài khoản nào; và, Bluehost không có bất kỳ cờ httpOnly nào trên các cookie nhạy cảm, điều đó có nghĩa là mọi JavaScript có thể truy cập chúng và gửi chúng cho kẻ tấn công độc hại và kẻ tấn công có thể sử dụng các cookie này để xác thực là người dùng.

Lỗ hổng này cho phép kẻ tấn công thực thi các lệnh như máy khách trên bluehost.com – điều này có nghĩa là khả năng thay đổi, sửa đổi và thêm nội dung, bao gồm địa chỉ email, báo cáo đã giải thích. Kẻ tấn công có thể đọc nội dung về nạn nhân hoặc thay đổi nội dung trên trang web của họ khi nạn nhân nhấp vào liên kết độc hại hoặc truy cập trang web.

Và cuối cùng, một vấn đề ở mức độ trung bình phát sinh do xác nhận CORS không đúng, cho phép một cuộc tấn công trung gian.

Ở đây, thay vì không xác minh tên miền, Bluehost không xác minh lược đồ / giao thức khi cho phép CORS đọc nội dung của nó, nghĩa là nó sẽ cho phép truy cập theo yêu cầu tên miền HTTP (nghĩa là lưu lượng không được mã hóa).

Cuộc tấn công hạ cấp này làm cho việc sử dụng chứng chỉ SSL của Bluehost hoàn toàn vô dụng và đánh bại toàn bộ mục đích sử dụng yêu cầu HTTPS ở nơi đầu tiên, báo cáo ghi nhận.

Điều đáng chú ý là Bluehost không đơn độc ở đây – Yibelo nói rằng các lỗ hổng tương tự cũng được tìm thấy trong các nền tảng lưu trữ web Dreamhost, HostGator, OVH và iPage.

Mike Bittner, giám đốc vận hành và bảo mật kỹ thuật số của The Media Trust, cho biết, bằng cách chú ý rất ít đến bảo mật và quyền riêng tư, các nhà cung cấp nền tảng web hosting vô tình cho phép các tác nhân xấu lấy cắp thông tin của người tiêu dùng và lừa đảo. Cách tiếp cận lỏng lẻo này khiến các nhà cung cấp nền tảng, khách hàng và người tiêu dùng của họ gặp rủi ro nghiêm trọng khi các quy định về quyền riêng tư dữ liệu của người tiêu dùng trên toàn thế giới thắt chặt một mặt và tấn công bởi các tác nhân độc hại tăng cường. Các nhà cung cấp như vậy nên xây dựng các kiểm tra bảo mật và cải tiến trong vòng đời sản phẩm, vì mọi người dùng của mỗi trang web họ lưu trữ đều có thể là nạn nhân của những kẻ trộm và lừa đảo trên mạng. Nếu một nhà cung cấp hosting cho một triệu trang web trên khắp thế giới áp dụng cách tiếp cận chặt chẽ về quyền riêng tư và bảo mật, hãy tưởng tượng có bao nhiêu khách truy cập trang web có thể bị ảnh hưởng…

bình luận

Leave a Comment