Trình quét vi-rút PHP

Trong lịch sử, mô-đun php-clamav đã được sử dụng cho việc này. Tuy nhiên hiện tại nó không hỗ trợ PHP 7. x. Bây giờ PHP 7. x đã bắt đầu được sử dụng trong môi trường sản xuất, chúng tôi không muốn xây dựng trên bất kỳ thứ gì không tương thích với các phiên bản mới nên đã quyết định loại bỏ mô-đun này. Một số tìm kiếm trên Google dẫn đến một số tùy chọn khác không tương thích ngay lập tức với CodeIgniter hoặc nhà soạn nhạc bắt buộc và tất cả những thứ nhạc jazz đó. Bất kỳ ai biết chúng tôi đều biết chúng tôi cảm thấy thế nào khi kéo theo hàng đống phụ thuộc cho các nhiệm vụ đơn giản

Vì vậy, tôi bắt đầu tạo đúng thứ chúng tôi cần, một thư viện đơn giản để quét các tệp từ PHP bằng ClamAV. Lớp này có thể được sử dụng dưới dạng thả xuống trong thư viện CodeIgniter hoặc lớp độc lập trong bất kỳ mã PHP nào. Thư viện có tên là php-clamav-scan và có thể tải xuống từ tài khoản GitHub của chúng tôi. https. //github. com/kissit/php-clamav-scan

Yêu cầu

Sự phụ thuộc duy nhất để sử dụng lớp này là mô-đun/tiện ích mở rộng PHP Sockets cần được cài đặt. Điều này đã được bao gồm trong hầu hết các bản cài đặt hoặc có sẵn để cài đặt dễ dàng thông qua trình quản lý gói hệ thống

Hơn nữa, Clamd phải được cấu hình với các kết nối ổ cắm được kích hoạt

Định cấu hình ổ cắm Clad

Trước tiên, thư viện này hiện chỉ hoạt động nếu Clamd được cài đặt trên cùng một máy chủ với ứng dụng PHP và đã bật tệp ổ cắm của nó. Đây thường là cấu hình mặc định cho ClamAV. Vì đây là tất cả những gì chúng tôi cần vào thời điểm đó nên chúng tôi không bao gồm chức năng kết nối với Clamd qua mạng mặc dù điều này có thể dễ dàng được thêm vào. Chúng tôi rất vui khi làm như vậy nếu có ai cần điều này, chỉ cần cho chúng tôi biết tại đây

Để bật [hoặc thay đổi] giao tiếp của ổ cắm trong clash, chỉ cần chỉnh sửa clad của bạn. conf để bật tùy chọn LocalSocket. Đây là đường dẫn ổ cắm mặc định mà thư viện sử dụng. Hãy chắc chắn khởi động lại clash nếu thay đổi được thực hiện

# Path to a local socket file the daemon will listen on.
LocalSocket /var/run/clamav/clamd.sock

Sử dụng lớp trong PHP độc lập

Đầu tiên, tải lớp về vị trí mong muốn của bạn. Ví dụ

wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php

Sau đó, yêu cầu/bao gồm nó khi cần thiết

require 'Clamav.php';

Sau đó, chỉ cần khởi tạo một thể hiện của nó. Nếu đường dẫn ổ cắm của bạn khác, bạn có thể chuyển nó vào dưới dạng tùy chọn. Đường dẫn socket mặc định là /var/run/clamav/clamd. bít tất

$clamav = new Clamav[];
- OR -
$clamav = new Clamav[array['clamd_sock' => '/path/to/clamd.sock']];

Cuối cùng, chạy quét từng tệp khi cần

if[$clamav->scan["/path/to/file/to/scan.txt"]] {
    echo "YAY, file is safe!";
} else {
    echo "BOO, file is a virus!";
}

Sử dụng lớp làm thư viện CodeIgniter

Bất kỳ ai quen thuộc với CodeIgniter đều biết rằng cấu trúc của họ có các yêu cầu cụ thể để sử dụng thư viện tùy chỉnh. Lớp này tương thích với CodeIgniter

Đầu tiên, tải lớp về thư mục ứng dụng/thư viện của bạn. Ví dụ

$ wget -O application/libraries/ //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php

Tải thư viện nơi mong muốn. Nếu đường dẫn ổ cắm của bạn khác, bạn có thể chuyển nó vào dưới dạng tùy chọn. Đường dẫn socket mặc định là /var/run/clamav/clamd. bít tất

$this->load->library['clamav'];
- OR -
$this->load->library['clamav', array['clamd_sock' => '/path/to/clamd.sock']];

Cuối cùng, chạy quét từng tệp khi cần

if[$this->clamav->scan["/path/to/file/to/scan.txt"]] {
    echo "YAY, file is safe!";
} else {
    echo "BOO, file is a virus!";
}

Sự kết luận

Tóm lại, tôi hy vọng ai đó thấy thư viện này hữu ích. Như đã đề cập ở trên, nếu ai đó cần quét các tệp trên mạng, thì việc thêm sẽ rất đơn giản và chúng tôi rất sẵn lòng làm như vậy nếu được yêu cầu, vì vậy vui lòng liên hệ với chúng tôi nếu có bất kỳ câu hỏi hoặc thắc mắc nào về bài đăng này

Duyệt qua các thư mục cho các tệp có phần mở rộng php và kiểm tra tệp theo quy tắc văn bản hoặc biểu thức chính quy, quy tắc dựa trên các mẫu tự thu thập và phần mềm độc hại/vỏ web có sẵn công khai. Mục đích là tìm ra các file bị nhiễm virus và chống lại bọn trẻ con, vì quá dễ lách luật

Nhật ký thay đổi v1. 0. 23

  • Mẫu kịch bản cửa hậu

Tải xuống

bản sao git https. //github. com/scr34m/php-máy quét phần mềm độc hại. git

Sử dụng

Đối số bỏ qua có thể được sử dụng nhiều lần và chấp nhận kết hợp kiểu toàn cục cũ. “bộ đệm*”, “??-bộ đệm. php” hoặc “/cache”, v.v.

Đối số mở rộng mặc định là “.php” và cũng có thể được sử dụng nhiều lần

  • --base64 là một chế độ quét thay thế bỏ qua các tệp mẫu chính và sử dụng một danh sách lớn các từ khóa và hàm php đã được chuyển đổi thành base64. Chậm hơn và dễ bị sai, nhưng cung cấp thêm phạm vi quét base64. Các tệp mẫu này được đặt trong base64_patterns và được lấy từ các từ khóa và hàm php 7. Không có nhiều phần mở rộng PHP được bao gồm
  • Cờ
    wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    0 sẽ hiển thị nhận xét cuối cùng xuất hiện trong tệp mẫu trước mẫu phù hợp, vì vậy việc ghi lại các tệp mẫu là rất quan trọng

định dạng đầu ra

Đầu ra mặc định tùy thuộc vào các tham số đã chỉ định, nhưng định dạng đầy đủ là “%S %T %M # {%F} %C %P # %L” và cũng sử dụng màu ANSI

Các biến có thể là

  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    1 – chỉ báo phù hợp, các giá trị có thể là OK, ER, WL
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    2 – thời gian thay đổi tệp
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    3 – giá trị băm tệp md5
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    4 – tệp có đường dẫn
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    5 – mẫu
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    6 – nhận xét mẫu
  • wget //raw.githubusercontent.com/kissit/php-clamav-scan/master/Clamav.php
    7 – số dòng mẫu phù hợp

hoa văn

Có ba tệp mẫu chính bao gồm các loại khớp mẫu khác nhau. Có một mẫu trên mỗi dòng. Tất cả các dòng có ký tự đầu tiên là “--base640” được coi là một nhận xét và không được sử dụng làm mẫu. Khoảng trắng trong tệp mẫu không được sử dụng

Làm cách nào để quét phần mềm độc hại trong PHP?

PHP Antimalware Scanner là một công cụ miễn phí để quét các tệp PHP và phân tích dự án của bạn để tìm bất kỳ mã độc nào bên trong nó. Nó cung cấp giao diện bảng điều khiển đầu cuối văn bản tương tác để quét một tệp hoặc tất cả các tệp trong một thư mục nhất định và tìm các tệp mã PHP dường như chứa mã độc.

Tệp PHP có thể là vi-rút không?

Những việc mà virus PHP thường làm là. Sử dụng máy chủ của bạn để gửi thư rác . Sử dụng máy chủ của bạn để vũ phu các máy chủ khác. Sử dụng tài nguyên máy chủ của bạn để tham gia giàn khoan của riêng họ và khai thác tiền điện tử.

Vi rút PHP có miễn phí không?

Thật không may, Php là phần mềm tống tiền không thể mã hóa và không có công cụ nào có khả năng bẻ khóa thuật toán RSA và khôi phục dữ liệu miễn phí. Do đó, bạn chỉ có thể khôi phục mọi thứ từ bản sao lưu, nếu bản sao lưu đã được tạo.

Làm cách nào để quét mã PHP?

Để triển khai quét tài liệu trong ứng dụng web PHP của mình, bạn có thể sử dụng SDK quét HTML5/JavaScript như Dynamic Web TWAIN để tương tác với máy quét TWAIN được gắn vào máy khách.

Chủ Đề