Межсайтовый скриптинг - отражение (пользовательский агент)

Это демонстрация атаки межсайтового скриптинга в заголовке User-Agent, и для этой демонстрации я буду использовать bWAPP, а bWAPP - это веб-приложение с ошибками, которое мы можем использовать для тестирования различных уязвимостей в Интернете.

Официальная ссылка bWAPP: - http://www.itsecgames.com/

Теперь выберите Межсайтовый скриптинг - Отражено (заголовок User-Agent) в раскрывающемся меню и нажмите Взломать.

Что такое заголовок User-Agent?

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

Например: - Предположим, я открываю один веб-сайт на мобильном телефоне, и он должен реагировать и не загружать веб-страницу для ПК, он должен загружать веб-страницу на мобильном телефоне. А с помощью User-Agent мы можем загрузить нужную веб-страницу на устройства.

Как видите, здесь можно определить версию моего браузера, операционную систему и некоторые другие детали.

Итак, наша цель - перехватить этот запрос и добавить полезную нагрузку в этот параметр заголовка.

Чтобы внедрить полезную нагрузку, нам нужно перехватить HTTP-запрос, и мы можем использовать пакет Burp.

Что такое Burp Suite?

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

Если вы хотите узнать больше об этом инструменте, вы можете посетить их официальный сайт. Https://portswigger.net.

Итак, чтобы перехватить первый запрос, перейдите на вкладку прокси и нажмите кнопку перехвата, чтобы начать перехват HTTP-запроса.

После этого перейдите на страницу портала и выберите (Межсайтовые сценарии - Отраженный заголовок агента пользователя) и нажмите Взломать.

Итак, теперь, если вы перейдете к Burp, вы сможете увидеть запрос на перехват и щелкнуть вперед, пока не дойдете до страницы «xss_user_agent.php».

Теперь для проверки давайте напишем простое сообщение «Это ошибочный заголовок User-Agent» и нажмем «Вперед».

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

Так что давайте перейдем к отрыжке и отключим перехват. И повторите те же шаги еще раз, чтобы перехватить запрос.

Теперь добавьте полезную нагрузку в параметр заголовка «User-Agent».

<script>alert('This is a buggy User-Agent header')</script>

Как видите, мы можем вставить код Javascript в параметр заголовка User-Agent.

Как нам предотвратить эту атаку?

  1. Пользовательский ввод должен быть закодирован в заголовке HTTP, и разработчик может реализовать фильтры, которые устранят любые теги сценариев.
  2. А в некоторых случаях заголовок X-XSS-Protection может предотвратить некоторый уровень атак XSS (межсайтовых сценариев), поскольку он является надстройкой к браузерам для очистки ответов HTML.

Надеюсь, вам понравится этот пост пока, пока

Удачного взлома :)