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
analyze-Exploit-CVE-2023-22518-Confluence — Analyse de l'exploit CVE-2023-22518 pour Atlassian Confluence Server couvrant la configuration, le diffing de JAR, la cause racine et la restauration non autorisée pour récupérer l'accès administrateur. | Kitploit
Outils/GitHubGitHub/d3ckkno0b/analyze-exploit-cve-2023-22518-confluence
Analyse des VulnérabilitésAnalyse de CodeExploitationRétro-ingénierieExploitation d'Applications WebDébogueursApprentissage et Éducation
GitHubd3ckkno0b/analyze-exploit-cve-2023-22518-confluence

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

analyze-Exploit-CVE-2023-22518-Confluence

Analyse de l'exploit CVE-2023-22518 pour Atlassian Confluence Server couvrant la configuration, le diffing de JAR, la cause racine et la restauration non autorisée pour récupérer l'accès administrateur.

Voir le dépôt
1il y a 1 anPas encore vérifié

Exploit-CVE-2023-22518 CVE-2023-22518 dans Confluence

CVE-2023-22518 : Cette vulnérabilité est décrite comme « une vulnérabilité d'autorisation inappropriée dans la base de données et le serveur de Confluence ». Le bug affecte les versions On-premises des produits Atlassian.

SETUP

Configurez l'environnement en utilisant 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

image

Choisissez Trial Installation, puis cliquez sur le lien pour obtenir la clé d'essai gratuite. Ensuite, configurez le cluster : choisissez non-cluster image

Ensuite, passez à la configuration de la base de données -> Choisissez MySQL image

Suivez les instructions :

Téléchargez le driver MySQL Déposez le fichier .jar dans /home/lily/atlassian/confluence/confluence/WEB-INF/lib Redémarrez Confluence et poursuivez le processus d'installation. image Configurez la base de données, créez l'utilisateur et le mot de passe

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, edit /etc/mysql/my.cnf . Ajoutez les lignes suivantes :

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

image

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 les champs.

image

Vérifiez que la connexion est établie avec succès, cliquez sur Next. Ensuite, inscrivez-vous (Sign up).

image

DEBUG

** Comparez les fichiers jar des deux versions dans IntelliJ **

  • Concrètement, j'ai comparé les versions 8.0.4 et 7.19.16. Selon la description, comparez le fichier confluence.jar des deux versions entre elles.

image

  • La différence entre la version patchée et la version non patchée réside dans @WebSudoRequired et @SystemAdminOnly. WebSudoRequired est une fonctionnalité qui renforce la sécurité des sessions administrateur. Lorsqu'on tente d'accéder à l'administration, le système demande de ressaisir le mot de passe, même si l'on est déjà connecté. Elle ajoute une étape d'authentification supplémentaire pour garantir les droits d'accès à l'administration.

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 ayant un impact sur le système.

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

image

La fonction qui sauvegarde le fichier téléversé utilise getRestoreFileFromUpload

image

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

image

image

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 la 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 gestion des autorisations par les développeurs.

Redirigeons notre 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 sur les intercepteurs.

image

image

image

On constate que le namespace /json étend les fonctionnalités du namespace /admin. Par conséquent, les routes créées pour le namespace /admin peuvent également être atteintes via le namespace /json.

Dans le contexte du namespace /json, le processus de routage d'une requête implique le passage par une chaîne d'intercepteurs. L'un de ces intercepteurs, appelé WebSudoInterceptor, effectue des vérifications basées sur l'URI de la requête.

Concrètement, 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 vers '/json', alors la requête vers '/json/action' est redirigée vers '/setup/action' et 'admin/action'. Dans cette CVE, le chemin vulnérable est '/json/setup-restore.action?synchronous=true'.

Capturez la requête avec Burp Suite : 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 on obtient une réponse 200.

image

image

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

image

Envoyez la requête et recevez la réponse

image

Maintenant, nous pouvons nous connecter avec account admin :admin

image

Et on obtient le résultat suivant

image

Télécharger l’outil