CVE-2023-7173: Межсайтовый скриптинг (XSS) с сохранением в базе данных в системе управления больницей
Сведения об уязвимости
- Идентификатор CVE: CVE-2023-7173
- Тип уязвимости: Stored XSS (XSS с сохранением)
- Затронутый компонент: Страница входа пользователя
- Уязвимый параметр: Fullname
- Сведения о разработчике: phpgurukul.com
- Уязвимая версия: Hospital Management System 1.0
Описание уязвимости
Межсайтовый скриптинг (XSS) с сохранением — это серьёзная веб-уязвимость, которая позволяет внедрить вредоносный код на веб-сайт, сохранить его в базе данных и впоследствии выполнить, когда другие пользователи просматривают заражённую страницу. В данном конкретном случае уязвимость обнаружена на странице входа пользователя в систему управления больницей (HMS), где параметр «Fullname» подвержен атакам Stored XSS. Отсутствие надлежащей проверки вводимых данных и их очистки позволяет злоумышленнику внедрять вредоносные скрипты, что потенциально может привести к компрометации учётных записей пользователей, краже конфиденциальной информации или выполнению несанкционированных действий.
Шаги по воспроизведению (PoC)
Клонирование репозитория:
git clone https://github.com/sharathc213/CVE-2023-7172.git
cd CVE-2023-7172
Запуск Docker Compose:
docker-compose up -d
Доступ к форме регистрации пользователя:
- Откройте веб-браузер и перейдите к форме регистрации пользователя по адресу
http://localhost:8080/hms/registration.php
Заполнение формы регистрации:
Отправка формы регистрации:
- Нажмите кнопку «Submit», чтобы отправить данные регистрации на сервер.
Проверка успешной регистрации:
- Получите сообщение о подтверждении успешной регистрации.
Вход с использованием зарегистрированной электронной почты:
- Перейдите на страницу входа по адресу
http://localhost:8080/hms/user-login.php.
Ввод зарегистрированной электронной почты:
- В форме входа укажите адрес электронной почты, использованный при регистрации.
Выполнение входа:
- Отправьте форму входа, нажав кнопку «Log In».
Наблюдение за XSS-полезной нагрузкой:

- После успешного входа XSS-полезная нагрузка должна вызвать всплывающее окно с отображением файлов cookie пользователя, что свидетельствует о наличии уязвимости Stored XSS.
Влияние Stored XSS в системе управления больницей
Уязвимость Stored XSS в системе управления больницей может иметь серьёзные последствия, включая:
-
Раскрытие данных пациентов:
- Возможная кража конфиденциальных данных пациентов для кражи личности или мошенничества.
-
Риски для безопасности пациентов:
- Несанкционированные изменения в записях пациентов могут поставить под угрозу их безопасность.
-
Несанкционированные действия:
- Злоумышленник может выполнять действия от имени пользователей, что приводит к несанкционированному доступу и возможному злоупотреблению.
-
Подрыв доверия:
- Ущерб репутации медицинского учреждения из-за нарушенного доверия.
-
Несоблюдение нормативных требований:
- Нарушение нормативных актов о защите данных, что влечёт за собой штрафы и юридические последствия.
-
Нарушение медицинских услуг:
- Возможные сбои в уходе за пациентами, ошибки в назначении лекарств или неправильные диагнозы с серьёзными последствиями для здоровья.
-
Юридические и этические последствия:
- Юридическая ответственность за причинённый вред, а также этические проблемы, связанные с конфиденциальностью пациентов.
-
Финансовые последствия:
- Затраты, связанные с устранением последствий взлома, включая расследования, обновление систем и судебные издержки.
Рекомендации по устранению
Для устранения данной уязвимости внедрите следующие меры:
- Проверка и очистка вводимых данных:
- Внедрите строгие процедуры проверки вводимых данных и их очистки, чтобы гарантировать отсутствие вредоносного кода в пользовательском контенте. Это включает проверку данных как на стороне клиента, так и на стороне сервера.
Отказ от ответственности
Этот проект намеренно уязвим и должен использоваться только в образовательных и тестовых целях. Не разворачивайте его в производственной среде.