
Injeção de template não autorizada no Confluence
confluence.home para o endereço do home do Confluence no arquivo ./confluence/WEB-INF/classes/confluence-init.propertiesCATALINA_OPTS para que o programa possa ser executado em modo debug remotoNo Windows, arquivo ./bin/setenv.bat
set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
no Linux, arquivo ./bin/setenv.sh
CATALINA_OPTS="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 ${CATALINA_OPTS}"
Remote JVM Debug com host e port como localhost:5005 e Command line arguments for remote JVM-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
$ 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
Precisamos adicionar os JARs: ./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 à biblioteca para que ao depurar possamos ver o código-fonte necessário.
Execute o arquivo ./bin/start-confluence.bat e você pode consultar este guia para instalar a partir do código-fonte.
Após ler a Descrição, sabemos que esse bug começa no recurso Widget Connector, então pesquisei no Google imediatamente para saber o que é esse recurso e como usá-lo:
editar uma página

Escolher Outros macros
Escolher Widget connector

Escolho alguns parâmetros aleatoriamente e clico em preview, depois mudo para o burp para ver se há algo interessante.

Nesse pacote, vejo um parâmetro "pluginKey":"com.atlassian.confluence.extra.widgetconnector", então suponho que o recurso Widget Connector é definido na classe com.atlassian.confluence.extra.widgetconnector, então procurei no path se havia algum JAR suspeito.

Tento adicionar o arquivo ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar à biblioteca do projeto para poder ler o código-fonte e depurar.
Como adicionar arquivo JAR à biblioteca
Abrindo o pacote widgetconnector, sinto simpatia pela classe WidgetMacro, então coloco um breakpoint no construtor e no método execute dessa classe para ver se quando uso o recurso Preview essa classe é chamada 🕵️

execute foi chamado, depois o programa chama DefaultRenderManager.getEmbeddedHtml