Home avatar

p0l1st

L3HCTF2025 TellMeWhy

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

img

并且/baby/why路由可以反序列化

存在反序列化黑名单

img

  • 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去跑一下