OpenCart là lời giải cho các startup thương mại điện tử tìm kiếm giải pháp miễn phí và mã nguồn mở. Sự phổ biến rộng rãi của nó có thể được giải thích bởi việc OpenCart có khả năng tùy biến cao và cung cấp nhiều tiện ích mở rộng (extension) và mô-đun. Tuy nhiên, nhiều lỗ hổng đã được khám phá trong OpenCart, một số thậm chí ảnh hưởng đến lõi (core) của OpenCart. Do đó, các cài đặt OpenCart trên khắp thế giới đã chứng kiến việc Admin panel OpenCart bị hack. Nguyên nhân có thể đa dạng, chúng ta sẽ thảo luận thêm trong bài viết này. Theo cuốn sách Hack Proofing Your E-commerce Site,
Admin Panel OpenCart Bị Hack: Ví Dụ
Admin panel là khu vực giàu tài nguyên của cửa hàng OpenCart. Mọi thứ có thể được quản trị từ bảng điều khiển OpenCart. Do đó, khi cửa hàng OpenCart bị xâm phạm do Admin panel bị hack, người dùng tìm đến các diễn đàn cộng đồng. Nhiều ví dụ về các chủ đề nhờ giúp đỡ như vậy được đưa ra dưới đây.
Admin Panel OpenCart Bị Hack: Triệu Chứng
- Đăng nhập vào admin panel từ vị trí IP không xác định.
- Nhiều tài khoản admin xuất hiện trên bảng điều khiển OpenCart mà bạn không tạo.
- Người dùng phàn nàn về thẻ tín dụng bị xâm phạm được sử dụng trên cửa hàng OpenCart.
- Nhiều đơn hàng miễn phí được xác nhận từ cửa hàng.
- Máy chủ của bạn gửi hàng trăm email spam.
- File độc (rogue files) xuất hiện trên máy chủ tạo chuyển hướng spam.
- Cửa hàng OpenCart bị đen (blacklisted) bởi công cụ tìm kiếm.
- Mã độc được chèn vào các file như pp_pro, authorize.net v.v.
- File index của cửa hàng OpenCart bị biến dạng (deface) với thông báo ngẫu nhiên.
- Nhật ký FTP hiển thị kết nối từ IP không xác định ở nước ngoài.
Admin Panel OpenCart Bị Hack: Nguyên Nhân
Mã Độc Và Cửa Hậu (Backdoor) OpenCart
Thường xuyên, kẻ xấu viết mã độc với ý định lây lan nhiều máy chủ, sau đó dùng cho tấn công DDOS, lan truyền spam, tăng lượt xem giả, v.v. Nhiều nhiễm mã độc như vậy được theo dõi bởi các nhà nghiên cứu tại Astra như mã độc pub2srv chuyên nhắm vào người dùng OpenCart. Ngoài ra, một biến thể khác nhằm đánh cắp thẻ tín dụng của người dùng OpenCart đã được đội ngũ Astra khám phá. Mã độc này thậm chí đã tạo một cửa hậu sử dụng đăng ký miễn phí trên trang web. Hack admin panel OpenCart được thực hiện bởi mã độc đánh cắp thẻ này bằng cách chèn mã độc hút thông tin đăng nhập đến admin@wsxdn.com.
Admin panel OpenCart của bạn bị xâm phạm? Nhắn tin cho chúng tôi qua widget chat và chúng tôi sẽ giúp bạn. Sửa hack admin panel OpenCart ngay.
Thực Thi Mã Từ Xa (Remote Code Execution) OpenCart
Các phiên bản OpenCart 2.1.0.2<2.2.0.0 bị phát hiện dễ bị tấn công RCE PHP. Hàm giải mã JSON (JSON decode) làm cho cửa hàng OpenCart dễ bị tấn công RCE. Tuy nhiên, những người không cài PHP JSON thì không bị ảnh hưởng. Để khai thác lỗ hổng này, kẻ tấn công lừa admin truy cập bảng điều khiển admin và thêm trường tùy chỉnh cho thông tin người dùng tùy chỉnh như số điện thoại thêm. Mã khai thác cho lỗ hổng này đã được công bố.
Cross-Site Request Forgery (CSRF) OpenCart
Tấn công CSRF cơ bản có thể lừa admin OpenCart thực hiện hành động không mong muốn trên cửa hàng. Điều này có thể từ xóa mật khẩu đến xóa toàn bộ cơ sở dữ liệu! Một lỗ hổng CSRF như vậy được đặt tên là CVE-2018-13067 đã được khám phá trong OpenCart. Có thiếu xác thực token thích hợp khi thay đổi mật khẩu. File dễ bị tấn công là /upload/catalog/controller/account/password.php. Khai thác lỗ hổng này, kẻ tấn công có thể thay đổi bất kỳ mật khẩu nào bao gồm cả mật khẩu admin., do đó thực hiện hack admin panel OpenCart. Mã khai thác cho lỗ hổng này có sẵn công khai!
SQL Injection OpenCart
Tấn công SQL injection phổ biến trên máy chủ web cũng như XSS. Cả hai lỗ hổng này chiếm phần lớn các lỗ hổng và xuất hiện trong OWASP Top 10 hàng năm. OpenCart 1.3.2 dễ bị SQLi được đặt tên là CVE-2010-0956. Thành phần dễ bị tấn công là tham số 'page' và URL dễ bị tấn công trông như index.php?route=product%2Fspecial&path=20&page= . Ở đây, kẻ tấn công có thể thực thi câu lệnh SQL qua tham số page. Mã khai thác đã được phát布. Hơn nữa, lỗ hổng blind SQLi đã được khám phá trong OpenCart 1.5.1.2.
Cross-Site Scripting (XSS) OpenCart
OpenCart trước phiên bản 2.1.0.2 bị phát hiện dễ bị tấn công XSS. Lỗ hổng này được đặt tên là CVE-2015-4671. File index.php dễ bị XSS và có thể chèn script web hoặc mã HTML qua tham số zone_id. Khai thác thành công có thể cho phép kẻ tấn công lừa admin tiết lộ mật khẩu, do đó thực hiện hack admin panel OpenCart.
Mật Khẩu OpenCart Bị Xâm Phạm
Mật khẩu yếu có thể làm admin panel OpenCart dễ bị tấn công brute force. Có phần mềm đặc biệt thực hiện tấn công brute force, có thể là tấn công từ điển (dictionary) hoặc kết hợp (hybrid). Hack admin panel OpenCart thành công do mật khẩu yếu.
Admin Panel OpenCart Bị Hack: Dọn Dẹp
Bắt đầu kiểm soát thiệt hại bằng cách đổi mật khẩu admin panel OpenCart thành mật khẩu mạnh. Sau đó tiến hành bảo mật cơ sở dữ liệu OpenCart. Việc này sẽ chặn tất cả kẻ tấn công biết mật khẩu admin panel. Mật khẩu cơ sở dữ liệu có thể thay đổi bằng câu lệnh SQL dưới đây:
update users set pass = concat('ZZZ', sha(concat(pass, md5(rand()))));
Đáng chú ý ở đây là trong một số loại nhiễm, có thể có mã độc hoặc script cửa hậu được cài đặt. Script này sẽ gửi mật khẩu admin qua internet cho kẻ tấn công. Do đó, đổi mật khẩu trong trường hợp này có thể vô nghĩa. Để xác định xem có phải trường hợp này không, hãy dùng công cụ giám sát gói tin như Wireshark để xem dữ liệu đi ra. Nếu xác nhận script đang gửi mật khẩu cho kẻ tấn công, hãy đưa trang web xuống (offline) và xóa mã độc. Hầu hết thời gian, kẻ tấn công có xu hướng lưu mã độc ở định dạng base64. Loại mã này có thể khám phá bằng lệnh đơn giản sau:
find . -name "*.php" -exec grep "base64"'{}'; -print &> hiddencode.txt
Lệnh này sẽ lưu tất cả các trường hợp mã được mã hóa base64 vào file hiddencode.txt, sau đó có thể giải mã bằng công cụ trực tuyến để kiểm tra thủ công. Sau đó, tất cả vị trí chứa script hoặc mã độc cụ thể đó có thể tìm kiếm cùng lúc bằng công cụ phpMyAdmin. Tham khảo hình ảnh dưới đây để hỗ trợ thêm.
Ngoài mã hóa base64, kẻ tấn công có thể dùng các loại mã hóa hoặc kỹ thuật che giấu khác như FOPO. Tất cả đều có thể không thể giải mã được bởi quản trị web trung bình. Do đó nhớ đừng xóa mã bạn không hiểu, chỉ cần bình luận nó bằng ký tự '#'. Sau đó, liên hệ chuyên gia để gỡ mã độc hack admin panel OpenCart.
Cần giúp chuyên nghiệp dọn dẹp sau hack admin panel OpenCart? Nhắn tin cho chúng tôi qua widget chat và chúng tôi sẽ giúp bạn. Dọn dẹp cửa hàng Opencart ngay.
Admin Panel OpenCart Bị Hack: Giảm Thiếu (Mitigation)
Cập Nhật Và Sao Lưu (Backup)
Nếu bạn muốn sửa file lõi (core files), hãy dùng vQmod hoặc OCMOD tùy tiện. Điều này sẽ bảo vệ thay đổi khỏi bị xóa khi cập nhật mới. Đảm bảo tất cả tiện ích mở rộng và mô-đun đều cập nhật vì bản cập nhật chứa các bản vá bảo mật quan trọng. Ngoài ra, hãy giữ bản sao lưu cửa hàng OpenCart vì nó sẽ giúp khôi phục trang web sau tấn công.
Xóa Thư Mục Cài Đặt (Install Folder)
Thư mục cài đặt chứa một số file lõi nhạy cảm. Nếu thư mục cài đặt bị để lại trên máy chủ, bộ quét chuyên dụng có thể phát hiện sự hiện diện của nó, mở đường cho kẻ tấn công. Công cụ tìm kiếm như Shodan liên tục tìm kiếm các file như vậy trên máy chủ web. Do đó, an toàn hơn là xóa thư mục cài đặt sau khi cài đặt OpenCart xong. Tuy nhiên, quan trọng là không xóa thư mục cài đặt vQmod!
Bảo Mật Admin Panel OpenCart
Đổi Tên URL Admin
Đây là thực hành bảo mật chuẩn để đổi tên URL admin. Điều này có thể tránh nhiều tấn công phổ biến trên admin panel OpenCart. Đổi thành từ khóa ngẫu nhiên mà bạn nhớ trong tương lai. Hướng dẫn chi tiết cho OpenCart 1.5 & vQmod có thể tìm thấy ở đây.
Hạn Chế Truy Cập
Admin panel OpenCart thường chỉ được bạn truy cập, vì vậy việc chặn tất cả IP khác là quyết định khôn ngoan. Điều này có thể thực hiện bằng file .htaccess hạn chế truy cập vào thư mục và thư mục con. Chỉ cần thêm mã sau vào file .htaccess trong thư mục admin.
<Files *.*>
Order Deny,Allow
Deny from all
Allow from "your ip address"
</Files>
Quản Lý Quyền File Admin Panel
Các file quan trọng như admin/index.php, admin/config.php không cần sửa đổi liên tục. Do đó hãy đặt quyền file sau thành 644 hoặc 444 để tránh sửa đổi file. Có thể quản lý bằng cách truy cập Users>User Groups, để biết thêm thông tin vui lòng tham khảo hình ảnh dưới đây.
Sử Dụng Giải Pháp Bảo Mật
Cửa hàng OpenCart xử lý giao dịch nhạy cảm hàng ngày. Do đó, bảo mật cửa hàng phải chắc chắn. Dòng phòng thủ đầu tiên khi kẻ tấn công cố gắng xâm phạm cửa hàng OpenCart là một tường lửa vững chắc. Sử dụng tường lửa có thể giảm đáng kể rủi ro tấn công mạng trên admin panel OpenCart. Tuy nhiên, chọn tường lửa phù hợp cho cửa hàng của bạn là rất quan trọng. Tường lửa nên kinh tế, thân thiện với tài nguyên và linh hoạt. Tường lửa Astra dường như đáp ứng tất cả tiêu chí cho cửa hàng OpenCart. Thậm chí OpenCart cũng khuyến nghị Astra. Astra là giải pháp bảo mật tất cả trong một hoạt động ngay lập tức (out of the box). Nghĩa là không rắc rối cài đặt! Không cần sức mạnh xử lý của máy chủ bạn!