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-2022-21445-for-12.2.1.3.0-Weblogic — Pre-Authentication-Remote-Codeausführungs-Exploit für Oracle WebLogic ADF Faces (CVE-2022-21445, CVSS 9.8). Enthält detaillierte Umgebungseinrichtung, Payload-Erzeugung und Remote-Debugging-Anweisungen für Penetrationstests. | Kitploit
Tools/GitHubGitHub/hienkiet/cve-2022-21445-for-12.2.1.3.0-weblogic
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubhienkiet/cve-2022-21445-for-12.2.1.3.0-weblogic

CVE-2022-21445-for-12.2.1.3.0-Weblogic

Pre-Authentication-Remote-Codeausführungs-Exploit für Oracle WebLogic ADF Faces (CVE-2022-21445, CVSS 9.8). Enthält detaillierte Umgebungseinrichtung, Payload-Erzeugung und Remote-Debugging-Anweisungen für Penetrationstests.

Repository anzeigen
5347vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Übersicht

CVE-2022-21445 (CVSS-Score 9,8), die Schwachstelle ist eine nicht vertrauenswürdige Datendeserialisierung, die im ADF-Faces-Komponenten identifiziert wurde und von Angreifern aus der Ferne ohne Authentifizierung (Pre-Authentication) ausgenutzt werden kann, um RCE zu erreichen.

Die Schwachstelle wurde von zwei Cybersicherheitsexperten entdeckt: PeterJson von der VNG Corporation und Nguyen Jang von VNPT. Oracle erhielt diesen Bericht im Oktober 2021 und benötigte 6 Monate, also bis April 2022, um einen Patch zu veröffentlichen.

In diesem Artikel konzentriert sich die Ausnutzung auf Oracle Business Intelligence Version 12.2.1.4.0

Analyse - Reproduktion der Schwachstelle

Einrichtung der Umgebung

Auf der Opferseite/Zielseite

Voraussetzung: Installieren Sie Windows 10+ Pro oder Windows Home (x64) mit aktivierter Lizenz oder verwenden Sie Windows Server (bevorzugt von Oracle)

Schritt 1: Installieren Sie Java, Version jdk 8u112 oder höher (8Ux), Download-Link: JDKv8U112

  • Fügen Sie JAVA_HOME mit dem Pfad zum jdk-Verzeichnis hinzu (nicht jre) Bild 1.1: Java installieren

Schritt 2: Installieren Sie Oracle Database 19c, Download-Link:

Oracle 19c
  1. Bereiten Sie einen Ordner für die Datenbankinstallation vor, erstellen Sie einen Pfad wie unten und entpacken Sie die heruntergeladene Datenbank-Zip-Datei in C:\app\oracle\product\19c\db_home1

  2. Führen Sie die Datei setup.application als Administrator aus Bild 2.1: DB-Setup ausführen

  3. Führen Sie die Schritte nacheinander gemäß der Anleitung unter Anleitung zur DB-Installation durch

  4. Wichtiger Hinweis: Achten Sie bei Schritt 8/17 darauf, Create as Container database zu aktivieren, um eine pluggable DB für den bevorstehenden Fusion Middleware-Installationsprozess zu öffnen Bild 2.2: Pluggable Database erstellen

Wählen Sie bei Schritt 9/17 als Zeichensatz Unicode (AL32UTF8) Bild 2.3: Unicode auswählen

  1. Überprüfen Sie nach Abschluss der Installation in den Windows-Diensten sorgfältig, ob die 4 Hauptdienste wie im folgenden Bild den Status RUNNING haben Bild 2.4: Erfolgreiche Installation

Bild 2.5: Dienste prüfen

  1. Erstellen Sie ein neues Oracle-Datenbankkonto gemäß den folgenden Schritten:
  • Terminal Administrator -> sqlplus / as sysdba
  • Systembenutzer anlegen: alter user system identified by system_password account unlock;
  • Existenz des Systembenutzers prüfen: select username from dba_users;
  • Umgebung einrichten: alter session set “_oracle_script”=true;
  • Normalen Benutzer hr anlegen: create user hr identified by user_password;
  • Berechtigungen erteilen: grant all privileges to hr;
  • Konto entsperren – Passwort ändern: alter user hr identified by hr_pass account unlock;
  • Neues Systemkonto anlegen: alter user sys identified by sys_pass account unlock;

Schritt 3: Installieren Sie SQL Developer, Version no-jre, Download-Link: SQLDev-NoJRE Bild 3.1: SQL Developer herunterladen

  • Führen Sie die Datei sqldeveloper.application als Administrator aus Bild 3.2: SQL Developer starten

  • Richten Sie die Parameter für eine neue Verbindung wie im folgenden Bild ein. Achten Sie darauf, Benutzername und Passwort (wie im obigen Beispiel hr), Hostname (standardmäßig localhost), Port (standardmäßig 1521) und SID (der globalen Datenbankname aus Schritt 2) zu ändern. Bild 3.3: SQL Developer Parameter einrichten

  • Wenn bei der Auswahl von Test die Meldung Success erscheint, ist die Verbindung erfolgreich. Wählen Sie Connect.

Schritt 4: Installieren Sie Fusion Middleware Infrastructure (FMW) Version 12.2.1.3.0, Download-Link: FMW_ver_12.2.1.3.0 Bild 4.1: FMW herunterladen

  • Erstellen Sie einen Pfad für das FMW-Installationsverzeichnis im Format C:\Oracle\Middleware\Oracle_Home
  • Führen Sie die Schritte nacheinander gemäß der Anleitung durch: Anleitung zur FMW-Installation

Schritt 5: Installieren Sie Oracle Business Intelligence (OBIEE) Version 12.2.1.4.0, Download-Link: OBIEE_ver_12.2.1.4.0

  • Führen Sie die Datei setup_bi_platform-12.2.1.4.0_win64.exe als Administrator aus Bild 5.1: OBIEE-Setup ausführen

  • Installieren Sie Schritt für Schritt gemäß Anleitung zur OBIEE-Installation

  • Hinweis: Der BI-Pfad muss mit dem bereits installierten FMW-Pfad übereinstimmen, hier also Oracle/Middleware/Oracle_Home Bild 5.2: Der BI-Pfad muss mit dem FMW-Pfad identisch sein

Schritt 6: Richten Sie das BI-Schema mit dem Repository Creation Utility (RCU) ein

  • Führen Sie im Pfad C:\Oracle\Middleware\Oracle_Home\oracle_common\bin die Datei rcu.bat als Administrator aus

  • Führen Sie die folgenden Schritte nacheinander durch:

Bild 6.1: Repository erstellen

Bild 6.2: Datenbankverbindungsdetails

Bild 6.3: Komponente auswählen

Bild 6.4: Schema-Passwort

  • Klicken Sie abschließend auf Create, um das BI-Schema zu erstellen

Schritt 7: Richten Sie die Umgebungsvariablen für OBIEE ein

  • Gehen Sie zu Systemsteuerung > System > Erweiterte Systemeinstellungen > Erweitert > Umgebungsvariablen > Neue Systemvariable Bild 7.1: Umgebungsvariablen

Schritt 8: Erstellen Sie die BI-Domain

  1. Führen Sie im Pfad C:\Oracle\Middleware\Oracle_Home\bi\bin die Datei config.cmd als Administrator aus

Bild 8.1: Konfigurationsdatei ausführen

  1. Wählen Sie in Schritt 1 alle 3 Komponenten aus, wobei Essbase der OLAP-Server, Business Intelligence Enterprise Edition BI Analytics und Business Intelligence Publisher BI Publisher ist

Bild 8.2: Komponenten auswählen

  1. In Schritt 3: Richten Sie die neue Domain wie im folgenden Bild ein. !! MERKEN SIE SICH DAS PASSWORT FÜR DIE DOMAIN, DA ES SEHR SCHWIERIG IST, ES ZURÜCKZUSETZEN. und lassen Sie die Domain als bi, da dies der Standard ist.

Bild 8.3: Domain-Konto

  1. In Schritt 4: Aktualisieren Sie die Domain-Informationen für die Datenbank

Bild 8.4: Informationen aktualisieren

  1. In Schritt 8: Wenn der Vorgang erfolgreich verläuft, wird das Ergebnis wie im folgenden Bild angezeigt

Bild 8.5: Konfiguration erfolgreich

  1. Wenn alles Done ist, speichern Sie die OBIEE-Informationsdatei für den nächsten Schritt. Melden Sie sich an der URL an:
  • http://localhost:9500/console*
  • http://localhost:9500/em*
  • http://localhost:9502/xmlpserver*
  • http://localhost:9502/analytics*
  1. Einige mögliche Fehler
  • Wenn in Schritt 4 das System "fail to logon" meldet, überprüfen Sie das Passwort der Domain auf Richtigkeit

  • Wenn in Schritt 8 ein Fehler wie im folgenden Bild auftritt, überprüfen Sie, ob Ihre Windows-Lizenz aktiviert ist und ob Ihr Windows die beschriebenen Voraussetzungen erfüllt.

Bild 8.6: Lizenzfehler

  • Fehler "BI_HOME_PRODUCT nicht hinzugefügt", siehe Schritt 7
  • Weitere Fehler werden aktualisiert...

Schritt 9: Nach Abschluss des Setups greifen Sie auf die neu erstellte BI-Domain unter dem Pfad $Oracle_Home\user_projects\domains\bi\servers\AdminServer\tmp_WL_user\adf.oracle.domain.webapp\i83uao zu

  • Kopieren Sie alle jar-Dateien von hier in einen separaten Ordner und teilen Sie diesen mit der Angriffsmaschine (im Labor-Setup so vorgehen, bei einem echten Angriff muss auf der Angriffsmaschine ebenfalls eine Installation wie auf der Zielmaschine erfolgen, um den Quellcode zu erhalten)

  • Fügen Sie zusätzlich die Bibliothek coherence.jar aus dem Pfad $Oracle_Home\coherence\lib zu diesem Ordner hinzu.

  • Dieser Ordner ist entscheidend für den Erfolg des Payloads, da sich die Versionen von FMW oder BI sowie die Umgebung jeder Maschine unterscheiden können. Daher ist die genaue Version wichtig, um Risiken oder während der Payload-Übertragung auftretende Ausnahmen zu vermeiden.

Schritt 10 (nur durchführen, wenn Remote-Debugging erforderlich ist; noch einmal: Bei Tests in der realen Umgebung kann die Opfermaschine nicht nach Belieben eingerichtet werden, daher muss der Angreifer auch auf seiner Maschine die Zielmaschine einrichten, um per Remote-Debugging Fehler überprüfen zu können)

  • Installieren Sie Mozilla, fügen Sie Burp-Proxy mit Port 8181 hinzu

  • Aktivieren Sie Remote Debug auf dem BI-Server

    Greifen Sie auf localhost:9500/console zu

    Unter Domain Structure -> wählen Sie bi -> Environment -> Servers

Bild 10.1: Domainstruktur

Es werden zwei Server angezeigt: AdminServer von WebLogic und bi_server1 von BI

Bild 10.2: Angezeigte Serverliste

Wählen Sie Lock & Edit in der linken unteren Ecke, aktivieren Sie bi_server1, um die Konfiguration zu bearbeiten. Klicken Sie dann auf Configuration -> Server start -> Scrollen Sie nach unten, wählen Sie Advance (falls vorhanden) -> Wählen Sie "In Arguments eingeben" -> Geben Sie den Debug-Parameter ein:

-Xdebug -Xnoagent – Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

(Sie können es auch mit 0.0.0.0:5005 versuchen, falls später ein Fehler beim Neustart von bi_server1 auftritt)

Geben Sie das WebLogic-Passwort ein (das bei der BI-Domain-Konfiguration festgelegt wurde) -> Apply change & Restart

Öffnen Sie ein Terminal als Administrator -> Navigieren Sie zum Pfad $Oracle_Home\user_projects\domains\bi\bitools\bin und führen Sie ./stop.cmd und ./start.cmd aus, um bi_server1 neu zu starten. Wenn während des Neustarts kein Fehler auftritt, wurde das Debugging geöffnet und hört wie oben auf Port 5005. Tritt ein Fehler auf, überprüfen Sie die Debug-Parameter auf zusätzliche Leerzeichen oder Fehler im Adressteil.

Auf der Angriffsseite

Schritt 1: Laden Sie IntelliJ IDEA Ultimate herunter und aktivieren Sie es mit einem auf GitHub gefundenen Code.

Schritt 2 (Nur durchführen, wenn während des Angriffs ein Fehler wie 500 Server Error, ... auftritt; dies liegt an einer Ausnahme im Payload)

  1. Passen Sie die jdk-/sdk-Version des Projekts an die der Zielmaschine an (Installation wie unter Zielseite - Schritt 1)

  2. Erstellen Sie ein leeres Projekt zur Quellcode-Analyse für das Remote-Debugging. Fügen Sie alle jar-Dateien aus dem von der Zielmaschine erhaltenen Ordner zu diesem Projekt hinzu.

    Project Structure -> Modules -> Klicken Sie auf + -> 1 JARS or Directories -> Fügen Sie den gesamten jar-Ordner hinzu.

Bild 11.1: jar-Dateien hinzufügen

Bild 11.2: Ergebnis

  1. Richten Sie das Remote-Debugging ein

    Run -> Edit Configurations -> + -> Remote JVM Debug

Bild 12.1: Remote-Debugging einrichten

Führen Sie das Remote-Debugging aus. Wenn in der Konsole "Connected ..." erscheint, war es erfolgreich.

Bild 12.2: Remote-Debugging ausführen

Schritt 3:

  • Klonen Sie den Code aus diesem Repository auf Ihren Rechner, löschen Sie die alte coherence.jar im lib-Ordner und ersetzen Sie sie durch die Datei, die Sie im vorherigen Schritt von der Zielmaschine erhalten haben.

  • Fügen Sie anschließend ein Projekt hinzu, das mit IntelliJ ausgeführt wird, fügen Sie die jar-Dateien im lib mit der Option Add as library hinzu.

  • Überprüfen Sie den Namen der Klasse LambdaIdentity$.... auf die richtige Weblogic-Version. Wenn sich dieser geändert hat, refaktorieren Sie die Datei und passen Sie den Namen an.

    Weblogic 12.2.1.3: LambdaIdentity$E12ECA49F06D0401A9D406B2DCC7463A

    Weblogic 12.2.1.4: LambdaIdentity$423B02C050017B24DB10DFF759AA56BF

  • Ändern Sie den Pfad zur Datei LambdaIdentity$....class in der Datei Main.java. Um den genauen Pfad zu erhalten, gibt es zwei Möglichkeiten: Führen Sie javac auf die jar-Datei aus, um .class-Dateien zu generieren; eine andere Möglichkeit besteht darin, den Code der main-Funktion auszukommentieren, dann das Projekt normal auszuführen; der Klassenpfad ist im Verzeichnis target zu finden.

  • Überprüfen Sie, ob jdk und sdk des Projekts mit denen der Zielmaschine übereinstimmen.

Code-Analyse von BI und des Payload-Codes

Analyse des BI-Codes

  1. Im Pfad $Oracle\Middleware\Oracle_Home\user_projects\domains\bi\servers\AdminServer\tmp_WL_user\em\fw8wi5\war\WEB-INF

Wir sehen die Datei web.xml, die die Mapping-Beziehungen im Zusammenhang mit servlet-mapping beschreibt. "resources" ist ein Servlet, das mit Systemressourcen zusammenhängt und wichtige Daten und Informationen enthält, daher ist dies eine Stelle, die häufig von Angreifern anvisiert wird.

Bild 13.1: servlet-mapping-Beziehungen

  1. Geht man tiefer in die Klasse ResourceServlet, insbesondere org.apache.myfaces.trinidad.webapp.ResourceServlet, sieht man die Funktion doGet, die GET-Anfragen verarbeitet, die an den Server gesendet werden.

Bild 13.2: Funktion doGet

  • Hier wird über die Methode _getResourceLoader() ein neuer Loader aus der eingehenden Anfrage erstellt. Gleichzeitig wird ein resourcePath initialisiert, der den servletPath und servletInfo über die Methode getResourcePath mit der Anfrage als Parameter erhält. Dieser Loader ruft die Funktion getResource(resourcePath) auf, versucht, die Ressource aus der Eingabeanforderung zu laden, und sucht sie über die Funktion org.apache.myfaces.trinidad.resource.ResourceLoader.getResource.findResource(). Schließlich wird der gefundene Wert an eine URL-Instanz der Klasse URL.class übergeben.

Bild 13.3: Funktion getResource

  • _getResourceLoader verwaltet eine ConcurrentMap, um die Mapping-Beziehung zwischen servletPath und Loadern zu speichern. Diese Beziehung ist in oracle.adfinternal.view.resource.rich.RenderKitResourceLoader klar definiert

Bild 13.4: Klasse RenderKitResourceLoader

  • Die Methode _register in der Funktion RenderKitResourceLoader() wird aufgerufen und erhält die entsprechenden Regex + Loader, dann gibt sie super.register zurück, die Elternfunktion. Diese Funktion fügt der concurrentmap_loaders den entsprechenden Partern und Loader hinzu. Wenn der Loader in der Funktion doGet() initialisiert wird und die Anfrage als Parameter erhält, wird der servletPath aus der eingehenden URL-Anfrage extrahiert, um ihn an _loader.get() zu übergeben und den entsprechenden Servlet zu erhalten.

Bild 13.5: Methode _register

Bild 13.6: Methode register (Elternmethode)

  • Der Autor der Schwachstelle geht davon aus, dass unter den Klassen, die die Methode findResource() überschreiben, oracle.adfinternal.view.resource.rich.RemoteApplicationResourceLoader die Klasse ist, die ein Risiko für Deserialisierung darstellt. Lassen Sie uns diese analysieren, um den Grund zu finden.

Analyse der Funktion findResource() in RemoteApplicationResourceLoader.class

Bild 13.7: Funktion findResource()

Diese Funktion gibt eine Methode zurück, die ein benutzerdefiniertes Protokoll RAStreamHandler() enthält. RAStreamHandler erstellt ein URLConnection-Objekt mit dem Wert new RAURLConnection

Bild 13.8: Methode RAStreamHandler()

Die Funktion RAURLConnection ruft die Funktion _getPathBean auf

Bild 13.9: Methode RAURLConnection()

Die Funktion _getPathBean enthält ein Bean-Objekt, das durch den Aufruf der Funktion getInstanceFromString() erstellt wird, die die eingehende Zeichenfolge verarbeitet, um die entsprechenden Schlüssel (Filter) zu extrahieren.

Bild 13.10: Funktion _getPathBean

Die eingehende Bean-Zeichenfolge wird über die Klasse SerializationUtils von einer URL-kodierten Form in ein URLEncoderPathBean-Objekt umgewandelt. Wenn alles in Ordnung ist, wird die Eingabe weiter an die Funktion fromURLEncodeString() übergeben.

Bild 13.11: Funktion getInstanceFromString()

Bild 13.12: Funktion fromURLEncodedString()

Falls die Eingabezeichenfolge auf einen Fehler stößt, wird eine Ausnahme ausgelöst. Die Ausnahme stammt hauptsächlich aus der im Payload verwendeten Bibliothek, aufgrund von Versionsunterschieden oder eines falschen Pfads zur Lambda-Datei.

In der Funktion fromURLEncodedString() wird eine Funktion fromString mit dem Parameter url zurückgegeben, deren Code wie folgt aussieht:

Bild 13.13: Funktion fromString()

In der Funktion fromString werden Daten mit readObject() gelesen und zurückgegeben. Man sieht, dass die Eingabe von Anfang an nicht gefiltert wird, durch mehrere Funktionen läuft und schließlich in fromString() deserialisiert wird. Dies ist die Senke für die Ausnutzung. Nachdem die Senke gefunden ist, muss nun die Quelle gefunden werden.

  1. Quelle finden: Wie oben analysiert, muss zur Auffindung der Quelle die eingehende URL-Anfrage identifiziert werden. Man sieht, dass zum Aufruf der Funktion findResource() die Berechtigung zur Weiterleitung an die Klasse RemoteApplicationResourceLoader erforderlich ist. In der Klasse RenderKitResourceLoader ist dies sehr klar definiert: *****************```bash this._register("/./remote/(.*)", new RemoteApplicationResourceLoader());
root@kitploit:~
Daher benötigen wir einen Regex der Form „/.*/remote/(.*)“, um auf die oben genannte Klasse zuzugreifen. Wenn also der Router oder der eingehende Pfad die Form /em/afr/foo/remote/payload hat, erfüllt er die in dieser Datei festgelegte Struktur, und RemoteApplicationResourceLoader wird als Loader in doGet verwendet, und die entsprechende Klasse oracle.adfinternal.view.resource.rich.RemoteApplicationResourceLoader ruft die darin überschriebene Funktion findResource() auf. Wenn die Nutzlast also an die richtige Adresse gesendet wird, werden die Daten problemlos übertragen, ohne auf einen Filter zu stoßen.

Dies ist die endgültige URL für die Ausnutzung:
__hostname:port/contextApp/afr/remote/payload/__

Wobei contextApp einer der Pfade ist, die bei einer frischen OBIEE-Installation vorhanden sind, wie z. B. /em; /bicomposer; …

Foo ist eine beliebige Zeichenfolge

Payload ist die Zeichenfolge, die beim Ausführen der Main-Funktion des vorbereiteten Angriffsprojekts generiert wird.

### Analyse des zur Erstellung der Nutzlast verwendeten Codes

Dieses Projekt folgt der Gadget-Chain von CVE-2020-14644

![File Lambda](https://raw.githubusercontent.com/hienkiet/CVE-2022-201145-12.2.1.3.0-Weblogic/main/image/payload2.png)

Die Klasse LambdaIdentity$E12ECA49F06D0401A9D406B2DCC7463A, die von AbstractRemotable erbt, wird für die Interaktion mit dem entfernten System verwendet.

Durch die Verwendung der Java Reflection API kann ein Angreifer problemlos den WorkAdapter aus dem aktuellen Ausführungsthread abrufen.

Anschließend wird das Feld connectionHandler des WorkAdapter abgerufen und eine Abfrage durchgeführt, um ServletRequest und ServletResponse aus dem connectionHandler zu erhalten.

Als nächstes wird der Wert des Headers „cmd“ aus der Anfrage (ServletRequest) abgerufen. Wenn „cmd“ nicht leer ist, wird ein Shell-Befehl ausgeführt, der dem aktuell laufenden Betriebssystem (Windows oder Linux/Unix) entspricht.

Das Ergebnis des Shell-Befehls wird gelesen und als Antwort (ServletResponse) zurückgesendet.

Wenn während der Ausführung Fehler auftreten, werden diese über die Methode printStackTrace() auf der Konsole ausgegeben.

Die ID hinter dem Klassennamen LambdaIdentity hängt von der Version des WebLogic-Servers ab; sie ist eine Zeichenfolge, die aus dem MD5-Hashwert der Klasse com.tangosol.internal.util.invoke.ClassIdentity kodiert wird. Da diese Klasse in jeder Version unterschiedlich ist, muss, wie bereits erwähnt, sorgfältig geprüft werden, dass die Nutzlast nicht fehlschlägt.

Hier wird eine Variable cmd aus dem Header der eingehenden Anfrage extrahiert und dann dem Befehl Runtime.getRumtime.exec() unten hinzugefügt. Sie wird im Hex-MD5-Format kodiert und dekodiert. Nach der Übertragung an das OBIEE-System wird der deserialisierte Wert zurückgegeben.

Schließlich wird in der Main-Funktion ein RemoteConstructor-Objekt erstellt, das mithilfe der Bibliothek SerializationUtils in eine URL-kodierte Zeichenfolge umgewandelt wird. Diese Zeichenfolge wird direkt in die URL-Quelle eingefügt, was Angreifern die Möglichkeit gibt, beliebige __cmd__-Befehle einzuschleusen.

![Main-Funktion](https://raw.githubusercontent.com/hienkiet/CVE-2022-201145-12.2.1.3.0-Weblogic/main/image/payload1.png)

## Nachstellung des Exploits

![Exploit /em](https://raw.githubusercontent.com/hienkiet/CVE-2022-201145-12.2.1.3.0-Weblogic/main/image/exploit1.png)

![Exploit /em](https://raw.githubusercontent.com/hienkiet/CVE-2022-201145-12.2.1.3.0-Weblogic/main/image/exploit2.png)

## Referenzen

1. https://peterjson.medium.com/miracle-one-vulnerability-to-rule-them-all-c3aed9edeea2

2. https://testbnull.medium.com/oracle-access-manager-pre-auth-rce-cve-2021-35587-analysis-1302a4542316

## Autor der Schwachstelle: Jang Nguyen & Duc PeterJson
Tool herunterladen