L3HCTF2025 TellMeWhy
使用了solon框架,存在fastjson2依赖

并且/baby/why路由可以反序列化
存在反序列化黑名单

- javax.management.BadAttributeValueExpException
- javax.swing.event.EventListenerList
- javax.swing.UIDefaults$TextAndMnemonicHashMap
目的是想要过滤可以触发JsonArray.toString的链子,常见的可以触发toString方法的链子如下:
- XString
Hashmap#readobject -->
XString#equals -->
JSONArray.toString- HotSwappableTargetSource
HashMap#readObject ->
HotSwappableTargetSource#equals ->
XString#equals ->
JSONArray.toString- BadAttributeValueExpException
BadAttributeValueExpException#readObject -->
JSONArray#toString- EventListenerList
EventListenerList#readobject -->
UndoManager#toString -->
Vector#toString -->
JSONArray#toString- TextAndMnemonicHashMap
hashmap#readObject-->
HashMap#putVal-->
AbstractMap#equals-->
TextAndMnemonicHashMap#get-->
JSONArray#toString那么在这里我们可以利用XString去触发JsonArray.toString
或者可以用tabby去跑一下
