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-2023-22515 — Schritt-für-Schritt-Exploit-Durchlauf für CVE-2023-22515, eine kritische Schwachstelle in der Zugriffskontrolle von Atlassian Confluence Server und Data Center, die die Erstellung eines Admin-Kontos aus der Ferne ermöglicht. | Kitploit
Tools/GitHubGitHub/tranphuc2005/cve-2023-22515
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubtranphuc2005/cve-2023-22515

CVE-2023-22515

Schritt-für-Schritt-Exploit-Durchlauf für CVE-2023-22515, eine kritische Schwachstelle in der Zugriffskontrolle von Atlassian Confluence Server und Data Center, die die Erstellung eines Admin-Kontos aus der Ferne ermöglicht.

Repository anzeigen
vor 11 MonatenNoch 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

CVE-2023-22515

Hauptinformationen zu CVE-2023-22515

  • Betroffene Produkte: Atlassian Confluence Data Center & Confluence Server.
  • Veröffentlichungsdatum: 04.10.2023.
  • Schweregrad: Critical (CVSS ~ 10.0).
  • Schwachstellentyp: Broken Access Control / Improper Authorization → erlaubt Angreifern, aus der Ferne ein Admin-Konto zu erstellen.
  • Der Fehler liegt im Confluence-Setup-Mechanismus.
  • Betroffene Versionen: Confluence Data Center & Server 8.0.0 – 8.5.1.

Exploit-Durchführung

  • Zunächst gibt es bei der Installation von Confluence einen Konfigurationsschritt für den Serverbetrieb, z. B. Datenbankverbindung, Benutzererstellung, … Diese Vorgänge werden über den Webbrowser und die URL-Pfade /setup/ durchgeführt. Der letzte Schritt der Konfiguration ist /setup/setupadministrator.action.
  • Nach Abschluss werden diese Einstellungen nicht mehr aufgerufen. Wenn wir versuchen, sie aufzurufen, wird eine Fehlermeldung angezeigt.

1

  • Dies rührt von einem der Interceptoren her, nämlich dem SetupCheckInterceptor der struts.xml.

    • struts.xml ist die zentrale Konfigurationsdatei für Struts.
    • Sie definiert, wie Confluence URL → Action-Klasse → View-Template mapped.
    • Gleichzeitig werden die Interceptor deklariert (Klassen, die Requests vor/nach der Ausführung einer Action abfangen).

1

Im SetupCheckInterceptor wird BootstrapUtils.getBootstrapManager().isSetupComplete() aufgerufen:

root@kitploit:~
public String intercept(ActionInvocation actionInvocation) throws Exception {
    if (BootstrapUtils.getBootstrapManager().isSetupComplete() && ContainerManager.isContainerSetup())
        return "alreadysetup"; 
    return actionInvocation.invoke();
}

Erklärung

  • BootstrapUtils.getBootstrapManager().isSetupComplete()
    → Überprüft, ob Confluence den Setup-Vorgang (via Wizard, Lizenz eingeben, Admin-Benutzer erstellen) abgeschlossen hat.

  • ContainerManager.isContainerSetup()
    → Überprüft, ob der Spring IoC-Container vollständig initialisiert wurde.

  • Wenn beide Bedingungen zutreffen:
    → Das System ist vollständig eingerichtet → Interceptor gibt sofort "alreadysetup" zurück.
    → Die Action (üblicherweise Setup-Actions wie SetupDatabaseAction, SetupLicenseAction, …) wird nicht ausgeführt.

  • Wenn noch nicht vollständig eingerichtet:
    → actionInvocation.invoke() wird aufgerufen → die vom Benutzer angeforderte Action wird ausgeführt.

getBootstrapManager() → gibt in der Regel DefaultAtlassianBootstrapManager zurück, der die gesamten Kernkonfigurationsinformationen während des Setups verwaltet.

  • In DefaultAtlassianBootstrapManager.isSetupComplete können wir sehen, dass die Methode der Anwendungskonfiguration isSetupComplete aufgerufen wird, um zu prüfen, ob der Setup-Vorgang abgeschlossen ist.

1

=> Wenn wir isSetupComplete = false setzen, gibt SetupCheckInterceptor nicht “alreadysetup” zurück und /setup/setupadministrator.action wird zugänglich.

Unten finden wir eine ServerInfoAction:

  • ServerInfoAction = Öffentliche Action in Confluence → erlaubt jedem Benutzer den Aufruf ohne Login, ohne CSRF-Token. Bei Ausführung gibt sie einfach "success" zurück → mapped auf ein Template, das Serverinformationen anzeigt.

1

  • Sie erbt von ConfluenceActionSupport.

  • In ConfluenceActionSupport sehen wir, dass getBootstrapStatusProvider eine BootstrapStatusProviderImpl-Instanz zurückgibt, nach der wir suchen.

1

  • In BootstrapStatusProviderImpl gibt es getApplicationConfig, das die Anwendungskonfiguration zurückgibt.

1

  • Schließlich sieht man im Inneren von ApplicationConfig, dass es die Methode setSetupComplete implementiert.

1

  • Durch Kombination der obigen Teile können wir eine Methodenkette ableiten, um setSetupComplete auf false zu setzen.
root@kitploit:~
getBootstrapStatusProvider(). getApplicationConfig (). setSetupComplete ( false );
  • XWorks2 erlaubt uns, eine solche Getter/Setter-Kette auszuführen. Wir können einen HTTP-Parameter konstruieren, um die obige Methodenaufrufkette zu implementieren, indem wir die von XWorks2 geforderte Notation verwenden.
root@kitploit:~
bootstrapStatusProvider.applicationConfig.setupComplete=false
  • Wir nutzen /server-info.action als eine URL in Confluence, die von ServerInfoAction verarbeitet wird, da es sich um einen öffentlichen Endpunkt ohne Anmeldung handelt.
root@kitploit:~
/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

1

Debug-Prüfung:

  • setupComplete (Parameter, der an die Methode übergeben wird)
    → false
    Das bedeutet, die Methode wird mit dem Parameter false aufgerufen.

  • this.setupComplete (Instanzvariable des ApplicationConfig-Objekts)
    → true (vor der Zuweisung).

  • Nach Ausführung des Befehls → wird this.setupComplete zu false.

1

  • Nach Abschluss des obigen Schritts versuchen wir erneut, den Endpunkt /setup/setupadministrator.action aufzurufen – erfolgreich.

1

  • Nach der Erstellung melden wir uns an und überprüfen die Berechtigungen.

1

Tool herunterladen