Как взломать Nginx

Как взломать Nginx Хостинг


Как взломать Nginx

Listen to this article

Спасибо что вы с нами!

ВНИМАНИЕ! Все представленные ссылки в статьях могут вести на вредоносные сайты либо содержать вирусы. Переходите по ним на свой страхъ и риск. Тот кто целенаправлено зашел на статью знает что делает. Не нажимайте на все подряд бездумно.

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

ВСЯ РАЗМЕЩЕННАЯ ИНФОРМАЦИЯ НА СТРАНИЦАХ ПОРТАЛА ВЗЯТА ИЗ ОТКРЫТЫХ ИСТОЧНИКОВ

БОЛЬШАЯ ЧАСТЬ ИНФОРМАЦИИ ПРЕДОСТАВЛЯЕТСЯ АБСОЛЮТНО БЕСПЛАТНО

Любая информация, размещенная на сайте https://rucore.net, предназначена только для свободного изучения пользователями сайта. Наша команда прилагает все усилия для того, чтобы предоставить на этом сайте достоверную и полезную информацию, которая отвечает на вопросы пользователей сайта. Ни при каких обстоятельствах Администрация Сайта не несёт ответственности за какой-либо прямой, непрямой, особый или иной косвенный ущерб в результате использования информации на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного cайта, возникновение зависимости, снижения продуктивности, увольнения или прерывания трудовой активности, а равно отчисления из учебных учреждений, за любую упущенную выгоду, приостановку хозяйственной деятельности, потерю программ или данных в Ваших информационных системах или иным образом, возникшие в связи с доступом, использованием или невозможностью использования Сайта, Содержимого или какого-либо связанного интернет-сайта, или неработоспособностью, ошибкой, упущением, перебоем, дефектом, простоем в работе или задержкой в передаче, компьютерным вирусом или системным сбоем, даже если администрация будет явно поставлена в известность о возможности такого ущерба.

Используя данный Сайт, Вы выражаете свое согласие с «Отказом от ответственности» и установленными Правилами и принимаете всю ответственность, которая может быть на Вас возложена. А так же Вы можете ознакомиться с полной версией данного «отказа от ответственности» и нашей «политики конфиденциальности» по следующей ссылке.

Цель данного раздела сайта

Основной задачей закрытого раздела сайта, является сбор (парсинг) и сохраниение в базе данных наиболее интересных и качественных материалов из разнообразных источников. Более подробней можно ознакомиться по ссылке.

Если вам понравились материалы сайта, вы можете поддержать проект финансово, переведя некоторую сумму с банковской карты, счёта мобильного телефона или из кошелька ЮMoney.

Навигация по записям


Как взломать Nginx

Nginx is being used in the wild since a while now. We all have seen NGINX name somewhere while coding/hacking. N GINX has always been a target for hackers/bug bounty hunters due to a lot of misconfigurations in it, and as a security researcher/bug bounty hunter, hacking a web server always fascinates us. Today we will see how we can ACTUALLY hack a NGINX if it is vulnerable, and try to pick some bucks from it.

Well, if you are new to this topic, and somehow don’t know how NGINX as a server works, here is a description from internet:-

Читайте также:  Экспертный перевод адресов веб-сайтов на кириллице

Since NGINX is the most common web server which is used these days, a lot of security issues are there too. We are talking about these today:-

1. Missing root location:-

Check the below code snippet:-

2. Alias LFI Misconfiguration:-

It is always recommended to check “location” statements under NGINX configuration. If you find something like:-

3. Raw backend response reading:-

With Nginx’s proxy_pass, there’s the possibility to intercept errors and HTTP headers created by the backend. This is very useful if you want to hide internal error messages and headers so they are instead handled by Nginx. Nginx will automatically serve a custom error page if the backend answers with one.
Imagine there is an application like this:-

So if we send a simple GET request, our response will be something like this:-

HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.3
Content-Type: text/html
Content-Length: 15
Connection: close

But what if we try to send an invalid request and check what happens next? Something like this:-

GET /? XTTP/1.1
Host: 127.0.0.1
Connection: close

If its vulnerable we should get a response with secret info:-

XTTP/1.1 500 Error
Content-Type: text/html
Secret-Header: secret

4. Небезопасное использование переменных: —

Уязвимая конфигурация NGINX будет выглядеть следующим образом: —

HTTP/1.1 302 Временно перемещен
Сервер: nginx/1.19.3
Тип содержимого: текст/html
Длина контента: 200
Соединение: Keep-alive
Местонахождение: https://abcd.com/
Хакер: тест

— proxy_pass и внутренние директивы:-

Директива proxy_pass может использоваться для перенаправления внутренних запросов на другие внутренние или внешние серверы. Внутренняя директива используется, чтобы дать Nginx понять, что доступ к местоположению возможен только внутри.

Это были некоторые распространенные сценарии атак, возникающие в NGINX. Очевидно, что в этом продукте сообщается о большом количестве переполнений буфера, и всегда рекомендуется проверять все, что вы можете сделать на конкретном сервере. Поскольку NGINX также используется в качестве балансировщика нагрузки, там также возможен DOS. Однако чем больше они обновляют продукт, тем исчезают старые уязвимости. Поскольку он часто используется, есть вероятность, что возникнут новые уязвимости.

Надеюсь, вы почерпнули что-то из этого блога. Старики знают, что многое из того, что упоминается в этом блоге, уже доступно в этом блоге, так что для этих парней немного. Но если вы новичок, вы наверняка получите от этого хорошие знания. Я надеюсь, что это поможет вам узнать пару вещей.

Теперь готов к взлому.

Как взломать Nginx

Вы можете проверить, работает ли сервер, используя следующую команду

статус службы sudo nginx

Войти в полноэкранный режим

Выйти из полноэкранного режима

Посмотрим при запросе к серверу, что мы получим в заголовке ответа

Чтобы переименовать сервер по умолчанию, нам нужна директива с именем more_set_headers, но она не используется по умолчанию с Nginx, нам нужно установить динамический модуль с именем headers-more-nginx-module

Читайте также:  Рейтинг лучших хостингов для сайта Wordpress на апрель 2022г, недорогие хостинги для WP в России

Если вы установили пакет nginx ubuntu, вам необходимо загрузить ту же версию Nginx, которая уже установлена. Это необходимо сделать для компиляции динамического модуля.
Давайте загрузим и разархивируем nginx

wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar -xvzf nginx-1.18.0.tar.gz

Поскольку nginx уже установлен, мы можем просмотреть список установленных модулей. Вы можете сделать это, используя

Скопируем вывод и передадим его при перекомпиляции модуля nginx-with-headers-more

Скачиваем и устанавливаем модуль nginx-with-headers-more

Как только это будет сделано, у нас появится модуль в каталоге /home/ubuntu/nginx-1.18.0/objs. Нам нужно переместить это в существующий каталог установленных модулей nginx

sudo cp ngx_http_headers_more_filter_module.so /usr/lib/nginx/modules/

Перезапустите сервер nginx

перезапуск службы sudo nginx

Давайте еще раз проверим заголовок ответа

curl -I localhost
HTTP/1.1 200 ОК
Дата: вторник, 22 февраля 2022 г., 21:57:08 по Гринвичу
Тип содержимого: текст/html
Длина содержимого: 612
Последнее изменение: вторник, 22 февраля 2022 г., 20:56:10 GMT
Соединение: Keep-alive
ETag: «62154dea-264»
Сервер: Гэндальф
Допустимые диапазоны: байты

Если вы хотите полностью удалить имя сервера, передайте пустое имя сервера, как это в файле nginx.conf

more_set_headers ‘Сервер: ‘;

curl -I localhost
HTTP/1.1 200 ОК
Дата: вторник, 22 февраля 2022 г., 21:58:02 по Гринвичу
Тип содержимого: текст/html
Длина содержимого: 612
Последнее изменение: вторник, 22 февраля 2022 г., 20:56:10 GMT
Соединение: Keep-alive
ETag: «62154dea-264»
Допустимые диапазоны: байты

Nginx уже некоторое время используется в дикой природе. Все мы видели, как NGINX где-то идентифицирует себя при кодировании/взломе. N GINX всегда был целью хакеров/охотников за ошибками из-за многочисленных неправильных конфигураций в нем, и, как исследователя безопасности/охотника за ошибками, взлом онлайн-сервера всегда очаровывает нас. Прямо сейчас мы увидим, как мы НА САМОМ ДЕЛЕ взломаем NGINX, если он восприимчив, и попытаемся получить от него какие-то деньги.

Фактически, если вы новичок в этом вопросе и каким-то образом не понимаете, как работает NGINX как сервер, вот описание из Интернета: —

Итак, как только мы понимаем, как это работает, наши субъекты начинают. И цель состоит в том, в какой части происходят неправильные конфигурации? По сути, есть много проблем, которые могут решиться по-разному, если мы не настроим их правильно. Если вы вернетесь в историческое прошлое, переполнение буфера кучи NGINX SPDY было использовано в 2014 году. Чтобы использовать это, злоумышленник может выполнить произвольный код, специально создав запрос для запуска переполнения буфера памяти кучи. Это может серьезно повлиять на сетевой сервер. Кроме того, в 2020 году в NGINX присутствовала уязвимость PHP, связанная с удаленным выполнением кода, что было экстремально и считалось одним из важных открытий в отношении этого продукта. Вы можете узнать больше о них в Интернете. Я ухожу это на вас.

Поскольку NGINX является наиболее типичным интернет-сервером, который используется в последнее время, здесь тоже есть множество точек безопасности. Мы говорим о них прямо сейчас: —

Читайте также:  DNS Hosting Yandex стоит ли? — Хабр Q&A

1. Отсутствие корня:-

Проверьте приведенный ниже фрагмент кода: —

Всегда рекомендуется проверять операторы «местоположения» в конфигурации NGINX. Если вы обнаружите что-то вроде: —

Возможно, вы можете пойти вперед и провести LFI прямо здесь. Как? Увеличьте его до /imgs./secret.txt, и он изменится на /path/photographs/./secret.txt. Вы можете узнать больше об этом прямо здесь: — LFI/Path traversal.

3. Изучение реакции бэкэнда в сыром виде: —

С помощью proxy_pass Nginx существует вероятность перехвата ошибок и заголовков HTTP, созданных серверной частью. Это очень полезно, если вы хотите скрыть внутренние сообщения об ошибках и заголовки, чтобы они вместо этого обрабатывались Nginx. Nginx будет автоматически обслуживать настроенную веб-страницу с ошибкой, если серверные решения с ней. Подумайте о такой полезности: —

Итак, если мы отправим простой запрос GET, наш ответ, вероятно, будет примерно таким: —

HTTP/1.1 500 Внутренняя ошибка сервераСервер: nginx/1.10.3Материал контента-Тип: текстовое содержимое/htmlМатериал контента-Размер: 15Соединение: закрыто

Но что, если мы попытаемся отправить недействительный запрос и проверим, что произойдет дальше? Что-то вроде этого:-

ПОЛУЧИТЬ /? XTTP/1.1Хост: 127.0.0.1Соединение: закрыто

Если это уязвимо, мы всегда должны получить ответ с секретной информацией:-

XTTP/1.1 500 ErrorContent material-Kind: textual content/htmlSecret-Header: secret

Подверженная конфигурация NGINX будет выглядеть следующим образом: —

Новые символы строки для HTTP-запросов — r (возврат каретки) и n (перевод строки). URL-кодирование символов новой строки заканчивается следующей иллюстрацией символов %0dpercent0a. Когда эти символы включены в запрос типа http://localhost/%0d%0aHacker:%20test к серверу с неправильной конфигурацией, сервер ответит новым заголовком с именем HACKER по той причине, что переменная $uri включает URL-адрес. -декодированные символы новой строки

HTTP/1.1 302 Кратко перенесеноСервер: nginx/1.19.3Материал контента-Вид: текстовый контент/htmlМатериал контента-Размер: 200Соединение: keep-aliveРасположение: https://abcd.com/Hacker: проверить

– proxy_pass и внутренние директивы:-

Директиву proxy_pass можно использовать для перенаправления внутренних запросов на разные внутренние или внешние серверы. Внутренняя директива используется, чтобы дать Nginx понять, что доступ к ситуации возможен только внутри.

В NGINX возникали частые ситуации атак. В этом продукте явно много сообщений о переполнении буфера, и всегда рекомендуется тестировать все, что вы можете сделать на конкретном сервере. Поскольку NGINX также используется в качестве балансировщика нагрузки, DOS также может работать там. Тем не менее, чем больше они заменяют продукт, тем исчезают прежние уязвимости. Поскольку он так часто используется, есть вероятность, что появятся новые уязвимости.

Надеюсь, вы что-то купили в этом блоге. Старые люди знают, что многие проблемы, о которых говорится в этом блоге, уже доступны в этом блоге, поэтому для этих парней это не так уж важно. Однако, если вы новичок, вы наверняка получите от него полезную информацию. Я надеюсь, что это позволит вам узнать несколько вопросов.

Теперь можно взломать.

Посты

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Как взломать Nginx

Оцените статью
Хостинги