MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/imunify360/venv/lib64/python3.11/site-packages/im360/plugins/resident/update_files.py
import logging

from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import MessageSink, expect
from im360 import files
from im360.plugins.sensor.generic import send_to_agent_socket

logger = logging.getLogger(__name__)


PHP_IMMUNITY_FILENAME = "/usr/share/i360-php-opts/autorules.yaml"


class UpdateFilesOnServerRequest(MessageSink):
    async def create_sink(self, loop):
        self._loop = loop

    @expect(MessageType.UpdateFiles, list_type=files.PHP_IMMUNITY)
    @expect(MessageType.UpdateFiles, list_type=files.PHP_IMMUNITY_V2)
    @expect(MessageType.UpdateFiles, list_type=files.PROACTIVE)
    @expect(MessageType.UpdateFiles, list_type=files.MODSEC)
    @expect(MessageType.UpdateFiles, list_type=files.IP_RECORD)
    async def process_update_request_force(self, message):
        logger.info(
            "%s files will be force updated on server request",
            message.list_type,
        )
        # the error has been logged in files.update already
        send_to_agent_socket(
            ["update"], params={"subj": message.list_type, "force": True}
        )