
Класс эксплойта на Python для CVE-2025-58360, XXE-уязвимости в функции GetMap сервера GeoServer, позволяющей читать произвольные файлы. Включает автоматическую эксплуатацию и эксфильтрацию данных.
Код и информация, содержащиеся в этом репозитории, предназначены только для образовательных и исследовательских целей. Владелец репозитория не несет никакой ответственности за любые действия, которые вы совершаете с кодом и/или информацией из этого репозитория. Ваши действия — это ваша ответственность. Пожалуйста, используйте это законно и ответственно.
Класс Python3 в файле exploit/exploiter.py (GeoDumper) автоматизирует эксплуатацию уязвимости XXE и сохраняет полученную информацию в локальный файл.
пример:
import exploit.exploiter as exploiter
target_ip = "localhost"
secure = False
geoserver_path = "geoserver"
dumper = exploiter.GeoDumper(target_ip=target_ip, geoserver_path=geoserver_path, is_secure=secure)
(data, filename) = dumper.dump_file(target_file)
print(f"[+] data saved to \"{filename}\"")
print(f"[+] Data:\n{data.decode("utf-8")}")
Данная уязвимость использует некорректную санитизацию XML-ввода в функцию GetMap, что позволяет злоумышленнику произвольное чтение файлов.
Более подробную информацию и лучшие пояснения/разборы уязвимости можно найти по ссылкам ниже.
примечание: я не обнаруживал уязвимость и не проводил никаких исследований, связанных с ней. Этот код и репозиторий были созданы во время выполнения соответствующей комнаты на TryHackMe.