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

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

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

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

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

Категории

Все категории
Loading categories
nginx-CVE-2017-7529 — PoC-эксплойт для уязвимости переполнения целых чисел в Nginx (CVE-2017-7529), позволяющий чтение кэша за пределами границ. Включает лабораторную среду на основе Docker и скрипт на Python для тестирования. | Kitploit
Инструменты/GitHubGitHub/cyberharsh/nginx-cve-2017-7529
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubcyberharsh/nginx-cve-2017-7529

nginx-CVE-2017-7529

PoC-эксплойт для уязвимости переполнения целых чисел в Nginx (CVE-2017-7529), позволяющий чтение кэша за пределами границ. Включает лабораторную среду на основе Docker и скрипт на Python для тестирования.

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

Популярное

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

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

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

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

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

Уязвимость чтения кэша Nginx за пределами границ (CVE-2017-7529)

Принцип уязвимости

Справочная литература:

  • https://cert.360.cn/detailnews.html?id=b879782fbad4a7f773b6c18490d67ac7
  • http://galaxylab.org/cve-2017-7529-nginx%E6%95%B4%E6%95%B0%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90/

Когда Nginx работает в режиме обратного прокси, он обычно кэширует некоторые файлы, особенно статические. Кэшированная часть хранится в файлах, каждый файл кэша включает «заголовок файла» + «заголовки HTTP-ответа» + «тело HTTP-ответа». Если второй запрос попадает в этот кэш-файл, Nginx напрямую возвращает пользователю «тело HTTP-ответа» из этого файла.

Если запрос содержит заголовок Range, Nginx вернет содержимое указанной длины в соответствии с заданными позициями start и end. А если я укажу две отрицательные позиции, например (-600, -9223372036854774591), то может быть возможно прочитать данные из отрицательных позиций. Если при этом запрос попадет в кэш-файл, то можно будет прочитать «заголовок файла», «заголовки HTTP-ответа» и другие данные, расположенные перед «телом HTTP-ответа» в кэш-файле.

Воспроизведение уязвимости

Запуск тестовой среды:

docker-compose up -d

Откройте http://your-ip:8080/ — вы увидите страницу Nginx по умолчанию, которая на самом деле является содержимым, проксируемым с порта 8081.

Запустите python3 poc.py http://your-ip:8080/ и прочитайте результат:

Как видно, были прочитаны за пределами границ «заголовок файла», «заголовки HTTP-ответа» и другие данные, расположенные перед «телом HTTP-ответа».

Если чтение происходит неправильно, отрегулируйте смещение (605) в poc.py.

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