下面结合实战以及shiro的CookieRememberMeManaer的调用过程,浅谈获取shiro key文件的几种方式。
shiro key文件的获取方式:1结合Dnslog与URLDNS;2利用时间延迟或报错;3结合CookieRememberMeManaer
1结合Dnslog与URLDNS
在进行漏洞探测的时候,一般会使用ysoserial-URLDNS-gadget结合dnslog进检测,其受JDK版本和相关的安全策略影响, 除非存在网络限制DNS不能出网。
通过判断dnslog是否收到对应的请求,判断漏洞是否存在。这是获取key比较实用方法,通过在dnslog域名前加对应key的randomNum,结合对应的dnslog记录,即可获取到应用对应的Shiro key了。
例如下图通过结合Dnslog与URLDNS成果枚举出当前应用的key为kPH+bIxk5D2deZiIxcaaaA==:
2利用时间延迟或报错
结合Dnslog与URLDNS方法有一个前提是DNS能出网。那么在不出网的情况下就需要找一个替代的方案了。结合SQL盲注的思路,可以考虑执行如下代码结合时间延迟进行判断,若系统是linux系统,则睡眠10s:
try{