Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Exploit-CVE-2023-22518 — Exploit pour CVE-2023-22518 dans Atlassian Confluence. Fournit un guide détaillé de la vulnérabilité, incluant la configuration de l'environnement, l'analyse de la cause racine via le diffing, et les étapes d'exploitation pour obtenir un accès administrateur. | Kitploit
Outils/GitHubGitHub/lilly-dox/exploit-cve-2023-22518
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHublilly-dox/exploit-cve-2023-22518

Exploit-CVE-2023-22518

Exploit pour CVE-2023-22518 dans Atlassian Confluence. Fournit un guide détaillé de la vulnérabilité, incluant la configuration de l'environnement, l'analyse de la cause racine via le diffing, et les étapes d'exploitation pour obtenir un accès administrateur.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
1il y a 2 ansPas encore vérifié

Exploit-CVE-2023-22518

CVE-2023-22518 in Confluence

CVE-2023-22518 : Cette vulnérabilité est décrite comme une « vulnérabilité d'autorisation incorrecte dans la base de données et le serveur de Confluence ». Elle affecte les versions sur site (On-premises) des produits Atlassian.

Configuration de l'environnement Utilisation de la version vulnérable 8.0.4 URL de téléchargement : https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

1

Sélectionnez Installation d'essai, puis cliquez sur le lien pour obtenir une clé d'essai gratuite. Ensuite, configurez le cluster : choisissez non-cluster. 2

Ensuite, allez dans la configuration de la base de données -> Choisissez MySQL

3

Suivez les instructions :

  1. Téléchargez le pilote MySQL
  2. Déposez le fichier .jar dans /home/lily/atlassian/confluence/confluence/WEB-INF/lib
  3. Redémarrez Confluence et continuez le processus d'installation.

4

Configurez la base de données, créez un utilisateur et un mot de passe pour la table

root@kitploit:~
CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

Ensuite, éditez /etc/mysql/my.cnf. Ajoutez les lignes suivantes :

root@kitploit:~
transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

5

Ensuite, redémarrez MySQL et Confluence. Puis allez sur la page d'installation à localhost:8090 et utilisez la base de données créée pour remplir

6

Vérifiez que la connexion est réussie, cliquez sur Suivant. Ensuite, inscrivez-vous.

7

Débogage

*Diff Différenciez les deux fichiers jar des deux versions dans IntelliJ. Plus précisément, je compare les versions 8.0.4 et 7.19.16 Selon la description, différenciez le fichier confluence.jar des deux versions

image

La différence entre la version patchée et non patchée est @WebSudoRequired et @SystemAdminOnly WebSudoRequired est une fonctionnalité pour renforcer la sécurité des sessions administrateur. Lorsqu'on tente d'accéder à l'administration, le système demande de saisir à nouveau le mot de passe même si vous êtes déjà connecté. Cela ajoute une étape d'authentification supplémentaire pour garantir les droits d'accès administratif.

SystemAdminOnly : C'est une fonctionnalité qui limite les fonctions d'administration aux seuls comptes administrateurs. Cela garantit que seuls les comptes autorisés peuvent effectuer des opérations critiques et ayant un impact sur le système.

Placez un point d'arrêt sur validate() dans RestoreAction.class

Screenshot 2024-03-24 081621

La fonction qui enregistre le fichier téléchargé utilise getRestoreFileFromUpload

Screenshot (541)

getExportDescriptor est utilisé pour décompresser et lire le contenu du fichier zip

Screenshot (542)

Screenshot (543)

Cependant, après le débogage, la cause racine de la vulnérabilité n'a pas encore été trouvée.

La cause décrite dans le CVE est une vulnérabilité d'autorisation. Cela nous amène à orienter notre attention vers les recherches sur les vulnérabilités du langage Java lors du processus de délégation des droits par les développeurs.

Redirigez l'attention vers le fichier struts.xml, ce fichier contient des informations sur les actions et le routage basé sur les espaces de noms ainsi que les intercepteurs.

Screenshot 2024-03-24 082951

Screenshot 2024-03-24 083107

Screenshot 2024-03-24 083206

9

On voit que l'espace de noms /json améliore les fonctionnalités de l'espace de noms /admin. Ainsi, les routes créées pour l'espace de noms /admin peuvent également être accessibles via l'espace de noms /json.

Dans le contexte de l'espace de noms /json, le processus de routage des requêtes implique de passer par une chaîne d'intercepteurs. L'un de ces intercepteurs, appelé WebSudoInterceptor, effectue une vérification basée sur l'URI de la requête.

Plus précisément, WebSudoInterceptor effectue les vérifications suivantes :

Si le chemin de la requête est /authenticate.action, il est ignoré. Si le chemin de la requête est /admin, il vérifie si l'attribut WebSudoNotRequired est vide ou non.

Si une requête est envoyée à '/json', alors la requête vers '/json/action' sera redirigée vers '/setup/action' et 'admin/action'. Dans ce CVE, le chemin vulnérable est '/json/setup-restore.action?synchronous=true'

Capturez la requête dans BurpSuite, GET /json/setup-restore.action . Cependant, on reçoit une réponse 'Method Not Allowed'. Essayez avec POST /json/setup-restore.action?synchronous=true et obtenez une réponse 200

10

11

Téléchargez le fichier xmlexport-200123123001.zip

12

et recevez la réponse

13

Maintenant, nous pouvons nous connecter avec le compte admin :admin

14

Et le résultat est le suivant

15

Télécharger l’outil