跳转至
#java  #java安全  #反序列化 
本文阅读量 

反序列化篇2#

URLDNS#

整条链的调用逻辑为:

HashMap.readObject() 
    HashMap.hash()
         URL.hashCode()  
             URLStreamHandler.hashCode()
                 URLStreamHandler.getHostAddress()
                     InetAddress.getByName()

要构造这个Gadget,只需要初始化⼀一个 java.net.URL对象,作为key放在java.util.HashMap 中;然后,设置这个URL对象的hashCode为初始值-1 ,这样反序列列化时将会重新计算 其hashCode ,才能触发到后⾯面的DNS请求,否则不不会调⽤用 URL->hashCode()。

回到页面顶部