专业、仅限授权的扫描器,用于验证 FortiGate 在用户注销后是否作废了会话 Cookie。 阳性结果确认 CVE-2024-50562——一种会话过期不充分缺陷(CWE-613),允许攻击者重放被盗取的 Cookie,甚至在用户明确注销后仍能重新登录。
官方公告: https://fortiguard.com/psirt/FG-IR-24-339
“FortiOS SSL-VPN 中存在一个会话过期不充分漏洞 [CWE-613],攻击者若持有用于登录 SSL-VPN 门户的 Cookie,即使会话已过期或被注销,仍可重新登录。” — Fortinet PSIRT
| IR 编号 | FG-IR-24-339 |
| 发布时间 | 2025 年 6 月 10 日 |
| 组件 | SSL-VPN |
| 严重级别 | 中危 |
| CVSS v3 | 4.4 |
| 影响 | 访问控制不当 |
| CWE | 613(会话过期不充分) |
| CVE | CVE-2024-50562 |
| 受影响模式 | Web/门户模式 — 隧道模式不受影响 |
Fortinet 感谢以下人员:
| 日期 | 事件 |
|---|---|
| 2025-06-10 | 初始公开公告(FG-IR-24-339) |
/remote/logincheck,使用测试凭据。SVPNCOOKIE、SVPNTMPCOOKIE)。/remote/logout。/sslvpn/portal.html。/remote/login → 已作废 → 已修复控制台输出同时镜像至CSV用于报告。
# 克隆仓库
git clone https://github.com/Shahid-BugB/fortinet-cve-2024-50562.git
cd fortinet-cve-2024-50562
# 安装依赖
pip install requests # 仅需要的第三方库
# 创建目标文件
cat > targets.txt <<'EOF'
192.168.2.3:4433
192.168.2.44:4433
# 默认端口示例
192.168.2.44
EOF
# 运行扫描
python3 fortinet-cve-2024-50562-new.py \
-f targets.txt \
-u alice \
-p 'alice@!123'
usage: fortinet-cve-2024-50562-new.py [-h] -u USERNAME -p PASSWORD
[-r REALM]
[-t HOST[:PORT]] [-f FILE]
[-o OUTPUT]
/remote/login 及 /sslvpn/portal.html 访问。本工具仅用于授权的安全评估。 在未获书面许可的情况下对系统运行本工具可能违反当地法律(例如 IT Act 2000、CFAA)及组织政策。 作者对任何滥用行为不承担任何责任。
热烈欢迎拉取请求与提交 Issue!
| 产品/分支 | 受影响版本 | 首个修复版本 |
|---|
| FortiOS 7.6 | 7.6.0 | 7.6.1 |
| FortiOS 7.4 | 7.4.0 – 7.4.7 | 7.4.8 |
| FortiOS 7.2 | 7.2.0 – 7.2.10 | 7.2.11 |
| FortiOS 7.0 | 全部 | 迁移至已修复分支 |
| FortiOS 6.4 | 全部 | 迁移至已修复分支 |
| FortiSASE 24.4 | 24.4.b | 24.4.c(自动修复) |
| 参数 | 用途 | 示例 |
|---|
-u, --username | VPN 用户名 (必需) | -u audit |
-p, --password | VPN 密码 (必需) | -p 'Pa$$w0rd!' |
-r, --realm | 领域/认证域(可选) | -r employees |
-t, --target | 单个 host[:port](可重复)。默认 443。 | -t 192.168.2.24:8443 |
-f, --file | 文件,每行一个 host[:port](忽略空行及 # 注释)。 | -f targets.txt |
-o, --output | CSV 路径(默认为 fortinet_reuse_results.csv)。 | -o scan.csv |
| 列名 | 描述 |
|---|
ip, port | 目标网关 |
login_success | 凭据有效时为 True |
vulnerability_status | REUSED = 存在漏洞 • INVALIDATED = 安全 • auth-failed = 凭据错误/需要多因素认证 |
cookies_* | JSON 编码的 Cookie 字典(取证用) |
summary | 状态的副本,便于快速过滤 |