2026年11月12日
2026年11月12日
Kiểm tra lỗ hổng plugin WordPress bằng WP-CLI, WPScan, cơ sở dữ liệu
Đây là phiên bản được bản địa hóa từ bài viết gốc tiếng Nhật. Đọc bài gốc tiếng Nhật
Với lỗ hổng plugin, khoảng thời gian từ khi được công bố đến khi các cuộc tấn công bắt đầu có thể rất ngắn. Cách làm cơ bản là chạy định kỳ quy trình: nắm được plugin và phiên bản đang dùng, đối chiếu với các lỗ hổng đã biết, và cập nhật nếu có bản vá. Bài viết này lần lượt giải thích cách kiểm tra phiên bản bằng WP-CLI, đối chiếu bằng WPScan, cách đọc cơ sở dữ liệu lỗ hổng, kiểm tra bị can thiệp và cách xử lý khi phát hiện lỗ hổng. Các lệnh và điều kiện giá là nội dung đã đối chiếu với tài liệu chính thức của từng bên vào tháng 11/2026.
1. Liệt kê plugin và phiên bản đang dùng
Trước hết, hãy nắm được cái gì đang được cài ở phiên bản nào. Bạn cũng có thể xem trong "Plugin → Plugin đã cài đặt" (Plugins → Installed Plugins) của trang quản trị, nhưng với WP-CLI bạn có thể lưu lại danh sách.
# Hiển thị tên, phiên bản, bật/tắt và có bản cập nhật hay không
wp plugin list --fields=name,version,status,update
# Chỉ hiển thị những plugin có bản cập nhật
wp plugin list --update=available
# Lưu dưới dạng JSON để ghi lại
wp plugin list --fields=name,version,status --format=json > plugins.json
Các plugin đã tắt cũng xuất hiện trong danh sách. Dù đã tắt, tệp vẫn còn trên máy chủ và có thể bị truy cập trực tiếp vào các tệp có lỗ hổng, nên hãy xóa những plugin không dùng. Kiến thức cơ bản về WP-CLI được giải thích trong "Cách quản lý plugin bằng WP-CLI".
2. Đối chiếu với lỗ hổng đã biết bằng WPScan
WPScan là công cụ dòng lệnh kiểm tra một site WordPress từ bên ngoài. Thông tin lỗ hổng được lấy từ API của WPScan, nên bạn cần tạo tài khoản tại wpscan.com, cấp API token rồi mới dùng.
Theo trang giá của WPScan, gói miễn phí chỉ giới hạn cho mục đích phi thương mại và số lần gọi API tối đa 25 lần mỗi ngày. Nếu dùng cho site phục vụ công việc thì cần giấy phép trả phí. Công cụ vẫn chạy khi không có API token, nhưng khi đó thông tin lỗ hổng sẽ không hiển thị.
# Cài đặt (khi cài bằng gem của Ruby)
gem install wpscan
# Khi dùng Docker
docker pull wpscanteam/wpscan
# Kiểm tra các plugin được báo cáo có lỗ hổng
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp
# Dùng cả hai cách phát hiện passive và aggressive
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp --plugins-detection mixed
Các giá trị chính của -e như sau.
| Giá trị | Đối tượng |
|---|---|
vp |
Plugin được báo cáo có lỗ hổng |
ap |
Tất cả plugin |
p |
Các plugin phổ biến |
vt |
Theme được báo cáo có lỗ hổng |
Mặc định, việc phát hiện plugin là passive, đọc từ HTML của trang, v.v. Plugin không để lại dấu vết trong HTML có thể không bị phát hiện, nên nếu chỉ định aggressive hoặc mixed thì số plugin phát hiện được tăng lên, nhưng số yêu cầu cũng tăng.
Chỉ được dùng WPScan để kiểm tra site do chính bạn quản lý hoặc site bạn đã được phép. Bạn cũng có thể tham khảo "Kiểm tra lỗ hổng của site bằng WPScan" để biết cách dùng chi tiết.
3. Xác nhận nội dung bằng cơ sở dữ liệu lỗ hổng
Với plugin có tên xuất hiện trong kết quả WPScan hoặc trong tin tức bảo mật, hãy xác nhận chi tiết trong các cơ sở dữ liệu sau.
- WPScan Vulnerability Database (wpscan.com)
- Wordfence Intelligence (wordfence.com)
- Patchstack Database (patchstack.com)
- NVD (nvd.nist.gov, tìm theo mã CVE)
Các mục cần xem như sau.
| Mục | Điều cần xác nhận |
|---|---|
| Phiên bản bị ảnh hưởng | Phiên bản của bạn có nằm trong phạm vi không |
| Phiên bản đã sửa | Cập nhật có giải quyết được không. Cũng có trường hợp chưa có bản sửa |
| Quyền cần thiết | Có khai thác được mà không cần đăng nhập không, hay cần quyền tác giả hoặc người đăng ký |
| Mức độ nghiêm trọng (CVSS) | Giá trị từ 0 đến 10. Càng cao thì ảnh hưởng càng lớn |
| Loại | XSS, SQL injection, leo thang đặc quyền, tải tệp tùy ý lên, v.v. |
Hãy xử lý trước những lỗ hổng khai thác được mà không cần đăng nhập và những lỗ hổng có mức độ nghiêm trọng cao. Những lỗ hổng khai thác được bằng quyền người đăng ký (subscriber) cần xử lý gấp ở các site cho phép đăng ký người dùng (site thành viên, cửa hàng, v.v.).
4. Kiểm tra tệp có bị can thiệp không
Khi có khả năng lỗ hổng đã bị khai thác, hãy kiểm tra xem các tệp có còn nguyên như lúc phát hành không. verify-checksums của WP-CLI so sánh các tệp với checksum do WordPress.org công bố.
# Kiểm tra tất cả plugin
wp plugin verify-checksums --all
# Chỉ kiểm tra một plugin cụ thể
wp plugin verify-checksums contact-form-7
# Kiểm tra các tệp của WordPress core
wp core verify-checksums
Nếu không có vấn đề, sẽ hiện như Success: Verified 8 of 8 plugins.. Nếu có tệp được thêm vào hoặc tệp khác nội dung, danh sách của chúng sẽ được hiển thị.
Plugin trả phí không phát hành trên WordPress.org không có checksum, nên không kiểm tra được bằng cách này. Khi đó, hãy tải cùng phiên bản từ nơi phát hành và so sánh các tệp.
5. Xử lý khi phát hiện lỗ hổng
# Khi có bản sửa: cập nhật
wp plugin update contact-form-7
# Khi chưa có bản sửa: tắt đi, và xóa nếu không dùng
wp plugin deactivate vulnerable-plugin
wp plugin delete vulnerable-plugin
# Trước khi cập nhật hàng loạt, xem những gì sẽ được cập nhật
wp plugin update --all --dry-run
vulnerable-plugin chỉ là ví dụ. Hãy thay bằng slug thực tế (cột name của wp plugin list).
- Hãy sao lưu trước khi cập nhật, và sau khi cập nhật hãy xác nhận các màn hình chính (biểu mẫu liên hệ, thanh toán, v.v.) vẫn hoạt động.
- Với plugin không có bản sửa và đã ngừng phát triển, hãy cân nhắc chuyển sang một plugin khác có cùng chức năng. Với plugin bị WordPress.org ngừng phát hành, trang plugin sẽ có thông báo ngừng.
- Nếu có dấu hiệu bị can thiệp thì chỉ cập nhật là chưa đủ. Hãy kiểm tra cả việc có thêm người dùng quản trị, tệp PHP đặt trong uploads, thay đổi của wp-config.php, v.v., và nếu cần thì khôi phục từ bản sao lưu.
6. Biến việc kiểm tra thành thói quen
- Trong "Plugin" của trang quản trị, bạn có thể bật tự động cập nhật cho từng plugin (WordPress 5.5 trở lên). Hãy bật trước với những plugin ít lo bị vỡ giao diện khi cập nhật. Xem chi tiết tại "Cách thiết lập tự động cập nhật plugin".
- Nếu chạy WPScan định kỳ bằng cron, hãy lưu ý giới hạn 25 lần mỗi ngày của gói miễn phí và điều kiện phi thương mại.
- Plugin bảo mật Wordfence cũng báo các plugin cần cập nhật, v.v. qua quá trình quét. Cách dùng được giải thích trong "Quét site bằng Wordfence".
Tổng kết
Kiểm tra lỗ hổng plugin được tiến hành theo thứ tự: lấy danh sách (wp plugin list), đối chiếu với lỗ hổng đã biết (WPScan hoặc cơ sở dữ liệu lỗ hổng), xác nhận có bị can thiệp không (wp plugin verify-checksums), và xử lý bằng cập nhật hoặc xóa. Xóa những plugin không dùng là biện pháp ít tốn công nhất.
Có câu hỏi về WordPress? Đơn vị xuất bản trang này ở Nhật Bản và trả lời bằng tiếng Nhật. Liên hệ (tiếng Nhật)