本文详细介绍了Java安全中的URLDNS反序列化链的原理和应用
URLDNS 简介
URLDNS 是 ysoserial 中一个利用链的名字,但准确来说,这个其实不能称作利用链。因为其参数不是⼀个可以利用的命令,而仅为⼀个 URL,其能触发的结果也不是命令执行,而是⼀次 DNS 请求,该 Payload 的目的只有一个,就是确定目标系统上是否存在可控的readObject()方法,即是否存在 Java 反序列化漏洞,该链具有以下的特点:
- 不限制 JDK 版本,使用 Java 内置类,对第三方依赖没有要求
- 目标无回显,可以通过 DNS 请求来验证是否存在反序列化漏洞
- URLDNS 利用链,只能发起 DNS 请求,并不能进行其他利用
ysoserial:Java 反序列化工具,利用它通过指定利用链,获取恶意代码序列化之后的内容,将内容发送给目标,目标对内容发序列化进而触发恶意代码