• Stars
    star
    2,567
  • Rank 17,863 (Top 0.4 %)
  • Language
    Java
  • License
    MIT License
  • Created over 6 years ago
  • Updated 8 months ago

Reviews

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

Repository Details

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

本项目仅用于安全研究,禁止使用本项目发起非法攻击,造成的后果使用者负责

这是一个个人用于复现、公开一些感兴趣、或者影响稍大的漏洞的项目,没有多少技术含量,权当个人技术笔记。


fastjson

该模块主要记录一些fastjson的利用gadget,不过很多gadget并没有记录在案。

RCE相关

package:com.threedr3am.bug.fastjson.rce

  1. com.threedr3am.bug.fastjson.rce.FastjsonSerialize(TemplatesImpl) 利用条件:fastjson <= 1.2.24 + Feature.SupportNonPublicField
  2. com.threedr3am.bug.fastjson.rce.NoNeedAutoTypePoc 利用条件:fastjson < 1.2.48 不需要任何配置,默认配置通杀RCE
  3. com.threedr3am.bug.fastjson.rce.HikariConfigPoc(HikariConfig) 利用条件:fastjson <= 1.2.59 RCE,需要开启AutoType
  4. com.threedr3am.bug.fastjson.rce.CommonsProxyPoc(SessionBeanProvider) 利用条件:fastjson <= 1.2.61 RCE,需要开启AutoType
  5. com.threedr3am.bug.fastjson.rce.JndiConverterPoc(JndiConverter) 利用条件:fastjson <= 1.2.62 RCE,需要开启AutoType
  6. com.threedr3am.bug.fastjson.rce.HadoopHikariPoc(HikariConfig) 利用条件:fastjson <= 1.2.62 RCE,需要开启AutoType
  7. com.threedr3am.bug.fastjson.rce.IbatisSqlmapPoc(JtaTransactionConfig) 利用条件:fastjson <= 1.2.62 RCE,需要开启AutoType
  8. com.threedr3am.bug.fastjson.rce.ShiroPoc(shiro-core) 利用条件:fastjson <= 1.2.66 RCE,需要开启AutoType ...省略若干
SSRF相关

package:com.threedr3am.bug.fastjson.ssrf

  1. com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc(WadlGenerator) 利用条件:fastjson <= 1.2.66 SSRF,需要开启AutoType
  2. com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc2(SchemaHandler) 利用条件:fastjson <= 1.2.66 SSRF,需要开启AutoType
  3. com.threedr3am.bug.fastjson.ssrf.CommonsJellySSRFPoc(Embedded) 利用条件:fastjson <= 1.2.66 SSRF,需要开启AutoType
  4. com.threedr3am.bug.fastjson.ssrf.JREJeditorPaneSSRFPoc(JEditorPane) 利用条件:fastjson <= 1.2.66 SSRF,需要开启AutoType ...省略若干
DNS域名解析相关

package:com.threedr3am.bug.fastjson.dns

Dos拒绝服务相关

package:com.threedr3am.bug.fastjson.dos

leak信息泄露相关

package:com.threedr3am.bug.fastjson.leak


jackson

RCE相关

package:com.threedr3am.bug.jackson.rce

  1. com.threedr3am.bug.jackson.rce.AnterosPoc
  2. com.threedr3am.bug.jackson.rce.EhcacheJndi
  3. com.threedr3am.bug.jackson.rce.H2Rce
  4. com.threedr3am.bug.jackson.rce.HadoopHikariConfigPoc
  5. com.threedr3am.bug.jackson.rce.HikariConfigPoc
  6. com.threedr3am.bug.jackson.rce.IbatisSqlmapPoc
  7. com.threedr3am.bug.jackson.rce.JndiConverterPoc
  8. com.threedr3am.bug.jackson.rce.LogbackJndi ...省略若干
SSRF

package:com.threedr3am.bug.jackson.ssrf ...省略若干


dubbo

该模块主要记录dubbo相关的漏洞利用、安全加固等

  1. com.threedr3am.bug.dubbo.RomePoc 利用条件:存在rome依赖
  2. com.threedr3am.bug.dubbo.ResinPoc 利用条件:存在com.caucho:quercus依赖
  3. com.threedr3am.bug.dubbo.XBeanPoc 利用条件:存在org.apache.xbean:xbean-naming依赖
  4. com.threedr3am.bug.dubbo.SpringAbstractBeanFactoryPointcutAdvisorPoc 利用条件:存在org.springframework:spring-aop依赖
dubbo-hessian2-safe-reinforcement

dubbo hessian2安全加固demo,使用黑名单方式禁止部分gadget


padding-oracle-cbc

用Java实现padding-oracle-cbc攻击的一些实验代码记录

  1. com.threedr3am.bug.paddingoraclecbc.PaddingOracle padding oracle java实现(多组密文实现)
  2. com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC padding oracle cbc java实现(单组 <= 16bytes 密文实现)
  3. com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC2 padding oracle cbc java实现(多组密文实现)
  4. com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBCForShiro shiro padding oracle cbc java实现

xxe

各种XML解析组件导致XXE的复现,以及其fix代码记录


commons-collections

好几年前学习反序列化的时候瞎写的东西


security-manager

java security manager的一些绕过实验代码


rmi

rmi相关服务,以及其利用等


tomcat

tomcat相关漏洞

ajp-bug

tomcat ajp协议相关漏洞

  1. com.threedr3am.bug.tomcat.ajp 任意文件读取和jsp渲染RCE CVE-2020-1938

cas

cas相关漏洞

  1. cas-4.1.x~4.1.6 反序列化漏洞(利用默认密钥)
  2. cas-4.1.7~4.2.x 反序列化漏洞(需要知道加密key和签名key)

spring

一些Spring漏洞的复现实验代码记录

  1. spring-actuator(jolokia、snake-yaml、h2-hikariCP、eureka)
  2. spring-cloud-config-server(CVE-2019-3799)
  3. spring-cloud-config-server(CVE-2020-5405)
  4. spring-cloud-config-server(CVE-2020-5410)
  5. spring-session-data-redis RCE

apache-poi

apache-poi excel解析漏洞相关记录

feature

一些攻击的数据特征,本来想法是看看正则等能不能都检测到

java-compile

java动态编译、操纵字节码的实现代码

nexus

maven nexus的一些RCE、Auth Bypass漏洞的复现记录

ShardingSphere-UI

ShardingSphere-UI的一些漏洞记录

  1. CVE-2020-1947 (YAML反序列化RCE漏洞)

shiro

记录了最近shiro被发现的一些认证bypass漏洞

  1. bypass shiro <= 1.4.1
  2. bypass shiro <= 1.5.2 (CVE-2020-1957)
  3. bypass shiro <= 1.5.3 (CVE-2020-11989)

More Repositories

1

JSP-WebShells

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

ZhouYu

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

tomcat-cluster-session-sync-exp

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