Trở về đầu

foto1 foto2 foto3 foto4 foto5
Nguyễn Tô Sơn - Giảng viên Đại học Sư phạm Hà Nội. SĐT: 091.333.2869

HỌC TIN CÙNG THỦ KHOA

Thành tích hôm nay, Thành công ngày mai !

Tìm kiếm

Ba thứ quan trọng nhất đối với một website là: host, database và domain.

Bạn cứ thử tưởng tượng, một ngày trở gió, server của bạn bị hỏng ổ cứng và không thể khôi phục lại dữ liệu. Như vậy, dữ liệu quý giá trong database và trên host tan tành mây khói. Mất database thì trang web còn lại chả có ý nghĩa gì.

Còn domain là cách cần thiết ngoài việc dễ nhớ thì còn chống việc dò tìm mật khẩu của database của những người dùng cùng hệ thống.

Chúng ta quay ngược lại vấn đề: Tại sao lại phải cấm hàm exec trong PHP? Nếu chúng ta đặt ngược vấn đề là: Nếu cho phép hàm exec trong PHP hoạt động thì sao?

Vậy thì sẽ thế này...

Khi một hacker bằng một cách nào đó chiếm được mật khẩu admin của trang web (ví dụ: Joomla). Sau đó, người này có thể xóa một phần dữ liệu của trang web. Nhưng đó chỉ là một việc làm dại dột. Bởi thông thường một hacker họ nghĩ là họ cần phải thâm nhập vào database của website, sau đó copy về máy của mình, rồi xóa toàn bộ thông tin trong máy chủ. Sau đó đòi tiền chuộc từ phía nạn nhân.

Và họ sẽ dùng quyền admin của Joomla đó để upload 1 module viết bằng PHP. Sau đó, họ là www-data. Họ dùng 2 lệnh sau:

- pwd để tìm đường dẫn đến thư mục hiện hành của website
- cat để show toàn bộ thông tin mật khẩu của database.

OK, giờ họ toàn quyền vào phpmyadmin để copy và xóa bỏ toàn bộ thông tin của database.

Chính vì vậy, hầu hết mọi website đều bị cấm quyền exec cho file PHP.

Giải pháp cho admin của website:

- Trong trường hợp bạn không phải là root, và website của bạn lại được phép thực thi lệnh exec cho file PHP thì bạn phải cấm quyền w các thư mục và tệp tin nhằm chống việc upload file PHP trái phép.

- Mỗi khi sử dụng quyền 777 để cài đặt một module thì phải hủy quyền này ngay lập tức. Nên để quyền là: rwx-----x cho thư mục.

Bản quyền thuộc về Nguyễn Tô Sơn, Đại học Sư phạm Hà Nội. Điện thoại: 091.333.2869