Java安全——URLDNS链
发布时间
阅读量:
阅读量
URLDNS利用链分析
前言
简要来说,URLDNS指的是当HashMap的键值被设定为URL类型的对象时,该对象会自动调用URL类中的hashCode()方法,进而引发DNS查询请求,这种现象通常被用于检测系统中是否存在反序列化安全漏洞。
两条链的基本介绍
URL类-->hashCode()方法-->1.hashcode=!-1-->不执行DNS解析
-->2.hashcode=-1-->handler.hashCode()(hander为URLStreamHandler类对
象)-->getHostAddress(u)-->getByName(host)-->做一次DNS解析
HashMap类-->put(k,v)-->putVal()-->hash(k)-->k.hashCode()
HashMap链表结构解析
查阅HashMap的源代码可以发现,其中包含一个put(k,v)方法,该方法用于传递参数,并会生成一个与键相关联的哈希值hash(key)。

还没有任何评论哟~
