20 Фев, 2023

Атака с отравлением веб-кэша

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Аббревиатура для отравления веб-кэша - WCP.

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

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

Чтобы осуществить атаку с отравлением веб-кэша, злоумышленник отправляет специально созданные HTTP-запросы на веб-сервер, что может привести к тому, что в кэше будет храниться вредоносный контент злоумышленника вместо законного контента. Когда пользователь запрашивает законный контент, кэш возвращает вместо него вредоносный контент злоумышленника, который может варьироваться от поддельных страниц входа в систему до файлов, зараженных вредоносным ПО.

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

Типы отравления веб-кэша

Существует несколько типов атак с отравлением веб-кэша, которые известны кибератакующим. 

  1. Слепое отравление веб-кэша: при этом типе атаки злоумышленник отправляет HTTP-запросы со специально созданными заголовками, которые заставляют веб-кэш хранить содержимое злоумышленника. Злоумышленник не получает никакого ответа от сервера, что затрудняет обнаружение атаки.

  2. Отравление веб-кэша с задержкой: при этом типе атаки злоумышленник отправляет HTTP-запросы, предназначенные для кэширования в течение более длительного периода времени. Эта задержка может затруднить обновление кэша законным контентом, давая злоумышленнику больше времени для обслуживания вредоносного контента.

  3. Заражение веб-кэша с использованием заголовков: при этом типе атаки злоумышленник вводит вредоносный контент в HTTP-заголовки, которые затем сохраняются в веб-кэше. Это позволяет злоумышленнику контролировать контент, который предоставляется пользователям, запрашивающим законный контент.

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

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

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

Примеры запросов, которые можно использовать для проверки отравления веб-кэша

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

Пример того, как ПОЛУЧИТЬ и ПОЗапросы ST

Пример запроса GET:

Запрос GET - это тип HTTP-запроса, который извлекает данные с веб-сервера.

				
					GET /index.php?param=value HTTP/1.1
Host: example.com
				
			

в этом примере пользователь запрашивает веб-страницу с именем “index.php ” с параметром под названием “param”, который имеет значение “value”. Это распространенный тип запроса GET, который используется для запроса определенного содержимого с веб-сервера.

Чтобы выполнить атаку с отравлением веб-кэша с использованием этого типа запросов, злоумышленник может изменить HTTP-заголовки таким образом, чтобы веб-кэш хранил их вредоносное содержимое вместо законного содержимого. Например, злоумышленник может добавить пользовательский заголовок “If-None-Match”, который соответствует поддельному значению ETag, что приведет к тому, что веб-кэш будет обслуживать их содержимое вместо законного содержимого. Этот метод известен как отравление кэша на основе ETag.

Пример запроса POST:

POST-запрос - это тип HTTP-запроса, который отправляет данные на веб-сервер.

				
					POST /login.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере пользователь отправляет POST-запрос на веб-страницу под названием “login.php ” с именем пользователя и паролем. Это распространенный тип запроса, используемый для страниц входа в систему и других форм, требующих ввода данных пользователем.

Чтобы выполнить атаку с отравлением веб-кэша с использованием этого типа запросов, злоумышленник может изменить HTTP-заголовки таким образом, чтобы веб-кэш хранил их вредоносное содержимое вместо законного содержимого. Например, злоумышленник может добавить пользовательский заголовок “If-Modified-Since”, содержащий временную метку в будущем, что приведет к тому, что веб-кэш будет обслуживать их содержимое вместо законного содержимого. Этот метод известен как отравление кэша на основе времени.

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

Вот несколько примеров запросов GET и POST в Burp Suite, которые демонстрируют различные типы атак с отравлением веб-кэша.

Слепое отравление веб-кэша:

				
					GET /index.html HTTP/1.1
Host: example.com
X-Poison: <script>alert('XSS')</script>
				
			
				
					GET /search.php?q=<script>alert('XSS')</script> HTTP/1.1
Host: example.com
				
			

В этом примере злоумышленник отправляет специально созданный запрос GET с пользовательским заголовком “X-Poison”. Заголовок предназначен для хранения в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает вредоносный контент злоумышленника вместо законного контента.

				
					POST /login.php HTTP/1.1
Host: example.com
X-Poison: <script>alert('XSS')</script>
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере злоумышленник отправляет специально созданный POST-запрос с пользовательским заголовком “X-Poison”. Заголовок предназначен для хранения в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает вредоносный контент злоумышленника вместо законного контента.

Отложенное отравление веб-кэша:

				
					GET /index.html HTTP/1.1
Host: example.com
Cache-Control: max-age=3600
				
			

В этом примере злоумышленник отправляет запрос GET с пользовательским заголовком “Cache-Control”, который сообщает кешу хранить содержимое в течение более длительного периода времени. Затем злоумышленник может изменить законный контент, и кэш будет продолжать предоставлять пользователям устаревший вредоносный контент до тех пор, пока кэш не будет обновлен.

				
					POST /login.php HTTP/1.1
Host: example.com
Cache-Control: max-age=3600
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере злоумышленник отправляет POST-запрос с пользовательским заголовком “Cache-Control”, который сообщает кешу хранить содержимое в течение более длительного периода времени. Затем злоумышленник может изменить законный контент, и кэш будет продолжать предоставлять пользователям устаревший вредоносный контент до тех пор, пока кэш не будет обновлен.

Заражение веб-кэша с помощью инъекции заголовка:

				
					GET /index.php HTTP/1.1
Host: example.com
User-Agent: <script>alert('XSS')</script>
				
			

В этом примере злоумышленник внедряет вредоносный код JavaScript в заголовок “User-Agent” запроса GET. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с вредоносным кодом.:

				
					GET /index.php?page=<iframe src="https://malicious-site.com"></iframe> HTTP/1.1
Host: example.comaPOST /login.php HTTP/1.1
Host: example.com
User-Agent: <script>alert('XSS')</script>
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере злоумышленник отправляет POST-запрос с пользовательским заголовком “User-Agent”, который содержит вредоносный код JavaScript. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с вредоносным кодом JavaScript.

Заражение веб-кэша межсайтовыми сценариями (XSS):

				
					GET /index.html HTTP/1.1
Host: example.com
Referer: http://attacker.com/?q=<script>alert('XSS')</script>
				
			

В этом примере злоумышленник отправляет запрос GET с пользовательским заголовком “Refererer”, который содержит URL-адрес с полезной нагрузкой межсайтового скриптинга. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с вредоносной полезной нагрузкой.

				
					POST /login.php HTTP/1.1
Host: example.com
Referer: http://attacker.com/?q=<script>alert('XSS')</script>
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере злоумышленник отправляет POST-запрос с пользовательским заголовком “Refererer”, который содержит URL-адрес с полезной нагрузкой межсайтового скриптинга. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с вредоносной полезной нагрузкой.

Подмена контента Отравление веб-кэша:

				
					GET /index.html HTTP/1.1
Host: example.com
Accept-Language: <script>alert('XSS')</script>
				
			

В этом примере злоумышленник отправляет запрос GET с пользовательским заголовком “Accept-Language”, который подделывает язык пользователя. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с поддельным языком.

				
					POST /login.php HTTP/1.1
Host: example.com
Accept-Language: <script>alert('XSS')</script>
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username=john&password=pass
				
			

В этом примере злоумышленник отправляет POST-запрос с пользовательским заголовком “Accept-Language”, который подделывает язык пользователя. Веб-сервер хранит вредоносный заголовок в кэше, и когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с поддельным языком.

Обман кэша Отравление веб-кэша:

				
					GET /index.html HTTP/1.1
Host: attacker.com
				
			

В этом примере злоумышленник создает поддельный веб-сайт, который выглядит похожим на законный веб-сайт. Злоумышленник отправляет запрос GET с пользовательским заголовком “Host”, который соответствует поддельному веб-сайту, и веб-сервер сохраняет вредоносный заголовок в кэше. Когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с поддельным заголовком хоста.

				
					POST /login.php HTTP/1.1
Host: attacker.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

username
				
			

В этом примере злоумышленник создает поддельный веб-сайт, который выглядит похожим на законный веб-сайт. Злоумышленник отправляет POST-запрос с пользовательским заголовком “Host”, который соответствует поддельному веб-сайту, и веб-сервер сохраняет вредоносный заголовок в кэше. Когда другие пользователи запрашивают тот же ресурс, кэш обслуживает содержимое злоумышленника вместе с поддельным заголовком хоста.

Примеры использования отравления веб-кэша

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

Вот несколько примеров того, как можно использовать отравление веб-кэша:

  1. Кража конфиденциальных данных: злоумышленник может использовать заражение веб-кэша для кражи конфиденциальных данных, таких как учетные данные для входа или данные кредитной карты. Внедряя вредоносный код в веб-кэш, злоумышленник может перехватить эту информацию и получить к ней доступ.

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

  3. Доставка вредоносного ПО: злоумышленник может использовать заражение веб-кэша для доставки вредоносного ПО пользователям. Внедряя вредоносный код в веб-кэш, злоумышленник может доставить вредоносное ПО любому пользователю, который получает доступ к зараженной странице.

  4. Фишинговые атаки: отравление веб-кэша может быть использовано при фишинговых атаках. Злоумышленник может внедрить фишинговую страницу в веб-кэш, а затем обманом заставить пользователей получить к ней доступ. Это может привести к тому, что пользователи невольно выдадут свои учетные данные для входа или другую конфиденциальную информацию.

  5. Внедрение контента: злоумышленник может использовать отравление веб-кэша для внедрения контента на веб-сайт. Это может включать поддельные новостные статьи, рекламу или другой вредоносный контент. Это может быть использовано для распространения ложной информации или для обмана пользователей, заставляя их переходить по ссылкам, ведущим к вредоносным программам или другим атакам.

Методы повышения привилегий Отравление веб-кэша

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

  1. Отравление кэша с помощью подделки HTTP-глаголов: этот метод включает в себя подделку HTTP-глаголов, которые используются в запросе к серверу. Изменяя HTTP-глагол в запросе, злоумышленник может обманом заставить сервер кэшировать ответ, предназначенный для другого пользователя с более высокими привилегиями. Например, злоумышленник может использовать запрос PUT для изменения содержимого страницы, которая обычно доступна для редактирования только пользователем с правами администратора, тем самым получая привилегии уровня администратора.

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

  3. Отравление через разделение HTTP-ответа: разделение HTTP-ответа - это уязвимость, которая позволяет злоумышленнику вводить дополнительные заголовки в HTTP-ответ, которые могут быть использованы для отравления кэша. Вводя специально созданный заголовок в HTTP-ответ, злоумышленник может заставить сервер кэшировать ответ, предназначенный для другого пользователя с более высокими привилегиями.

  4. Отравление через загрязнение параметров: этот метод включает в себя введение дополнительных параметров в запрос, которые могут быть использованы для манипулирования ключом кэша. Манипулируя ключом кэша, злоумышленник может обманом заставить сервер возвращать кэшированные ответы, предназначенные для другого пользователя с более высокими привилегиями.

  5. Отравление в обход контроля кэша: некоторые приложения используют заголовок Cache-Control для предотвращения кэширования конфиденциальных данных. Однако, если злоумышленник сможет обойти этот заголовок, он может заставить сервер кэшировать конфиденциальные данные, которые могут быть использованы для повышения его привилегий.

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

Тестирование на заражение веб-кэша предполагает системный подход к выявлению уязвимостей и потенциальных векторов атак. Вот общая методология и контрольный список для тестирования отравления веб-кэша:

  1. Определите целевое приложение: определите приложение, которое будет проверяться на предмет заражения веб-кэша. Это может включать веб-сайты, веб-приложения и API.

  2. Определите механизм кэширования: определите механизм кэширования, используемый целевым приложением. Это может включать кэширование браузера, кэширование прокси-сервера и кэширование на стороне сервера.

  3. Определение потенциальных векторов атак: Определение потенциальных векторов атак для отравления веб-кэша, таких как подделка HTTP-глаголов, небезопасная генерация ключей кэша, разделение HTTP-ответов, загрязнение параметров и обход заголовков управления кэшем.

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

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

  6. Анализ кэша: проанализируйте кэш, чтобы определить, были ли кэшированы введенные полезные нагрузки. Это может включать в себя использование таких инструментов, как Burp Suite или Fiddler, для просмотра содержимого кэша.

  7. Использовать уязвимость: использовать уязвимость, используя введенные полезные нагрузки для повышения привилегий, кражи конфиденциальных данных или доставки вредоносных программ.

  8. Проверка результатов: Подтвердите результаты тестирования, убедившись, что атака прошла успешно и что уязвимости были должным образом устранены.

Вот контрольный список, который можно использовать для руководства тестированием на отравление веб-кэша:

Определите целевое приложение и механизм кэширования

Определите потенциальные векторы атаки

Протестируйте поведение кэширования

Тест на отравление кэша

Анализируйте кэш

Использовать уязвимость

Проверка результатов

Документируйте полученные результаты и сообщайте о них соответствующим сторонам

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

Набор инструментов для использования отравления веб-кэша

Ручные Инструменты:

  1. Burp Suite: Burp Suite - популярный инструмент для тестирования безопасности веб-приложений, включая отравление веб-кэша. Это позволяет вручную тестировать уязвимости, связанные с отравлением веб-кэша, путем перехвата и изменения HTTP-запросов и ответов.

  2. OWASP ZAP: OWASP ZAP - это сканер безопасности веб-приложений с открытым исходным кодом, который включает в себя ряд функций для выявления уязвимостей, связанных с отравлением веб-кэша, включая фаззинг и манипулирование параметрами.

  3. Fiddler: Fiddler - это прокси-сервер веб-отладки, который можно использовать для тестирования отравления веб-кэша. Это позволяет вручную тестировать уязвимости, связанные с отравлением веб-кэша, путем перехвата и изменения HTTP-запросов и ответов.

  4. Postman: Postman - это популярный инструмент тестирования API, который можно использовать для ручной проверки уязвимостей, связанных с отравлением веб-кэша. Это позволяет создавать пользовательские HTTP-запросы и изменять параметры и заголовки запросов.

  5. cURL: cURL - это инструмент командной строки, который можно использовать для ручной проверки уязвимостей, связанных с отравлением веб-кэша. Это позволяет создавать пользовательские HTTP-запросы и изменять параметры и заголовки запросов.

Автоматизированные инструменты:

  1. Cache Poisoner: Cache Poisoner - это инструмент с открытым исходным кодом, который автоматизирует процесс тестирования на наличие уязвимостей, связанных с отравлением веб-кэша. Его можно использовать для автоматического ввода полезных данных в HTTP-запросы и ответы и анализа содержимого кэша.

  2. CacheKiller: CacheKiller - это расширение для браузера, которое можно использовать для автоматической очистки кэшей браузера и отключения кэширования для предотвращения атак с отравлением веб-кэша.

  3. Sniper: Sniper - это автоматизированный инструмент тестирования веб-приложений, который включает в себя ряд функций для выявления уязвимостей, связанных с отравлением веб-кэша, включая отравление кэша через загрязнение параметров и разделение HTTP-ответов.

  4. Nuclei: Nuclei - это мощный инструмент для сканирования веб-приложений, который включает в себя ряд встроенных шаблонов для выявления уязвимостей, связанных с отравлением веб-кэша.

  5. Arachni: Arachni - это сканер безопасности веб-приложений, который включает в себя ряд функций для выявления уязвимостей, связанных с отравлением веб-кэша, включая загрязнение параметров и разделение ответов HTTP.

Плагины для браузера:

  1. Tamper Chrome: Tamper Chrome - это расширение для браузера, которое можно использовать для ручной проверки уязвимостей, связанных с отравлением веб-кэша. Это позволяет перехватывать и изменять HTTP-запросы и ответы.

  2. Веб-разработчик: Web Developer - это расширение для браузера, которое включает в себя ряд функций для тестирования уязвимостей, связанных с отравлением веб-кэша, включая возможность очистки кэшей браузера и отключения кэширования.

  3. HackBar: HackBar - это расширение для браузера, которое можно использовать для ручной проверки уязвимостей, отравляющих веб-кэш. Это позволяет перехватывать и изменять HTTP-запросы и ответы.

  4. Wappalyzer: Wappalyzer - это расширение для браузера, которое можно использовать для определения механизма кэширования, используемого веб-приложением, что может быть полезно при выявлении потенциальных векторов атак для отравления веб-кэша.

Тестовые фреймворки:

  1. OWASP Amass: OWASP Amass - это платформа тестирования, которая включает в себя ряд инструментов для выявления уязвимостей, связанных с отравлением веб-кэша, включая обнаружение поддоменов, сканирование портов и анализ HTTP-запросов.

  2. OWASP Nettacker: OWASP Nettacker - это платформа тестирования, которая включает в себя ряд функций для выявления уязвимостей, связанных с отравлением веб-кэша, включая манипулирование параметрами и разделение HTTP-ответов.

  3. Metasploit: Metasploit - это популярная платформа для тестирования на проникновение, которая включает в себя ряд модулей для выявления и использования уязвимостей, отравляющих веб-кэш.

  4. Vega: Vega - это платформа тестирования веб-приложений, которая включает в себя ряд функций для выявления уязвимостей, связанных с отравлением веб-кэша, включая возможность перехватывать и изменять HTTP-запросы и ответы.

  5. Nikto: Nikto - это сканер веб-сервера, который включает в себя ряд функций для идентификации

Средний балл CVSS Атаки с отравлением веб-кэша

Средний балл CVSS для атак с отравлением веб-кэша может сильно варьироваться в зависимости от конкретной используемой уязвимости и влияния, которое она оказывает на систему. Некоторые атаки могут иметь относительно низкое воздействие и получить оценку CVSS в диапазоне 1-3, в то время как другие могут иметь гораздо более значительное воздействие и получить оценку в диапазоне 7-10.

Например, простая атака с отравлением кэша, которая позволяет злоумышленнику вставлять произвольный контент в кэш, может иметь оценку CVSS в диапазоне 2-4, в зависимости от воздействия атаки. С другой стороны, более сложная атака, которая позволяет злоумышленнику получить привилегированный доступ к системе или извлечь конфиденциальные данные, может иметь оценку CVSS в диапазоне 7-10.

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

Атаки, отравляющие веб-кэш с общим перечислением слабых мест (CWE)

Список общего перечисления слабых мест (CWE) для атак с отравлением веб-кэша:

  1. CWE-352: Подделка межсайтовых запросов (CSRF) Описание: Злоумышленник может использовать уязвимость, отравляющую веб-кэш, для выполнения CSRF-атак. Это может позволить им выполнять несанкционированные действия от имени пользователя-жертвы.

  2. CWE-416: Использование после освобождения Описание: Уязвимость использования после освобождения может возникнуть в веб-кэше, если в кэше сохраняется ссылка на освобожденный объект. Злоумышленник может использовать это для выполнения произвольного кода или вызвать отказ в обслуживании.

  3. CWE-434: Неограниченная загрузка файла с опасным типом Описание: Злоумышленник может использовать уязвимость, отравляющую веб-кэш, для загрузки файла с опасным типом файла, такого как вредоносный файл JavaScript, который затем может быть передан другим пользователям.

  4. CWE-613: недостаточный срок действия сеанса Описание: веб-кэш может сохранять конфиденциальные данные сеанса, такие как токены сеанса, в течение длительного периода времени. Злоумышленник может воспользоваться этим, чтобы перехватить сеанс пользователя и получить несанкционированный доступ к конфиденциальным данным.

  5. CWE-754: Неправильная проверка на наличие необычных или исключительных условий Описание: Веб-кэш может неправильно проверять наличие необычных или исключительных условий, таких как запрос с большим количеством параметров. Злоумышленник может воспользоваться этим, чтобы вызвать отказ в обслуживании или выполнить произвольный код.

  6. CWE-798: Использование жестко запрограммированных учетных данных Описание: Жестко запрограммированные учетные данные, такие как учетные данные для входа по умолчанию для веб-кэша, могут быть использованы злоумышленниками для получения несанкционированного доступа к системе.

  7. CWE-862: Отсутствует авторизация Описание: Веб-кэш может неправильно применять политики авторизации, позволяя злоумышленникам получать доступ к несанкционированным ресурсам или выполнять несанкционированные действия.

  8. CWE-863: Неправильная авторизация Описание: Веб-кэш может неправильно применять политики авторизации, позволяя злоумышленникам получать доступ или изменять ресурсы, к которым у них не должно быть доступа.

  9. CWE-908: Использование неинициализированного ресурса Описание: Неинициализированный ресурс, такой как переменная в веб-кэше, может быть использован злоумышленниками для выполнения произвольного кода или вызвать отказ в обслуживании.

  10. CWE-918: Подделка запросов на стороне сервера (SSRF) Описание: Злоумышленник может использовать уязвимость, связанную с отравлением веб-кэша, для выполнения SSRF-атак, которые могут позволить им получить доступ к внутренним ресурсам или выполнить другие несанкционированные действия.

  11. CWE-926: неправильный экспорт компонентов приложения Android Описание: Веб-кэш, используемый приложением Android, может экспортировать конфиденциальные данные, такие как токены аутентификации или пользовательские данные, в другие приложения на том же устройстве.

  12. CWE-943: Неправильная нейтрализация специальных элементов, используемых в команде SQL Описание: Злоумышленник может использовать уязвимость, отравляющую веб-кэш, для внедрения SQL-команд в запрос базы данных, что позволяет им получать доступ к конфиденциальным данным или изменять их.

  13. CWE-1004: конфиденциальный файл cookie в сеансе HTTPS без атрибута ‘Secure’ Описание: Веб-кэш может сохранять конфиденциальные файлы cookie, такие как сеансовые файлы cookie, даже если сеанс был инициирован по протоколу HTTPS без атрибута ‘Secure’. Злоумышленник может воспользоваться этим, чтобы перехватить сеанс пользователя.

  14. CWE-1021: Неправильное ограничение отображаемых слоев или фреймов пользовательского интерфейса Описание: Злоумышленник может использовать уязвимость, отравляющую веб-кэш, для внедрения содержимого в iframe или другой элемент пользовательского интерфейса, что может привести к фишинговым атакам или другим несанкционированным действиям.

  15. CWE-1034: Внедрение внешней сущности XML (XXE) Описание: Злоумышленник может использовать уязвимость, связанную с отравлением веб-кэша, для внедрения внешних сущностей XML, которые могут позволить им получить доступ к конфиденциальным данным или выполнить произвольный код.

  16. CWE-1135: Неправильный контроль доступа (авторизация) Описание: Веб-кэш может неправильно применять политики контроля доступа, позволяя злоумышленникам получать доступ или изменять конфиденциальные данные без надлежащей авторизации.

  17. CWE-1210: Копирование в буфер без проверки размера входных данных Описание: Веб-кэш может неправильно проверять размер входных данных при копировании их в буфер. Злоумышленник может воспользоваться этим, чтобы вызвать переполнение буфера и выполнить произвольный код.

  18. CWE-1256: Внешний контроль данных критического состояния Описание: Злоумышленник может использовать уязвимость, связанную с отравлением веб-кэша, для манипулирования данными критического состояния, такими как файлы cookie сеанса или токены аутентификации, для получения несанкционированного доступа к конфиденциальным данным.

  19. CWE-1299: неполный черный список Описание: Веб-кэш может использовать неполный черный список для блокировки определенных типов запросов, позволяя злоумышленникам использовать кэш для доступа или изменения конфиденциальных данных.

  20. CWE-1300: неправильная обработка исключительных условий Описание: Веб-кэш может неправильно обрабатывать исключительные условия, такие как запросы с недопустимыми параметрами или искаженными данными, что позволяет злоумышленникам вызвать отказ в обслуживании или выполнить произвольный код.

  21. CWE-1314: неконтролируемая строка формата Описание: веб-кэш может неправильно обрабатывать вводимые пользователем данные при форматировании выходных данных, позволяя злоумышленникам вводить спецификаторы строки формата и выполнять произвольный код.

  22. CWE-1349: Использование жестко закодированного криптографического ключа Описание: Веб-кэш может использовать жестко закодированные криптографические ключи, например, для шифрования или аутентификации, которые могут быть использованы злоумышленниками для получения несанкционированного доступа к конфиденциальным данным.

  23. CWE-1363: Неправильно настроенные разрешения Описание: Веб-кэш может быть неправильно настроен, что позволяет злоумышленникам получать доступ к конфиденциальным данным или изменять их или выполнять произвольный код.

  24. CWE-1379: Неправильная обработка кодировки Unicode Описание: Веб-кэш может неправильно обрабатывать кодировку Unicode, позволяя злоумышленникам использовать кэш для выполнения произвольного кода или вызвать отказ в обслуживании.

  25. CWE-1382: Целочисленный нижний поток (обтекание или обтекание) Описание: Веб-кэш может неправильно обрабатывать переполнение целых чисел, что позволяет злоумышленникам вызвать отказ в обслуживании или выполнить произвольный код.

Это лишь несколько примеров из множества CWE, которые могут быть связаны с атаками, отравляющими веб-кэш.

Последние 10 CVE, связанных с атаками с отравлением веб-кэша

CVE-2021-41451 Неправильная конфигурация в HTTP / 1.0 и HTTP / 1.1 веб-интерфейса в TP-Link AX10v1 до версии V1_211117 позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, отправлять специально созданный HTTP-запрос и получать неправильно сконфигурированный ответ HTTP / 0.9, что может привести к атаке с отравлением кэша.

CVE-2021-41267 Symfony/Http-Kernel - это компонент HTTP-ядра для Symfony, PHP-фреймворка для веб- и консольных приложений и набора повторно используемых компонентов PHP. Заголовки, которые не являются частью разрешенного списка “trusted_headers”, игнорируются и защищают пользователей от атак “отравления кэша”. В Symfony 5.2 разработчики добавили поддержку заголовков `X-Forwarded-Prefix`, но этот заголовок был доступен в подзапросе, даже если он не был частью разрешенного списка “trusted_headers”. Злоумышленник может использовать эту возможность для подделки запросов, содержащих заголовок "X-Forwarded-Prefix", что приводит к проблеме отравления веб-кэша. Версии 5.3.12 и более поздние имеют исправление, гарантирующее, что заголовок `X-Forwarded-Prefix` не перенаправляется на подзапросы, если ему не доверяют.

CVE-2021-32004 Эта проблема затрагивает: Secomea GateManager Все версии до 9.6. Неправильная проверка заголовка узла на веб-сервере Secomea GateManager позволяет злоумышленнику вызвать отравление кэша браузера.

CVE-2021-29479 Ratpack - это инструментарий для создания веб-приложений. В версиях до 1.9.0, предоставленный пользователем заголовок `X-Forwarded-Host` может использоваться для выполнения отравления кэша кэша, обращенного к серверу Ratpack, если ключ кэша не включает заголовок `X-Forwarded-Host` в качестве ключа кэша. Пользователи уязвимы только в том случае, если они не настроили пользовательский экземпляр PublicAddress. Для версий до 1.9.0, по умолчанию, Ratpack использует выводную версию `PublicAddress`, которая является уязвимой. Это может быть использовано для выполнения заражения кэша перенаправления, когда злоумышленник может принудительно перенаправить кэшированное перенаправление на свой сайт вместо предполагаемого местоположения перенаправления. Уязвимость была исправлена в версии Ratpack 1.9.0. В качестве обходного пути убедитесь, что `ServerConfigBuilder::publicAddress` правильно настраивает сервер в рабочей среде.

CVE-2021-23336 Пакет python / cpython от 0 и до версии 3.6.13, от 3.7.0 и до версии 3.7.10, от 3.8.0 и до версии 3.8.8, от 3.9.0 и до версии 3.9.2 уязвим для отравления веб-кэша через urllib.parse.parse_qsl и urllib.parse.parse_qs с помощью вектора, называемого маскировкой параметров. Когда злоумышленник может разделить параметры запроса с помощью точки с запятой (;), они могут вызвать разницу в интерпретации запроса между прокси-сервером (работающим с конфигурацией по умолчанию) и сервером. Это может привести к тому, что вредоносные запросы будут кэшироваться как полностью безопасные, поскольку прокси-сервер обычно не будет видеть точку с запятой в качестве разделителя и, следовательно, не будет включать ее в ключ кэша параметра без ключа.

CVE-2020-4896 IBM Emptoris Sourcing 10.1.0, 10.1.1 и 10.1.3 уязвима для отравления веб-кэша, вызванного неправильной проверкой ввода путем изменения заголовков HTTP-запросов. Идентификатор IBM X-Force: 190987.

CVE-2020-4828 IBM API Connect с 10.0.0.0 по 10.0.1.0 и с 2018.4.1.0 по 2018.4.1.13 уязвим для отравления веб-кэша, вызванного неправильной проверкой ввода путем изменения заголовков HTTP-запросов. Идентификатор IBM X-Force: 189842.

CVE-2020-36283 Считыватели HID OMNIKEY 5427 и OMNIKEY 5127 уязвимы для CSRF при использовании драйвера EEM (режим эмуляции Ethernet). Убедив аутентифицированного пользователя посетить вредоносный веб-сайт, удаленный злоумышленник может отправить искаженный HTTP-запрос для загрузки файла конфигурации на устройство. Злоумышленник может использовать эту уязвимость для выполнения межсайтовых скриптовых атак, отравления веб-кэша и других вредоносных действий.

CVE-2020-29022 Неспособность очистить значение заголовка узла при выводе на веб-сервере GateManager может позволить злоумышленнику проводить атаки с отравлением веб-кэша. Эта проблема затрагивает Secomea GateManager всех версий до версии 9.3

CVE-2020-28473 Бутылка пакета от 0 и до 0.12.19 уязвима для отравления веб-кэша с помощью вектора, называемого маскировкой параметров. Когда злоумышленник может разделить параметры запроса с помощью точки с запятой (;), они могут вызвать разницу в интерпретации запроса между прокси-сервером (работающим с конфигурацией по умолчанию) и сервером. Это может привести к тому, что вредоносные запросы будут кэшироваться как полностью безопасные, поскольку прокси-сервер обычно не будет видеть точку с запятой в качестве разделителя и, следовательно, не будет включать ее в ключ кэша параметра без ключа.

Список CVE постоянно обновляется и дополняется актуальный список всех существующих распространенных уязвимостей и уязвимостей (CVE) для уязвимостей, связанных с контрабандой HTTP-запросов, можно найти на официальном веб-сайте CVE https://cve.mitre.org/

Список популярных эксплойтов, связанных с отравлением веб-кэша

Атаки с отравлением веб-кэша могут быть осуществлены с использованием различных методов и эксплойтов. Вот список популярных эксплойтов, связанных с атаками с отравлением веб-кэша:

  1. Разделение HTTP-ответа: этот метод атаки включает вставку символа новой строки, за которым следует вредоносный HTTP-заголовок, в HTTP-ответ. Веб-кэш может неправильно обработать ответ, в результате чего вредоносный заголовок будет кэширован и передан последующим пользователям.

  2. Атака с обманом кэша: эта атака включает в себя обман веб-кэша для кэширования и использование поддельного ресурса вместо законного ресурса. Часто это делается путем добавления параметра к URL-адресу, который игнорируется веб-сервером, но заставляет веб-кэш обрабатывать запрос как новый ресурс.

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

  4. Межсайтовый скриптинг (XSS): эта атака включает внедрение вредоносного кода в кэшированный ресурс, который затем выполняется, когда ресурс передается последующим пользователям. Это может позволить злоумышленникам украсть конфиденциальную информацию или выполнить произвольный код в системе пользователя.

  5. Контрабанда запросов: эта атака включает в себя манипулирование заголовками HTTP-запросов для обхода средств контроля безопасности и проведения атак на веб-кэш или веб-сервер. Это может позволить злоумышленникам отравить кэш или получить доступ к конфиденциальной информации.

  6. Отравление кэша с помощью контрабанды HTTP-запросов: этот метод атаки включает использование контрабанды запросов для обхода средств контроля безопасности и отравления веб-кэша путем внедрения вредоносного запроса в кэш.

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

  8. Отравление кэша с помощью подделки запросов на стороне сервера (SSRF): этот метод атаки включает использование уязвимости подделки запросов на стороне сервера для отравления веб-кэша путем запроса вредоносного ресурса, который затем кэшируется и предоставляется последующим пользователям.

  9. Отравление кэша через загрязнение параметров: этот метод атаки включает в себя манипулирование параметрами URL-адреса, чтобы заставить веб-кэш кэшировать вредоносный ресурс.

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

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

Практикуйтесь в выявлении и использовании отравления веб-кэша

Если вам интересно узнать об атаках с отравлением веб-кэша и о том, как защититься от них, вот несколько рекомендаций:

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

  2. Практика на уязвимых приложениях: Существует несколько преднамеренно уязвимых веб-приложений, которые можно использовать для тестирования и отработки атак с отравлением веб-кэша. К ним относятся DVWA, Mutillidae и WebGoat. Используя эти инструменты, вы можете поэкспериментировать с различными методами и лучше понять, как на практике работает отравление веб-кэша.

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

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

  5. Используйте средства безопасности. Существует несколько доступных средств безопасности, которые могут помочь вам выявить и протестировать уязвимости, связанные с отравлением веб-кэша. К ним относятся Burp Suite, OWASP ZAP и Nmap. Используя эти инструменты, вы можете протестировать свои собственные приложения или другие сайты, чтобы выявить потенциальные уязвимости и научиться защищаться от них.

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

Книги с обзором отравления веб-кэша

Вот несколько популярных книг по отравлению веб-кэша, которые могут оказаться вам полезными:

  1. “The Web Application Hacker's Handbook: поиск и использование уязвимостей безопасности” Дафидда Штуттарда и Маркуса Пинто – Эта книга представляет собой всеобъемлющее руководство по безопасности веб-приложений и включает подробный раздел об отравлении веб-кэша. Это обязательное чтение для всех, кто заинтересован в изучении этой темы.

  2. “Освоение современного веб–тестирования на проникновение” Прахара Прасада - Эта книга охватывает ряд тем безопасности веб-приложений, включая отравление веб-кэша. Это отличный ресурс для всех, кто хочет ознакомиться с новейшими методами и передовыми практиками тестирования безопасности веб-приложений.

  3. “Руководство по тестированию OWASP v4” от Open Web Application Security Project – Это руководство содержит полный обзор тестирования безопасности веб-приложений и включает раздел, посвященный тестированию уязвимостей, связанных с отравлением веб-кэша. Это ценный ресурс как для начинающих, так и для опытных специалистов в области безопасности.

  4. “Взломанные веб–приложения, 3-е издание” Джоэла Скамбрея, Винсента Лью и Калеба Сима - Эта книга содержит подробный обзор безопасности веб-приложений и включает раздел об отравлении веб-кэша. Это ценный ресурс для всех, кто хочет узнать о последних угрозах и уязвимостях, с которыми сталкиваются веб-приложения.

  5. “Black Hat Python: программирование на Python для хакеров и пентестеров” Джастина Сейтца – Эта книга представляет собой подробное руководство по использованию Python для взлома и тестирования на проникновение, включая методы использования уязвимостей, отравляющих веб-кэш. Это ценный ресурс для всех, кто заинтересован в использовании Python в оскорбительных целях безопасности.

Список полезных нагрузок для отравления веб-кэша

Вот некоторые распространенные полезные нагрузки, которые можно использовать для атак с отравлением веб-кэша:

  1. Полезные нагрузки перенаправления: эти полезные нагрузки используются для перенаправления пользователей на вредоносный сайт или фишинговый сайт. Полезная нагрузка может быть введена на веб-страницу, и когда пользователь нажимает на ссылку или отправляет форму, он перенаправляется на вредоносный сайт.

  2. Полезная нагрузка вредоносного ПО: эти полезные нагрузки можно использовать для внедрения вредоносного ПО на веб-страницу или в веб-приложение. Полезная нагрузка может быть предназначена для использования уязвимостей в целевой системе, позволяя злоумышленнику получить доступ и установить вредоносное ПО в системе.

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

  4. Полезные нагрузки CSRF: полезные нагрузки для подделки межсайтовых запросов (CSRF) могут использоваться для выполнения несанкционированных действий от имени жертвы. Вводя полезную нагрузку CSRF на веб-страницу, злоумышленник может обманом заставить жертву выполнить какое-либо действие, например перевести деньги или удалить данные.

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

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

Это лишь некоторые примеры распространенных полезных нагрузок, которые могут быть использованы для атак с отравлением веб-кэша. Конкретная используемая полезная нагрузка будет зависеть от целей злоумышленника и уязвимостей, присутствующих в целевой системе.

Смягчение последствий и способы защиты от отравления веб-кэша

Ниже приведены некоторые методы смягчения последствий и рекомендации по защите от атак с отравлением веб-кэша:

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

  2. Использование HTTPS: использование HTTPS может помочь защитить от атак типа "человек посередине" и предотвратить перехват и изменение запросов и ответов злоумышленниками. Протокол HTTPS также гарантирует, что данные, передаваемые между клиентом и сервером, зашифрованы и защищены.

  3. Используйте строгую аутентификацию: строгая аутентификация может помочь предотвратить получение злоумышленниками доступа к конфиденциальным данным и захват контроля над целевой системой. Используя надежные пароли, двухфакторную аутентификацию и другие меры безопасности, вы можете снизить риск успешной атаки.

  4. Внедрить проверку входных данных: проверка входных данных является важным шагом в предотвращении атак с отравлением веб-кэша. Проверяя входные данные, вы можете гарантировать, что сервер обрабатывает только безопасные и авторизованные запросы.

  5. Обновление программного обеспечения: обновление программного обеспечения и систем имеет решающее значение для предотвращения атак с отравлением веб-кэша. Устанавливая исправления и обновления безопасности, вы можете гарантировать, что известные уязвимости устранены и устранены.

  6. Проводите регулярные аудиты безопасности: Регулярные аудиты безопасности могут помочь выявить и устранить уязвимости в целевой системе. Проводя регулярные аудиты и тестирование на проникновение, вы можете выявить потенциальные слабые места и предпринять шаги по их устранению, прежде чем они смогут быть использованы злоумышленниками.

  7. Реализация заголовков безопасности: Реализация заголовков безопасности, таких как политика безопасности содержимого (CSP), параметры X-Content-Type-Options и X-XSS-Protection, может помочь предотвратить атаки с отравлением веб-кэша. Эти заголовки обеспечивают дополнительные меры безопасности и предотвращают внедрение злоумышленниками вредоносного контента на веб-страницы.

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

Заключение

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

Другие Услуги

Готовы к безопасности?

Связаться с нами