目标geoserver版本2.14.2,jdk版本1.8.0 221。
使用默认口令admin/geoserver登录
通过查看数据源获取数据库账号密码
由于PostgreSQL数据库映射到公网,导致可以直接连接数据库。
失败原因:
1.直接连接数据库,由于目标存在杀软,PostgreSQL调用cmd会被拦截
2.disk Quota和数据存储添加数据,均有jndi注入,目标jdk版本1.8.0 221,发送cb1的序列化数据本地测试成功,目标环境会关闭socket连接,导致失败
利用组合拳成功getshell
- 利用geoserver中设置-》全球,利用日志功能来创建web项目文件夹
logs/../../webapps/My3servlet/geoserver.log
logs/../../webapps/My3servlet/WEB-INF/geoserver.log
logs/../../webapps/My3servlet/WEB-INF/classes/geoserver.log
2.PostgreSQL写文件,网上有很多介绍,这里不再多说。
贴一张本地测试图片
原文始发于微信公众号():记一次geoserver组合拳getshell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论