Joomla

Enumeração

Podemos coletar impressões digitais do Joomla observando o código-fonte da página.

curl -s http://dev.site.local/ | grep Joomla

O arquivo robots.txt para um site Joomla geralmente terá esta aparência:

# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
# eg the Disallow rule for the /administrator/ folder MUST
# be changed to read
# Disallow: /joomla/administrator/
#
# For more information about the robots.txt standard, see:
# https://www.robotstxt.org/orig.html

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Podemos imprimir a versão do Joomla se o arquivo README.txt está presente.

Em certas instalações do Joomla, podemos imprimir a versão de arquivos JavaScript no diretóriomedia/system/js/ ou navegando para administrator/manifests/files/joomla.xml.

Utilizando JoomlaScanarrow-up-right

A conta de administrador padrão nas instalações do Joomla é admin, mas a senha é definida no momento da instalação. Podemos fazer brute force com joomla-brutearrow-up-right


Exploração

Vamos fazer login no backend de destino em http://dev.site.local/administrator usando admin:admin.

A partir daqui, podemos clicar em Templates no canto inferior esquerdo abaixo Configuration para abrir o menu de modelos, Em seguida podemos clicar no nome de um modelo e costumizar.

Vamos escolher o error.php página. Adicionaremos uma linha única em PHP para obter a execução do código da seguinte maneira.

Depois que isso estiver pronto, clique em Save & Close na parte superior e confirme a execução do código usando CURL.

Atualizado