Revive Adserver 5.5.2反射型XSS漏洞深度剖析

本文详细分析了Revive Adserver 5.5.2中存在的反射型跨站脚本漏洞,包括漏洞成因、攻击原理、影响范围及修复方案。通过具体代码示例展示攻击向量,帮助开发者理解并防范此类安全风险。

Revive Adserver反射型跨站脚本漏洞分析报告

漏洞概述

在Revive Adserver 5.5.2版本中发现了一个反射型跨站脚本(XSS)漏洞,该漏洞存在于admin-search.php文件中,攻击者可通过compact参数注入恶意JavaScript代码。

漏洞详情

漏洞位置

漏洞位于lib/templates/admin/layout/search.html模板文件:

1
<input type='hidden' name='compact' value='{$compact}'>

漏洞成因

在www/admin/admin-search.php文件中,compact参数未经充分消毒就直接传递给模板:

1
2
3
4
5
6
7
phpAds_registerGlobalUnslashed('keyword', 'client', 'campaign', 'banner', 'zone', 'affiliate', 'compact');
...
if (!isset($compact)) {
    $compact = false;
}
...
$oTpl->assign('compact', $compact);

攻击验证

攻击者可通过构造恶意URL实施攻击:

1
http://target-ip/www/admin/admin-search.php?affiliate=1&banner=1&campaign=1&client=1&compact=1'><script>alert(document.cookie)</script>&keyword=1&zone=1

影响分析

该漏洞可能造成以下严重后果:

  • 窃取敏感信息(如会话cookie)
  • 以受害者身份执行操作
  • 重定向用户至恶意网站
  • 篡改应用程序界面

修复方案

开发团队提供了修复补丁,确保$compact变量始终为布尔值而非直接从用户输入获取的字符串。该修复将包含在下一个主要版本发布中。

时间线

  • 2025年4月14日:漏洞报告提交
  • 2025年4月14日:漏洞确认并进入处理流程
  • 2025年5月28日:漏洞标记为已修复
  • 2025年7月3日:分配CVE-2025-27208编号
  • 2025年10月22日:漏洞公开披露

补充说明

尽管在较新版本的Revive Adserver中管理员会话cookie设置了httpOnly属性无法被窃取,但攻击者仍可通过XHR请求模拟敏感操作,如添加管理员用户等。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计