본 프로젝트는 보안 연구 목적으로만 사용되며, 본 프로젝트를 이용한 불법 공격은 금지됩니다. 이로 인해 발생하는 책임은 사용자 본인에게 있습니다
이 프로젝트는 개인이 관심 있거나 영향력이 비교적 큰 취약점을 재현하고 공개하기 위한 개인 기술 노트로, 기술적 수준은 높지 않습니다.
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 보안 강화 데모로, 블랙리스트 방식을 사용하여 일부 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 역직렬화 취약점(암호화 키와 서명 키를 알아야 함)
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)