前言
URLDNS链其实就是DNSlog。可以用来判断目标是否出网或者漏洞是否利用成功。这个利用链适合刚入门反序列化的新手分析。
URLDNS链是HashMap对象的反序列化过程,即通过HashMap的readObject方法来实现的链条。
最后payload代码会在文末放出。
环境
- Jdk1.7
分析
那么我们首先找到HashMap的readObject方法。
在readObject
方法中调用了hash
方法,并传入参数key。
跟踪hash
方法,在hash
方法中发现调用了key的hashcode
方法
这里的key就是HashMap对象的键,这里就可以思考一个问题了,当反序列化的时候(即调用readObject的时候),调用了键的hashCode方法,hashCode方法是Object类的一个方法,那我们可以找一个重写过hashCode方法的类,然后实例化这个类的对象,