learnjavabug
本项目仅用于安全研究,禁止使用本项目发起非法攻击,造成的后果使用者负责
这是一个个人用于复现、公开一些感兴趣、或者影响稍大的漏洞的项目,没有多少技术含量,权当个人技术笔记。
fastjson
该模块主要记录一些 fastjson 的利用 gadget,不过很多 gadget 并没有记录在案。
RCE 相关
package:com.threedr3am.bug.fastjson.rce
- com.threedr3am.bug.fastjson.rce.FastjsonSerialize(TemplatesImpl) 利用条件:fastjson <= 1.2.24 + Feature.SupportNonPublicField
- com.threedr3am.bug.fastjson.rce.NoNeedAutoTypePoc 利用条件:fastjson < 1.2.48 不需要任何配置,默认配置通杀 RCE
- com.threedr3am.bug.fastjson.rce.HikariConfigPoc(HikariConfig) 利用条件:fastjson <= 1.2.59 RCE,需要开启 AutoType
- com.threedr3am.bug.fastjson.rce.CommonsProxyPoc(SessionBeanProvider) 利用条件:fastjson <= 1.2.61 RCE,需要开启 AutoType
- com.threedr3am.bug.fastjson.rce.JndiConverterPoc(JndiConverter) 利用条件:fastjson <= 1.2.62 RCE,需要开启 AutoType
- com.threedr3am.bug.fastjson.rce.HadoopHikariPoc(HikariConfig) 利用条件:fastjson <= 1.2.62 RCE,需要开启 AutoType
- com.threedr3am.bug.fastjson.rce.IbatisSqlmapPoc(JtaTransactionConfig) 利用条件:fastjson <= 1.2.62 RCE,需要开启 AutoType
- com.threedr3am.bug.fastjson.rce.ShiroPoc(shiro-core) 利用条件:fastjson <= 1.2.66 RCE,需要开启 AutoType ...省略若干
SSRF 相关
package:com.threedr3am.bug.fastjson.ssrf
- com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc(WadlGenerator) 利用条件:fastjson <= 1.2.66 SSRF,需要开启 AutoType
- com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc2(SchemaHandler) 利用条件:fastjson <= 1.2.66 SSRF,需要开启 AutoType
- com.threedr3am.bug.fastjson.ssrf.CommonsJellySSRFPoc(Embedded) 利用条件:fastjson <= 1.2.66 SSRF,需要开启 AutoType
- 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
- com.threedr3am.bug.jackson.rce.AnterosPoc
- com.threedr3am.bug.jackson.rce.EhcacheJndi
- com.threedr3am.bug.jackson.rce.H2Rce
- com.threedr3am.bug.jackson.rce.HadoopHikariConfigPoc
- com.threedr3am.bug.jackson.rce.HikariConfigPoc
- com.threedr3am.bug.jackson.rce.IbatisSqlmapPoc
- com.threedr3am.bug.jackson.rce.JndiConverterPoc
- com.threedr3am.bug.jackson.rce.LogbackJndi ...省略若干
SSRF
package:com.threedr3am.bug.jackson.ssrf ...省略若干
dubbo
该模块主要记录 dubbo 相关的漏洞利用、安全加固等
- com.threedr3am.bug.dubbo.RomePoc 利用条件:存在 rome 依赖
- com.threedr3am.bug.dubbo.ResinPoc 利用条件:存在 com.caucho:quercus 依赖
- com.threedr3am.bug.dubbo.XBeanPoc 利用条件:存在 org.apache.xbean:xbean-naming 依赖
- com.threedr3am.bug.dubbo.SpringAbstractBeanFactoryPointcutAdvisorPoc 利用条件:存在 org.springframework:spring-aop 依赖
dubbo-hessian2-safe-reinforcement
dubbo hessian2 安全加固 demo,使用黑名单方式禁止部分 gadget
padding-oracle-cbc
用 Java 实现 padding-oracle-cbc 攻击的一些实验代码记录
- com.threedr3am.bug.paddingoraclecbc.PaddingOracle
padding oracle java 实现(多组密文实现) - com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC
padding oracle cbc java 实现(单组 <= 16bytes 密文实现) - com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC2
padding oracle cbc java 实现(多组密文实现) - 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 协议相关漏洞
- com.threedr3am.bug.tomcat.ajp 任意文件读取和 jsp 渲染 RCE CVE-2020-1938
cas
cas 相关漏洞
- cas-4.1.x~4.1.6 反序列化漏洞(利用默认密钥)
- cas-4.1.7~4.2.x 反序列化漏洞(需要知道加密 key 和签名 key)
spring
一些 Spring 漏洞的复现实验代码记录
- spring-actuator(jolokia、snake-yaml、h2-hikariCP、eureka)
- spring-cloud-config-server(CVE-2019-3799)
- spring-cloud-config-server(CVE-2020-5405)
- spring-cloud-config-server(CVE-2020-5410)
- spring-session-data-redis RCE
apache-poi
apache-poi excel 解析漏洞相关记录
feature
一些攻击的数据特征,本来想法是看看正则等能不能都检测到
java-compile
java 动态编译、操纵字节码的实现代码
nexus
maven nexus 的一些 RCE、Auth Bypass 漏洞的复现记录
ShardingSphere-UI
ShardingSphere-UI 的一些漏洞记录
- CVE-2020-1947 (YAML 反序列化 RCE 漏洞)
shiro
记录了最近 shiro 被发现的一些认证 bypass 漏洞
- bypass shiro <= 1.4.1
- bypass shiro <= 1.5.2 (CVE-2020-1957)
- bypass shiro <= 1.5.3 (CVE-2020-11989)
