Информационная безопасность (ИБ)
December 19

Уязвимости веб-приложений: CRLF-инъекция и чем она опасна

Во время фазы сканирования я наткнулся на интересный параметр, который побудил меня протестировать его на предмет CRLF-инъекции. В этом блоге я поделюсь методами и инструментами, которые я использовал на данном этапе, а также дам несколько советов, которые вы можете применить в процессе поиска уязвимостей. Давайте начнем!

Что такое CRLF-инъекция?

CRLF-инъекция может быть использована для усиления более опасных атак, таких как межсайтовый скриптинг (XSS), отравление веб-кэша и так далее. CRLF-инъекции возникают, когда злоумышленник имеет возможность внедрить CRLF символы в веб-приложение, например, через форму ввода для пользователя.

Я начал с базовых вещей, собрав все целевые поддомены с помощью различных инструментов, таких как amass, sublister, subfinder.

Затем я провел фаззинг сайта, используя такие инструменты, как Waybackurls и Gobuster. Все уникальные параметры и URL-адреса были направлены через прокси для анализа с помощью Burp Suite.

После анализа 10 URL-адресов я обнаружил subdomain.redacted.com/%0D%0A. Всё, что мы ввели после этого, отобразилось в заголовке ответа. Почему бы не попробовать использовать CRLFUZZ, чтобы найти уязвимость CRLF?

Как показано на изображении выше, я смог подтвердить, что целевой сайт уязвим к CRLF-инъекции. Я решил найти другие уязвимсоти, которые можно зачейнить с данной уязвимостью.

Эксплойты, которые можно выполнить с помощью CRLF-инъекции:

Cookie Injection: Это уязвимость веб-приложений, при которой злоумышленник может внедрить вредоносные данные в cookies пользователя. Это возможно из-за ошибки в обработке пользовательского ввода сайтом — например, через форму или параметры запроса. После успешной инъекции в cookies злоумышленник может использовать эти данные для получения доступа к аккаунту пользователя или выполнения иных вредоносных действий.

Отключение защиты от XSS: Если на сайте отключена защита от межсайтового скриптинга (XSS), он становится более уязвимым. XSS — это тип уязвимости, который позволяет злоумышленнику внедрять вредоносный код, который может быть выполнен другими пользователями при посещении сайта, что потенциально предоставляет атакующему доступ к их cookies, токенам сессий или другой конфиденциальной информации.

Инъекция HTTP-заголовков: Инъекция HTTP-заголовков — позволяет злоумышленнику вставить вредоносные данные в заголовки HTTP-запроса. Уязвимость возникает благодаря ошибкам в обработке пользовательского ввода на сайте, например через форму или параметр запроса.

После успешного внедрения вредоносных данных в заголовки HTTP-запроса атакующий может использовать их для получения доступа к учетной записи цели.

Меры по предотвращению CRLF-инъекции

Разработчику следует учитывать следующие аспекты для предотвращения CRLF-инъекции:

- Проверка пользовательского ввода.

- Кодирование символов CR и LF (\r, \n).

- Проверка пользовательского ввода до того, как он попадёт в заголовки ответа (например, с использованием методов типа StringEscapeUtils.escapeJava()). Ненужные заголовки должны быть отключены.

Источник

Life-Hack Media:

Life-Hack - Жизнь-Взлом

OSINT

Новости Кибербеза

Курсы по программированию

Юмор