Lỗ hổng Remote Code Execution (RCE) đề cập đến khả năng kẻ tấn công thực thi mã chương trình tùy ý trên máy chủ mục tiêu. Lỗi này xảy ra do người dùng nhập dữ liệu vào các hàm nhạy cảm về bảo mật như lệnh gọi hệ thống tệp (ví dụ: fwrite), hàm thực thi mã (ví dụ: eval), hàm thực thi lệnh hệ điều hành (ví dụ: system) và hàm tạo thư mục (ví dụ: mkdir). Nó cho phép kẻ tấn công từ xa thực thi mã tùy ý trong hệ thống với quyền quản trị viên. Đây là một lỗ hổng cực kỳ nguy hiểm, có thể khiến trang web bị tấn công bằng nhiều hình thức, từ xóa dữ liệu độc hại đến thay đổi giao diện web. Đoạn mã sau mô tả một lỗ hổng RCE.
Đoạn mã trên sẽ truy xuất các bình luận của người dùng và ghi lại chúng mà không cần kiểm tra. Điều này có nghĩa là kẻ tấn công có thể thực thi các yêu cầu độc hại, từ việc thu thập thông tin đơn giản bằng phpinfo() đến các cuộc tấn công phức tạp nhằm chiếm đoạt shell trên máy chủ dễ bị tấn công bằng shell_exec().
Các hàm và thao tác PHP nhạy cảm khác liên quan đến loại lỗ hổng này bao gồm header, preg_replace() với bộ điều chỉnh "/e", fopen, vassert, create_function, unserialize, $_GET['func_name'] và $_GET['argument'].
Tài liệu tham khảo
1. L. K. Shar, L. C. Briand and H. B. K. Tan, "Web Application Vulnerability Prediction Using Hybrid Program Analysis and Machine Learning," in IEEE Transactions on Dependable and Secure Computing, vol. 12, no. 6, pp. 688-707, 1 Nov.-Dec. 2015, doi: 10.1109/TDSC.2014.2373377,