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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2018-18925 — Эксплойт для CVE-2018-18925: удалённое выполнение кода в Gogs через обход каталога при обработке сессий, позволяющее обойти сессию и получить доступ администратора с последующим RCE через git-хуки. | Kitploit
Инструменты/GitHubGitHub/j4k0m/cve-2018-18925
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubj4k0m/cve-2018-18925

CVE-2018-18925

Эксплойт для CVE-2018-18925: удалённое выполнение кода в Gogs через обход каталога при обработке сессий, позволяющее обойти сессию и получить доступ администратора с последующим RCE через git-хуки.

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

Популярное

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

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

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

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

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

CVE-2018-18925

Эксплуатация CVE-2018-18925 — удаленное выполнение кода в самостоятельно размещаемом Git-инструменте: Gogs.

Gogs основан на фреймворке Macaron. Система управления сессиями очень похожа на ту, что используется в PHP. Идентификатор сессии в cookie сопоставляется с файлом в файловой системе. Когда веб-сервер получает запрос с идентификатором сессии (в виде cookie), он ищет соответствующий файл в файловой системе.

Уязвимость представляет собой простой обход каталога (directory traversal) при получении файла, используемого для сессии, в файловой системе. Например, вы можете установить cookie i_like_gogits в значение ../../../../../../etc/passwd, чтобы получить ошибку от сервера.

image

Эксплуатация:

Для эксплуатации обхода сессии нам потребуется способ загрузить специально созданный файл, затем мы будем использовать этот файл как наш идентификатор сессии; мы можем создать собственный файл идентификатора сессии с помощью https://github.com/RyouYoo/CVE-2018-18925/blob/main/main.go.

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

root@kitploit:~
go run main.go

Загрузка вредоносного файла и вход в систему как администратор

При создании локальной копии репозитория Gogs помещает файлы в /data/gogs/data/tmp/local-repo/[REPO_ID]/[FILENAME] (этот репозиторий создаётся только при использовании функции "Загрузить файл").

image

Где [FILENAME] — это имя загружаемого вами файла, а [REPO_ID] — идентификатор репозитория, который можно найти с помощью ссылки Fork:

image

Где 5 — это идентификатор репозитория.

По умолчанию сессии хранятся в /data/gogs/data/sessions/. Таким образом, вы можете использовать следующий относительный путь в качестве идентификатора сессии: ../tmp/local-repo/[REPO_ID]/[FILENAME]. Используя этот путь в вашей cookie i_like_gogits, вы будете авторизованы как administrator.

133289399-47f6692b-7cfa-443d-89d3-caa5b9828250

Удаленное выполнение кода:

Для получения RCE вы можете использовать функциональность git-хуков в репозитории для запуска shell-скрипта.

image

В pre-receive внедрите ваш код:

image

Затем выполните push-запрос с помощью git или функции создания файла, чтобы хук выполнился.

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