Este proyecto es solo para investigación de seguridad. Se prohíbe usar este proyecto para lanzar ataques ilegales. El usuario es responsable de las consecuencias.
Este es un proyecto personal para reproducir y publicar algunas vulnerabilidades interesantes o de gran impacto. No tiene mucho contenido técnico, solo sirve como notas técnicas personales.
fastjson
Este módulo registra principalmente algunos gadgets de explotación de fastjson, aunque muchos gadgets no están documentados.
Relacionados con RCE
package:com.threedr3am.bug.fastjson.rce
- com.threedr3am.bug.fastjson.rce.FastjsonSerialize(TemplatesImpl) Condición de explotación: fastjson <= 1.2.24 + Feature.SupportNonPublicField
- com.threedr3am.bug.fastjson.rce.NoNeedAutoTypePoc Condición de explotación: fastjson < 1.2.48, no requiere ninguna configuración, la configuración predeterminada permite RCE en todos los casos
- com.threedr3am.bug.fastjson.rce.HikariConfigPoc(HikariConfig) Condición de explotación: fastjson <= 1.2.59 RCE, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.rce.CommonsProxyPoc(SessionBeanProvider) Condición de explotación: fastjson <= 1.2.61 RCE, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.rce.JndiConverterPoc(JndiConverter) Condición de explotación: fastjson <= 1.2.62 RCE, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.rce.HadoopHikariPoc(HikariConfig) Condición de explotación: fastjson <= 1.2.62 RCE, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.rce.IbatisSqlmapPoc(JtaTransactionConfig) Condición de explotación: fastjson <= 1.2.62 RCE, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.rce.ShiroPoc(shiro-core) Condición de explotación: fastjson <= 1.2.66 RCE, requiere habilitar AutoType
...se omiten varios
Relacionados con SSRF
package:com.threedr3am.bug.fastjson.ssrf
- com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc(WadlGenerator) Condición de explotación: fastjson <= 1.2.66 SSRF, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.ssrf.ApacheCxfSSRFPoc2(SchemaHandler) Condición de explotación: fastjson <= 1.2.66 SSRF, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.ssrf.CommonsJellySSRFPoc(Embedded) Condición de explotación: fastjson <= 1.2.66 SSRF, requiere habilitar AutoType
- com.threedr3am.bug.fastjson.ssrf.JREJeditorPaneSSRFPoc(JEditorPane) Condición de explotación: fastjson <= 1.2.66 SSRF, requiere habilitar AutoType
...se omiten varios
Relacionados con resolución de dominios DNS
package:com.threedr3am.bug.fastjson.dns
Relacionados con Denegación de Servicio (DoS)
package:com.threedr3am.bug.fastjson.dos
package:com.threedr3am.bug.fastjson.leak
jackson
Relacionados con 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
...se omiten varios
SSRF
package:com.threedr3am.bug.jackson.ssrf
...se omiten varios
dubbo
Este módulo registra principalmente la explotación de vulnerabilidades de dubbo, refuerzo de seguridad, etc.
- com.threedr3am.bug.dubbo.RomePoc Condición de explotación: existe dependencia de rome
- com.threedr3am.bug.dubbo.ResinPoc Condición de explotación: existe dependencia de com.caucho:quercus
- com.threedr3am.bug.dubbo.XBeanPoc Condición de explotación: existe dependencia de org.apache.xbean:xbean-naming
- com.threedr3am.bug.dubbo.SpringAbstractBeanFactoryPointcutAdvisorPoc Condición de explotación: existe dependencia de org.springframework:spring-aop
dubbo-hessian2-safe-reinforcement
Demo de refuerzo de seguridad de dubbo hessian2, que utiliza una lista negra para prohibir algunos gadgets
padding-oracle-cbc
Código experimental para implementar ataques padding-oracle-cbc en Java
- com.threedr3am.bug.paddingoraclecbc.PaddingOracle
Implementación en Java de padding oracle (implementación con múltiples grupos de texto cifrado)
- com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC
Implementación en Java de padding oracle cbc (implementación con un solo grupo <= 16 bytes de texto cifrado)
- com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBC2
Implementación en Java de padding oracle cbc (implementación con múltiples grupos de texto cifrado)
- com.threedr3am.bug.paddingoraclecbc.PaddingOracleCBCForShiro
Implementación en Java de padding oracle cbc para shiro
xxe
Reproducción de XXE causado por varios componentes de análisis XML, así como el registro de su código de corrección
commons-collections
Cosas que escribí sin pensar hace varios años cuando aprendía sobre deserialización
security-manager
Código experimental para algunas técnicas de bypass del security manager de Java
rmi
Servicios relacionados con RMI, así como su explotación, etc.
tomcat
Vulnerabilidades relacionadas con tomcat
ajp-bug
Vulnerabilidades relacionadas con el protocolo ajp de tomcat
- com.threedr3am.bug.tomcat.ajp Lectura arbitraria de archivos y RCE mediante renderizado de JSP CVE-2020-1938
cas
Vulnerabilidades relacionadas con cas
- cas-4.1.x~4.1.6 Vulnerabilidad de deserialización (usando la clave predeterminada)
- cas-4.1.7~4.2.x Vulnerabilidad de deserialización (requiere conocer la clave de cifrado y la clave de firma)
spring
Registro de código experimental para reproducir algunas vulnerabilidades de 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
Registro de vulnerabilidades relacionadas con el análisis de Excel en apache-poi
feature
Algunas características de datos de ataques. La idea original era ver si expresiones regulares, etc., podían detectarlos todos
java-compile
Código de implementación para compilación dinámica de Java y manipulación de bytecode
nexus
Registro de reproducción de algunas vulnerabilidades de RCE y bypass de autenticación en maven nexus
ShardingSphere-UI
Registro de algunas vulnerabilidades de ShardingSphere-UI
- CVE-2020-1947 (Vulnerabilidad de RCE por deserialización de YAML)
shiro
Registro de algunas vulnerabilidades de bypass de autenticación descubiertas recientemente en shiro
- bypass shiro <= 1.4.1
- bypass shiro <= 1.5.2 (CVE-2020-1957)
- bypass shiro <= 1.5.3 (CVE-2020-11989)