Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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-2019-3396 — Unautorisierte Template-Injection in Confluence | Kitploit
Tools/GitHubGitHub/petrusviet/cve-2019-3396
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubpetrusviet/cve-2019-3396

cve-2019-3396

Unautorisierte Template-Injection in Confluence

Repository anzeigen
212vor 5 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

Nicht autorisierte Template-Injection in Confluence (CVE-2019-3396)

I) Erstellung

  • Dieser Bug betrifft folgende Versionen:
    • Alle Versionen 1.x.x, 2.x.x, 3.x.x, 4.x.x und 5.x.x
    • Alle Versionen 6.0.x, 6.1.x, 6.2.x, 6.3.x, 6.4.x und 6.5.x
    • Alle Versionen 6.6.x vor 6.6.12
    • Alle Versionen 6.7.x, 6.8.x, 6.9.x, 6.10.x und 6.11.x
    • Alle Versionen 6.12.x vor 6.12.3
    • Alle Versionen 6.13.x vor 6.13.3
    • Alle Versionen 6.14.x vor 6.14.2
  • Nach dem Herunterladen des Quellcodes müsst ihr:
    • Den Wert confluence.home in der Datei ./confluence/WEB-INF/classes/confluence-init.properties auf die Adresse des Confluence-Home ändern
    • Den Wert CATALINA_OPTS hinzufügen, damit das Programm im Remote-Debug-Modus laufen kann

Unter Windows, Datei ./bin/setenv.bat

set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

unter Linux, Datei ./bin/setenv.sh

CATALINA_OPTS="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 ${CATALINA_OPTS}"  
  • In der IDE (Intellij) erstellen wir eine Debug-Konfiguration: Remote JVM Debug mit den Werten host und port als localhost:5005 und Command line arguments for remote JVM
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
  • Wir können Postgresql als Datenbank verwenden:
$ su - postgres
postgres@ubuntu:~$ psql -U postgres
postgres@ubuntu:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.
 
postgres=# CREATE USER wiki WITH PASSWORD 'wiki';
CREATE ROLE
postgres=# CREATE DATABASE wiki OWNER wiki;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jira TO wiki;
GRANT
  • Wir müssen die Jar-Dateien ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar, ./confluence/WEB-INF/lib/confluence-x.x.x.jar, ./confluence/WEB-INF/lib/velocity-x.x.x-atlassian-x.jar zur lib hinzufügen, damit wir beim Debuggen den benötigten Quellcode sehen können.

  • Wir führen die Datei ./bin/start-confluence.bat aus, und ihr könnt euch zusätzlich diese Anleitung ansehen, um aus dem Quellcode zu installieren.

II) Analyse

  • Nach dem Lesen der Beschreibung wissen wir, dass dieser Bug von der Funktion Widget Connector ausgeht. Deshalb habe ich sofort gegoogelt, um herauszufinden, was diese Funktion ist und wie man sie verwendet:

    2 Eine Seite bearbeiten

    3
    Andere Makros auswählen

    4 Widget-Connector auswählen

    image

  • Ich wähle willkürlich ein paar Parameter aus und klicke auf Vorschau, danach wechsle ich zu Burp, um zu sehen, ob es etwas Interessantes gibt. image

  • In diesem Paket sehe ich einen Parameter "pluginKey":"com.atlassian.confluence.extra.widgetconnector". Daher vermute ich, dass die Funktion Widget Connector in der Klasse com.atlassian.confluence.extra.widgetconnector definiert ist. Also habe ich im Pfad gesucht, ob es eine verdächtige Jar-Datei gibt.

image

  • Ich versuche, die Datei ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar zur lib des Projekts hinzuzufügen, um den Quellcode lesen und debuggen zu können.

    1
    So fügt man eine Jar-Datei zur lib hinzu

  • Beim Öffnen des Pakets widgetconnector hat es mir die Klasse WidgetMacro angetan. Deshalb setze ich einen Breakpoint im Konstruktor und in der execute-Funktion dieser Klasse, um zu sehen, ob diese Klasse aufgerufen wird, wenn ich die Vorschaufunktion verwende 🕵️

    • Die Funktion execute wurde aufgerufen, danach ruft das Programm DefaultRenderManager.getEmbeddedHtml auf
    • image
Tool herunterladen