菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。
复现
剖析
在coherence包中 com.tangosol.io.ExternalizableLite
存在反序列化接口
其借助com.tangosol.io.ExternalizableLite
实现序列化反序列化逻辑
在ExternalizableLite中有readObjcet()
readObjectInternal()会凭据nType进入差别的反序列化函数
其中nType在writeObject中由getStreamFormat()决议。
代码如下
public static int getStreamFormat(Object o) { return o == null ? 0 : (o instanceof String ? 6 : (o instanceof Number ? (o instanceof Integer ? 1 : (o instanceof Long ? 2 : (o instanceof Double ? 3 : (o instanceof BigInteger ? 4 : (o instanceof BigDecimal ? 5 : (o instanceof Float ? 14 : (o instanceof Short ? 15 : (o instanceof Byte ? 16 : 11)))))))) : (o instanceof byte[] ? 8 : (o instanceof ReadBuffer ? 7 : (o instanceof XmlBean ? 12 : (o instanceof ExternalizableHelper.IntDecoratedObject ? 13 : (o instanceof ExternalizableLite ? 10 : (o instanceof Boolean ? 17 : (o instanceof Serializable ? 11 : (o instanceof Optional ? 22 : (o instanceof OptionalInt ? 23 : (o instanceof OptionalLong ? 24 : (o instanceof OptionalDouble ? 25 : (o instanceof XmlSerializable ? 9 : 255)))))))))))))); }
10对应的是实现了ExternalizableLite接口的类。继续跟进readExternalizableLite(),其使用loadClass举行加载类,不受weblogic黑名单限制。
那么现在就可以挪用黑名单类中的 readExternal 方式,作者使用的是之前破绽中使用过的com.tangosol.coherence.rest.util.extractor.MvelExtractor
,它实现了ExternalizableLite接口。
在其MvelExtractor的readExternal()中举行了m_sExpr表达式赋值,而m_sExpr是可控的。
那么只需要触发extract方式就行了。
现在就在于若何触发extract方式。找到com.tangosol.util.aggregator.TopNAggregator.PartialResult
类,在他的readExternal()中
会自动触发this.instantiateInternalMap(this.m_comparator)
这里返回一个map,而其中的comparator可控为我们的MvelExtractor。转头再看上图for循环中的this.add(ExternalizableHelper.readObject(in))
,菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。
add()方式
跟进 super.add(value) com.tangosol.util.SortedBag,add
从自身拿到一个map
然后举行map.put,跟进java.util.TreeMap,put
然后
这里进入到MvelExtractor父类的com.tangosol.util.extractor.AbstractExtractor,compare
方式,挪用了extract方式。
然后就成了,然则另有个问题,com.tangosol.util.aggregator.TopNAggregator.PartialResult
类并没有实现ExternalizableLite接口,因此readExternal在反序列化时不会被触发,以是需要寻找一个实现了Externalizable接口的类,并能挪用ExternalizableHelper.readObject方式。
找到com.tangosol.coherence.servlet.AttributeHolder,readExternal(java.io.DataInput)
在其readExternal挪用了ExternalizableHelper.readObject,可以触发PartialResult的readExternal。
客栈
EXP
见我的GitHub
思索
在com.tangosol.util.ExternalizableHelper,readObjectInternal中nType有多种类型
其他的case应该也有破绽吧
参考
- https://mp.weixin.qq.com/s/E-4wjbKD-iSi0CEMegVmZQ
网友评论
6条评论联博API接口
回复环球UG官网欢迎进入环球UG官网(UG环球),环球UG官方网站:www.ugbet.us开放环球UG网址访问、环球UG会员注册、环球UG代理申请、环球UG电脑客户端、环球UG手机版下载等业务。又一力作!
USDT钱包(www.usdt8.vip)
回复@联博API接口
USDT交易平台
感觉很OK,继续看
usdt币在哪里交易(www.usdt8.vip)
回复@USDT钱包(www.usdt8.vip) 欢迎进入欧博手机版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。挺优秀的一个作者
USDTOTCAPI接口(www.usdt8.vip)
回复皇冠足球app(www.hg9988.vip)
回复@USDTOTCAPI接口(www.usdt8.vip) 集会要求,各地各部门要紧盯节令食物、节日热销食物,农村“坝坝宴”、旅游景点、“三小”行业、农贸市场、网络餐饮、冷链食物,采购、流通、加工、销售等关键环节,加大监视检查和处罚曝光力度。要严厉打击无证谋划和销售、使用假劣药品、医疗器械等违法违规行为。要连续增壮大型游乐设施、电梯、锅炉、压力容器、索道、观光车等特种设备羁系,督促使用单元切实落实主体责任。要抢抓重大战略时机,加大向上汇报争取力度,科学体例市场羁系领域“十四五”知识产权、市场羁系现代化、药品平安及高质量生长等计划。看完了,还有推荐吗
新2会员网址(www.hg9988.vip)
回复想穿越进去