PHP là xương sống của hầu hết mọi CMS phổ biến hiện nay. Nhờ tính chất đơn giản và không có giấy phép, PHP là lựa chọn ưu tiên để phát triển các trang web động. Tuy nhiên, do các tiêu chuẩn mã hóa kém, việc xâm nhập các trang web PHP trở nên tương đối dễ dàng. Internet có rất nhiều chủ đề trợ giúp nơi người dùng phàn nàn về trang web PHP tùy chỉnh bị tấn công hoặc trang web PHP chuyển hướng vụ tấn công. Điều này đã dẫn đến nhiều dư luận tiêu cực cho chính PHP, điều này không có gì đáng chê trách về điều đó.
Vì vậy, nếu PHP không đáng trách, thì đâu là nguyên nhân gây ra hack chuyển hướng trang web PHP? Bài viết này giải thích các lỗ hổng bảo mật ảnh hưởng đến trang web PHP và cách tránh chúng.
Trang web PHP tùy chỉnh bị tấn công:Ví dụ
Hầu hết các chủ sở hữu trang web chỉ tập trung vào phần phát triển chứ không phải các khía cạnh bảo mật. Do đó, khi các trang web được xây dựng bằng PHP bị tấn công, chủ sở hữu trang web không có nơi nào để đi vì họ chỉ trả tiền cho các nhà phát triển để phát triển. Người dùng gặp khó khăn có thể tìm trợ giúp trong các diễn đàn trực tuyến và đọc các bài báo như thế này. Dưới đây là một số ví dụ như vậy.
Trang web PHP tùy chỉnh bị tấn công:Các triệu chứng
- Các trang lừa đảo xuất hiện trên trang web PHP của bạn, cố gắng lừa người dùng nhập thông tin nhạy cảm.
- Người dùng nhấp vào các liên kết nhất định trên trang web của bạn và kết thúc trên một tên miền khác. Điều này có thể là do định cấu hình sai hoặc bị hack chuyển hướng trang web PHP.
- Adblockers gắn thẻ và chặn một số yếu tố nhất định trên trang web của bạn để khai thác tiền điện tử.
- Các trình xử lý tệp PHP không xác định xuất hiện trên trang web và trang web PHP hiển thị quảng cáo độc hại.
- Các tệp PHP đã được sửa đổi với mã không xác định gây ra chuyển hướng hoặc tạo liên kết ngược cho các trang web câu cá.
- Nội dung vô nghĩa xuất hiện trên trang web PHP tùy chỉnh, có thể là do quá trình băm từ khóa hoặc hack dược phẩm của Nhật Bản, v.v.
- Thông báo cảnh báo tạm ngưng tài khoản xuất hiện khi sử dụng dịch vụ lưu trữ của bên thứ ba cho các trang PHP tùy chỉnh.
- Trang web PHP tùy chỉnh hiển thị các thông báo cảnh báo về việc bị Google và các công cụ tìm kiếm khác đưa vào danh sách đen vì spam phần mềm độc hại, v.v.
- phpMyAdmin hiển thị các quản trị viên cơ sở dữ liệu mới và không xác định.
- Email được gửi từ miền trang web PHP của bạn đã bị gắn thẻ là spam.
- Thông báo lỗi trang web không mong muốn và trang web PHP trở nên chậm và không phản hồi.
Trang web PHP tùy chỉnh bị tấn công:13 lý do tại sao
Lỗi cấu hình máy chủ
1. Quyền đối với tệp thấp
Quyền đối với tệp cấp quyền chỉnh sửa của một tệp PHP cụ thể cho một kiểu người dùng nhất định. Do đó, nếu quyền của tệp PHP không được đặt đúng cách, nó có thể cho phép kẻ tấn công đưa tệp PHP của bạn vào spam phần mềm độc hại, v.v.
2. Mật khẩu mặc định
Sử dụng mật khẩu yếu hoặc được sử dụng phổ biến là lý do phổ biến để hack các trang web PHP tùy chỉnh. Một từ điển tùy chỉnh có thể được sử dụng để thử tất cả các kết hợp mật khẩu có thể có. Sau khi bị xâm phạm, tùy thuộc vào vectơ tấn công, tức là FTP brute force hoặc brute force cPanel; kẻ tấn công có thể truy cập vào khu vực quản trị của một trang PHP tùy chỉnh. Sau đó, kẻ tấn công có thể tải xuống phần mềm độc hại PHP hoặc một cửa hậu.
Bài viết liên quan - Làm thế nào để loại bỏ Backdoor của WordPress?
3. Đã bật lập chỉ mục thư mục
Cho phép lập chỉ mục thư mục có thể cho phép kẻ tấn công đọc các tệp PHP nhạy cảm. Điều này có thể tiết lộ thông tin máy chủ nhạy cảm cho những kẻ tấn công. Những kẻ tấn công có thể sử dụng thông tin này để thực hiện các cuộc tấn công mạng trên trang web PHP tùy chỉnh của bạn.
4. Mở các cổng
Các cổng mở có thể khiến một trang web PHP tùy chỉnh bị tấn công. Ngoài ra, những kẻ tấn công có thể sử dụng các cổng mở để mạo danh các dịch vụ phụ trợ của trang web PHP của bạn. Sử dụng thông tin này, kẻ tấn công có thể xâm phạm các dịch vụ cốt lõi hoặc tự mở các cổng bằng cách sử dụng khai thác.
5. Chỗ ở tồi tàn
Nói chung, lưu trữ PHP giá rẻ đi kèm với giá cao về bảo mật. Lưu trữ kém đã làm giảm các hoạt động bảo mật để làm cho dịch vụ rẻ hơn. Vì vậy, một khi sự lây nhiễm bắt đầu lây lan trên các máy chủ này, nó có thể xâm phạm nhiều trang web, bao gồm cả trang web PHP của bạn, mặc dù nó không được nhắm mục tiêu trực tiếp.
Mã PHP dễ bị tổn thương
6. PHP SQL Injection
Việc chèn SQL trong PHP chủ yếu là do thiếu đầu vào của người dùng chưa được kiểm soát. Do tiêu chuẩn mã hóa kém, mục nhập chưa được bảo vệ đã đến trực tiếp máy chủ cơ sở dữ liệu và được thực thi. Một số nguyên nhân chính của SQLi trong các trang PHP tùy chỉnh là:
- Thiếu bộ lọc cho các ký tự khoảng trắng.
- Sử dụng dấu ngoặc kép để phân tách các chuỗi.
- Chuyển dữ liệu nhập của người dùng trái phép vào cơ sở dữ liệu.
- Việc triển khai mã hóa Unicode không chính xác.
- Trộn mã với dữ liệu.
- Thao tác kiểu không hợp lệ.
7. PHP Cross-Site Scripting
XSS là một nguyên nhân phổ biến khác khiến các trang PHP tùy chỉnh bị tấn công sau khi đưa vào SQL. Cả hai cuộc tấn công này đều phổ biến trên web đến nỗi chúng xuất hiện trong top 10 của OWASP hàng năm. XSS cũng là do thiếu thông tin đầu vào của người dùng. Trong các trang web PHP và nói chung, các cuộc tấn công XSS chủ yếu có ba loại:
- XSS được lưu trữ: loại XSS này dựa vào quản trị viên web để nhấp vào một liên kết cụ thể, sau đó tải một tập lệnh độc hại để lấy cắp cookie.
- XSS được phản ánh: đó là XSS khá nghiêm túc và thường có thể được tìm thấy trong các trang web PHP với các diễn đàn, thảo luận, v.v. Mã độc hại thuộc loại XSS này được lưu trữ trên máy chủ và được thực thi mỗi khi người dùng truy cập trang PHP này.
- DOM dựa trên XSS: Loại XSS này có thể là một trong hai loại trên. Tuy nhiên, việc phát hiện loại XSS này khá khó khăn và thậm chí có thể thoát ra sau khi kiểm tra mã.
Các trang web dễ bị tấn công bởi XSS thường được nhắm mục tiêu để tấn công chuyển hướng trang web PHP hoặc đánh cắp cookie quản trị viên.
8. Giả mạo yêu cầu trang web chéo PHP
Các cuộc tấn công CSRF nhằm đánh lừa người dùng trang PHP thực hiện các hành động không mong muốn. Nếu các trang PHP tùy chỉnh của bạn cho phép đăng ký, CSRF có thể cho phép người dùng xóa các tài khoản ngẫu nhiên hoặc thực hiện các hành động khác. Mặc dù những tác động của các hành động không được nhìn thấy trực tiếp đối với kẻ tấn công, nhưng CSRF có thể xóa người dùng khỏi các trang web PHP, làm giảm lưu lượng truy cập trang web.
9. Bao gồm các tệp PHP cục bộ
Lỗ hổng bao gồm tệp xảy ra khi kẻ tấn công có thể truy cập tệp bên ngoài thư mục gốc ” www “. Thủ phạm chính của lỗ hổng này là các tập lệnh được mã hóa kém lấy tên tệp làm tham số. Lỗ hổng này cho phép kẻ tấn công đọc các tệp cấu hình và mật khẩu nhạy cảm từ trang PHP tùy chỉnh của bạn. Những kẻ tấn công có thể sử dụng thông tin thu được từ các tệp này để đăng nhập bằng quyền quản trị viên, dẫn đến một trang web PHP bị tấn công.
Lỗi Zero-Day trong PHP
10. Các plugin hoặc chủ đề lỗi
Các plugin hoặc chủ đề PHP được mã hóa kém là các lỗ hổng bảo mật nằm ngay trên máy chủ của bạn, chờ được khai thác. Đã có trường hợp những kẻ tấn công nhắm mục tiêu cụ thể vào các plugin có lỗi để thực hiện các cuộc tấn công hàng loạt vào các trang web PHP. Nếu trang web PHP của bạn bị tấn công, có thể đó là một plugin hoặc chủ đề được mã hóa kém.
11. Gói PHP thỏa hiệp
Cũng có thể là các thư viện và gói PHP dễ bị tấn công. Điều tương tự cũng có thể xảy ra với bất kỳ ngôn ngữ nào khác. Gần đây, trình quản lý gói PHP PEAR đã bị xâm nhập bởi những kẻ tấn công. Những kẻ tấn công đã thay thế bản gốc bằng mã được chèn vào của chúng đã được tải lên bởi những người dùng không nghi ngờ. Gói này sau đó được họ sử dụng trên các trang web của họ để tìm kiếm và tải xuống các thư viện miễn phí được viết bằng ngôn ngữ lập trình PHP. Mặc dù những trường hợp như vậy rất hiếm, nhưng không thể bỏ qua khả năng một trang web PHP tùy chỉnh bị tấn công do lỗi zero-day.
Tấn công mạng xã hội
12. Lừa đảo
Quản trị viên trang web PHP tùy chỉnh của bạn gần đây có nhận được thư từ hoàng tử Nigeria không ?. Các cuộc tấn công như thế này được thiết kế để lừa quản trị viên web tiết lộ thông tin trang web PHP nhạy cảm dẫn đến một trang web PHP bị tấn công. Do đó, để giữ an toàn khỏi việc lọc email lừa đảo đến miền trang web PHP!
13. Điều chỉnh
Điều chỉnh chỉ là một biến thể khác của các cuộc tấn công lừa đảo. Trong cuộc tấn công này, kẻ tấn công đầu tiên xâm nhập tài khoản người dùng cấp thấp và sau đó sử dụng nó để nâng cao đặc quyền. Các nhà nghiên cứu của chúng tôi đã quan sát thấy việc điều chỉnh theo dõi trong một trong những nghiên cứu điển hình và thường được sử dụng để tránh bị phát hiện. Hậu quả của việc điều chỉnh có thể bao gồm từ đánh cắp thông tin đến một trang web PHP bị tấn công.
Trang web PHP tùy chỉnh bị tấn công? Gửi tin nhắn cho chúng tôi trên tiện ích trò chuyện và chúng tôi sẽ sẵn lòng giúp bạn sửa trang web PHP bị tấn công.
Trang web PHP tùy chỉnh bị tấn công:Bảo mật trang web
Đặt quyền chính xác
PHP có ba chức năng sau để kiểm tra quyền đối với tệp:
- is_readable (): Hàm này trả về một boolean true nếu người dùng được phép đọc tệp PHP.
- is_wworthy (): Hàm này trả về một boolean true nếu người dùng được phép ghi vào tệp PHP.
- is_executable (): Hàm này trả về một boolean true nếu người dùng được phép thực thi một tệp PHP.
Tương tự, hàm chmod () của PHP có thể được sử dụng để thay đổi quyền đối với tệp. Chỉ cần nhập tên của một tệp có quyền. tức là "chmod ($ RandomFile, 0644);". Trong hình ảnh bên dưới, bạn sẽ tìm thấy danh sách đầy đủ các quyền đối với tệp và những gì chúng thực hiện. Ngoài ra, hãy nhớ thêm "0" trước quyền tệp để thông báo cho trình thông dịch PHP rằng đầu vào là hệ bát phân.
Đặt mật khẩu an toàn
Đảm bảo mật khẩu cho trang PHP tùy chỉnh của bạn được bảo mật. Làm cho nó kết hợp tốt giữa các con số, bảng chữ cái và ký hiệu. Ngoài ra, trước khi đặt mật khẩu, bạn nên duyệt qua các từ điển mật khẩu phổ biến như Rockyou.txt và kiểm tra xem mật khẩu bạn đang đặt có ở đó không. Trong trường hợp người dùng Linux, lệnh Grep có thể hữu ích để tìm kiếm thông qua các tệp lớn như vậy. Chỉ cần tìm kiếm, grep -i '* YourNewpass *' rockou.txt. Ngoài ra, để tránh phải tạo mật khẩu mới, các công cụ trực tuyến khác cũng có thể được sử dụng để lấy mật khẩu an toàn, dài và ngẫu nhiên.
Tắt lập chỉ mục thư mục
Để tắt lập chỉ mục trong một thư mục cụ thể, hãy thêm mã sau vào tệp .htaccess của nó (trong trường hợp không có .htaccess, hãy tạo một mã):
Tùy chọn -Chỉ số
Sử dụng dịch vụ lưu trữ an toàn
Nói chung, trong khi tìm kiếm dịch vụ lưu trữ, hãy đảm bảo rằng dịch vụ đó cung cấp tường lửa hoặc giải pháp bảo mật giống như Astra làm với các đối tác lưu trữ tích hợp của mình. Ngoài ra, hãy đảm bảo rằng mạng con cách ly trang web của bạn với các trang web khác đang chạy trên cùng một máy chủ.
Kiểm tra mã PHP
Khi trang web PHP tùy chỉnh đã được tạo, việc xây dựng một trang khác từ đầu sẽ không khả thi về mặt kinh tế. Do đó, kiểm tra mã là cách tốt nhất để phát hiện các lỗ hổng trang web PHP trước những kẻ tấn công. Astra có một cộng đồng tin tặc lớn để kiểm tra và kiểm tra tính bảo mật của trang web của bạn. Không chỉ để kiểm tra mã mà Astra còn có thể giúp dọn dẹp nếu một trang web PHP bị tấn công.
Demo Astra ngay bây giờ!