Lỗ hổng nghiêm trọng trong phpMyAdmin cho phép tin tặc phá hoại cơ sở dữ liệu

09:20 | 08/01/2018

Một lỗ hổng an ninh nghiêm trọng trong phpMyAdmin - ứng dụng quản lý cơ sở dữ liệu MySQL có thể cho phép tin tặc thực hiện từ xa các thao tác có hại cho cơ sở dữ liệu, chỉ bằng cách lừa các quản trị viên nhấp vào liên kết.

Được phát hiện bởi một nhà nghiên cứu an ninh người Ấn Độ, Ashutosh Barot, lỗ hổng CSRF ảnh hưởng đến phpMyAdmin phiên bản 4.7.x (trước 4.7.7).

Để lợi dụng lỗ hổng CSRF, tin tặc lừa người dùng kích vào một URL đặc biệt, từ đó có thể thực hiện các thao tác có hại cho cơ sở dữ liệu như xóa các bản ghi, bỏ/cắt xén bảng biểu....

phpMyAdmin là công cụ quản lý mã nguồn mở và miễn phí dành cho MySQL và MariaDB, được sử dụng rộng rãi trong quản lý cơ sở dữ liệu cho các trang web trên nền tảng WordPress, Joomla và nhiều nền tảng quản lý nội dung khác.

Hơn nữa, nhiều nhà cung cấp dịch vụ lưu trữ sử dụng phpMyAdmin để khách hàng của mình sắp xếp cơ sở dữ liệu một cách tiện lợi.

Nhà nghiên cứu cũng phát hành một video, cho thấy tin tặc từ xa có thể khiến các quản trị viên cơ sở dữ liệu vô tình xóa (DROP) toàn bộ bảng khỏi cơ sở dữ liệu chỉ bằng cách lừa họ nhấp vào một liên kết đặc biệt.

Barot giải thích rằng, một tính năng của phpMyAdmin có sử dụng truy vấn GET và sau đó là truy vấn POST cho các thao tác cơ sở dữ liệu như DROP TABLE table_name, truy vấn GET phải được bảo vệ nhằm chống lại các cuộc tấn công CSRF. Trong trường hợp này, các truy vấn POST đã được sử dụng, gửi qua URL (có thể là cho mục đích đánh dấu). Điều này có thể cho phép tin tặc lừa người quản trị cơ sở dữ liệu nhấp chuột và thực hiện một truy vấn cơ sở dữ liệu drop table theo lựa chọn của tin tặc. Tuy nhiên, thực hiện cuộc tấn công này không phải đơn giản vì dễ bị phát hiện. Để chuẩn bị một URL tấn công CSRF, tin tặc cần biết tên của cơ sở dữ liệu và bảng mục tiêu.

Nếu người dùng thực hiện truy vấn trên cơ sở dữ liệu bằng cách nhấp vào nút chèn, DROP… URL sẽ chứa tên cơ sở dữ liệu và tên bảng. Lỗ hổng này có thể dẫn đến nguy cơ bị lộ thông tin nhạy cảm vì URL được lưu trữ tại nhiều địa điểm khác nhau như lịch sử trình duyệt, nhật ký SIEM, nhật ký tường lửa, nhật ký ISP...

Nhà nghiên cứu đã báo cáo lỗ hổng này lên các nhà phát triển phpMyAdmin và đã được xác nhận. Nhà phát triển cũng đã phát hành phpMyAdmin 4.7.7 để xử lý lỗ hổng. Do vậy, các quản trị viên được khuyến cáo nên cập nhật sớm.