Web Shell là gì?
Web shell là một dạng mã độc được cài đặt trên máy chủ web, cho phép hacker điều khiển hệ thống từ xa thông qua trình duyệt hoặc giao thức HTTP/HTTPS. Nói đơn giản, khi một website bị tấn công và hacker tải lên một tập tin webshell (ví dụ file .php, .asp, .jsp), họ có thể gửi lệnh trực tiếp đến máy chủ để:
- Quản lý file trên server
- Thực thi lệnh hệ thống
- Đánh cắp dữ liệu
- Cài đặt thêm malware
- Chiếm quyền điều khiển website
Webshell thường xuất hiện sau khi hacker khai thác các lỗ hổng bảo mật trong ứng dụng web, chẳng hạn như:
- File upload không kiểm soát
- SQL Injection
- Local File Inclusion (LFI)
- Lỗi cấu hình server
Chính vì vậy, việc hiểu rõ web shell là gì giúp quản trị viên nhận diện sớm nguy cơ và bảo vệ hệ thống tốt hơn.
Web Shell hoạt động như thế nào?
Sau khi xâm nhập vào hệ thống, hacker sẽ tải một tập tin webshell lên máy chủ web. Tập tin này thường được viết bằng các ngôn ngữ lập trình phía server như:
- PHP
- ASP / ASP.NET
- JSP
- Python
- NodeJS
Khi truy cập vào file webshell thông qua URL, hacker có thể gửi lệnh đến máy chủ và nhận kết quả thực thi ngay lập tức.
Ví dụ một webshell PHP đơn giản: <?php system($_GET[‘cmd’]); ?>
Khi hacker truy cập: https://example.com/shell.php?cmd=ls
Máy chủ sẽ thực thi lệnh ls và trả về kết quả. Nhờ cơ chế này, hacker có thể điều khiển server từ xa giống như đang sử dụng terminal trên hệ thống.
Các loại Webshell phổ biến
Trong thực tế, có nhiều loại webshell được hacker sử dụng tùy theo nền tảng máy chủ.
Webshell PHP
Đây là loại phổ biến nhất vì PHP được sử dụng rộng rãi trên các website. Một số webshell PHP nổi tiếng gồm: c99 shell, r57 shell, b374k shell. Các công cụ này cho phép:
- quản lý file
- truy cập database
- thực thi lệnh hệ thống
- upload / download dữ liệu
Webshell ASP / ASPX
Loại webshell này hoạt động trên máy chủ Windows IIS. Chúng thường sử dụng VBScript hoặc C# để thực thi lệnh trên hệ điều hành Windows.
Webshell JSP
Webshell JSP thường được triển khai trên các máy chủ Java như:
- Apache Tomcat
- JBoss
- WebLogic
Loại này có khả năng thực thi các lệnh hệ thống Java thông qua API Runtime.

Hacker sử dụng Web Shell để tấn công như thế nào?
Sau khi cài webshell thành công, hacker có thể thực hiện nhiều hoạt động nguy hiểm.
Leo thang đặc quyền (Privilege Escalation)
Ban đầu webshell thường chạy với quyền thấp. Hacker sẽ tìm cách khai thác lỗ hổng hệ điều hành để giành quyền root hoặc administrator. Khi có quyền cao nhất, họ có thể kiểm soát toàn bộ hệ thống.
Đánh cắp dữ liệu
Thông qua webshell, hacker có thể truy cập:
- cơ sở dữ liệu website
- file cấu hình chứa mật khẩu
- thông tin khách hàng
- email hệ thống
Những dữ liệu này có thể bị bán trên dark web hoặc sử dụng cho các cuộc tấn công khác.
Tạo mạng botnet
Một số hacker sử dụng webshell để biến server thành một phần của mạng botnet nhằm thực hiện:
- tấn công DDoS
- spam email
- phát tán malware
Tấn công sang hệ thống khác
Nếu máy chủ bị nhiễm webshell nằm trong mạng nội bộ doanh nghiệp, hacker có thể sử dụng nó để tấn công sang các máy khác trong mạng.
Dấu hiệu website bị nhiễm Webshell
Một số dấu hiệu phổ biến giúp phát hiện webshell gồm:
- Xuất hiện file lạ trong thư mục website
- Server hoạt động chậm bất thường
- Log truy cập có nhiều request đáng ngờ
- Website tự động chuyển hướng sang trang lạ
- Xuất hiện tài khoản quản trị không rõ nguồn gốc
Nếu phát hiện các dấu hiệu này, quản trị viên cần kiểm tra hệ thống ngay lập tức.

Cách phát hiện Webshell trên website
Việc phát hiện webshell có thể thực hiện bằng nhiều phương pháp khác nhau.
Kiểm tra file hệ thống
So sánh mã nguồn hiện tại với bản gốc để phát hiện các file lạ hoặc file bị chỉnh sửa.
Phân tích log truy cập
Kiểm tra log của web server để tìm:
- request bất thường
- truy cập từ IP lạ
- request chứa lệnh hệ thống
- Sử dụng công cụ bảo mật
Một số công cụ có thể phát hiện webshell: ClamAV, Maldet (Linux Malware Detect), OSSEC, Wazuh. Những công cụ này giúp quét mã độc và cảnh báo khi phát hiện file đáng ngờ.
Phân biệt giữa Webshell và Backdoor
Trong lĩnh vực bảo mật website, webshell và backdoor đều là những công cụ mà hacker sử dụng để duy trì quyền truy cập trái phép vào hệ thống. Tuy nhiên, hai khái niệm này không hoàn toàn giống nhau. Webshell thực chất là một dạng cụ thể của backdoor, được thiết kế để hoạt động trong môi trường máy chủ web. Nói cách khác, mọi webshell đều có thể được xem là backdoor, nhưng không phải backdoor nào cũng là webshell.
Phạm vi và cách thức hoạt động
Backdoor là một khái niệm khá rộng trong an ninh mạng. Nó bao gồm mọi phương thức cho phép kẻ tấn công truy cập vào hệ thống mà không cần thông qua cơ chế xác thực thông thường. Backdoor có thể tồn tại ở nhiều cấp độ khác nhau như hệ điều hành, ứng dụng, mạng hoặc thậm chí firmware của thiết bị.
Ngược lại, webshell chỉ hoạt động trong phạm vi máy chủ web. Nó thường là một file script được viết bằng các ngôn ngữ phía server như PHP, ASP, JSP hoặc Python và được kích hoạt thông qua giao thức HTTP hoặc HTTPS. Khi hacker gửi một request phù hợp tới file này, server sẽ thực thi lệnh và trả về kết quả.
Một backdoor thông thường, chẳng hạn như Trojan hoặc malware hệ thống, có thể chạy như một tiến trình nền hoặc một dịch vụ mạng. Những chương trình này thường tự động lắng nghe kết nối từ hacker hoặc chủ động kết nối ra ngoài để nhận lệnh điều khiển. Trong khi đó, webshell mang tính thụ động hơn, chỉ hoạt động khi có yêu cầu truy cập cụ thể từ bên ngoài.
Vị trí cài đặt và môi trường tồn tại
Sự khác biệt tiếp theo nằm ở vị trí tồn tại trong hệ thống. Webshell luôn được đặt trong thư mục của website hoặc ứng dụng web trên máy chủ. Nó hoạt động như một phần của website và có thể được ngụy trang dưới dạng các file hợp lệ để tránh bị phát hiện. Backdoor thì linh hoạt hơn nhiều về vị trí. Chúng có thể xuất hiện dưới dạng:
- Một chương trình chạy trên hệ điều hành
- Một dịch vụ hệ thống chạy ngầm
- Một module độc hại trong ứng dụng
- Một tài khoản quản trị ẩn trong cơ sở dữ liệu
Nhờ sự đa dạng này, backdoor thường khó phát hiện hơn vì chúng có thể tồn tại ở nhiều lớp khác nhau của hệ thống.
Mức độ truy cập và quyền hạn
Trong phần lớn trường hợp, webshell sẽ chạy dưới quyền của tiến trình web server. Điều này đồng nghĩa với việc quyền truy cập ban đầu của hacker có thể bị hạn chế. Để kiểm soát toàn bộ hệ thống, kẻ tấn công thường phải tiếp tục khai thác các lỗ hổng khác nhằm leo thang đặc quyền lên mức root hoặc administrator.
Ngược lại, nhiều loại backdoor khác có thể được thiết kế để hoạt động trực tiếp với quyền cao ngay từ đầu. Ví dụ, một Trojan cài đặt dưới dạng dịch vụ hệ thống có thể chạy với quyền quản trị, cho phép hacker can thiệp sâu vào hệ điều hành mà không cần thực hiện thêm bước leo thang đặc quyền.
Mục đích sử dụng của Webshell và Backdoor
Mặc dù khác nhau về cách thức hoạt động, mục tiêu cuối cùng của cả webshell và backdoor đều giống nhau: tạo ra một “cửa hậu” bí mật để hacker duy trì quyền truy cập vào hệ thống trong thời gian dài.
Trong nhiều cuộc tấn công thực tế, kẻ tấn công thường triển khai webshell trước để kiểm soát website, sau đó cài thêm các backdoor khác ở cấp hệ thống. Cách kết hợp này giúp họ giữ quyền truy cập ngay cả khi webshell bị phát hiện và xóa bỏ.
> Đọc ngay: Crack là gì? Vì sao phần mềm crack tiềm ẩn nguy cơ mất dữ liệu và bảo mật
Cách khắc phục lỗi trang web không bảo mật, lỗi bảo mật khi vào website

Cách phòng chống Web Shell hiệu quả
Để bảo vệ hệ thống khỏi các cuộc tấn công webshell, quản trị viên nên áp dụng các biện pháp sau.
Cập nhật phần mềm thường xuyên
Luôn cập nhật: CMS, plugin, framework, hệ điều hành, web server. Các bản cập nhật giúp vá những lỗ hổng bảo mật có thể bị hacker khai thác.
Kiểm soát chức năng upload file
- Chỉ cho phép upload các định dạng an toàn như: jpg, png, pdf
- Không cho phép upload file script như: php, asp, jsp
Sử dụng tường lửa ứng dụng web (WAF)
WAF giúp phát hiện và chặn các cuộc tấn công phổ biến như:
- SQL Injection
- Remote Code Execution
- File Upload Attack
- Phân quyền truy cập chặt chẽ
Thực hiện nguyên tắc Least Privilege, nghĩa là mỗi tài khoản chỉ được cấp quyền tối thiểu cần thiết.
Sao lưu dữ liệu định kỳ
Backup giúp khôi phục hệ thống nhanh chóng nếu website bị tấn công.
Kết luận
Qua bài viết trên, bạn đã hiểu rõ Web shell là gì, cách hacker sử dụng webshell để tấn công máy chủ cũng như các phương pháp phát hiện và phòng chống hiệu quả. Đây là một trong những kỹ thuật tấn công phổ biến vào website, đặc biệt với các hệ thống chưa được cập nhật bảo mật hoặc cấu hình sai. Vì vậy, quản trị viên cần thường xuyên kiểm tra hệ thống, cập nhật phần mềm và triển khai các giải pháp bảo mật để giảm thiểu rủi ro.
Nếu bạn đang xây dựng website hoặc hệ thống trực tuyến, việc thiết kế và triển khai nền tảng web an toàn ngay từ đầu là rất quan trọng. Duy Anh Web– công ty thiết kế web chuyên nghiệp luôn chú trọng tối ưu bảo mật, hiệu suất và chuẩn SEO khi thiết kế website, giúp doanh nghiệp vận hành ổn định và hạn chế tối đa các rủi ro tấn công mạng.
📞 Liên hệ Duy Anh Web tư vấn thiết kế website chuyên nghiệp: 0925.099.999
