Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Межсайтовый скриптинг XSS - сжатый.docx
Скачиваний:
8
Добавлен:
26.04.2019
Размер:
229.6 Кб
Скачать

Проведение xss-атаки методом trace

 Метод TRACE предназначен для диагностики сетей и работает следующим образом - клиент отсылает на сервер определённую информацию, а сервер, в свою очередь, отвечает клиенту тем, что к нему пришло(грубо говоря просто отражает пришедшую информацию). Так клиент может диагностировать сеть, ведь если вернулось не то, что он отослал, значит сеть на каком то этапе работает не правильно. Даже этому методу взломщики нашли применение. 1 Ноября 2002 года человек по имени Jeremiah Grossman предложил следующий способ осуществления XSS нападений. Всё дело в том, что в TRACE запросе на сервер передаются cookies(если они есть). Поэтому нам остаётся только перехватить ответ и вытащить от туда всё что нас интересует. Итак, как же можно это осуществить? Вот небольшой пример кода, который отправит TRACE-запрос на указанный сервер:

<script>

function sendTrace () {

var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

xmlHttp.open("TRACE", "any_host",false);

xmlHttp.send();

xmlDoc=xmlHttp.responseText;

alert(xmlDoc);

}

</script>

<INPUT TYPE=BUTTON OnClick="sendTrace();" VALUE="Send Trace Request">

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

Проведение xss-атаки через протокол data

Как Вы уже знаете - браузеры умеют работать со многими протоколами, такими как http, ftp и т.д. Так вот сейчас мы поговорим о протоколе DATA. Данный протокол используется браузерами для генерации различных файлов - mp3,pdf, doc и т.д. Самое опасное в этом протоколе то, что XSS с его помощью, можно провести даже если сайт/ресурс не имеет ни одной уязвимости XSS. Для генерации опасного кода нам понадобится написать вот такой скрипт:

<?php

print base64_encode($_GET['code']);

?>

Сохраним его под именем data.php и пройдём по ссылке

http://localhost/data.php?code=<script>alert('hacked!')</script>

В ответ мы получим следующий код:

PHNjcmlwdD5hbGVydCgnaGFja2VkIScpPC9zY3JpcHQ+

Далее надо в начало этого кода подставить строку

data:text/html;base64,

Далее запускаем браузер и вводим получившийся адрес:

data:text/html;base64, PHNjcmlwdD5hbGVydCgnaGFja2VkIScpPC9zY3JpcHQ+

Жмём Enter и видим сообщение! А теперь попробуйте зайти на любой форум, войти под своим именем пользователя и ввести в браузере, не уходя с форума, адрес:

data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ+

Увидели содержимое своих cookies? Обратите ещё раз внимание на то, что мы не использовали никакую уязвимость, а cookies всётаки получили.

Проведение xss-атаки через Flash-анимации

Да, возможно и такое. Сейчас я объясню как с помощью обычного flash-мультика произвести XSS-нападение. Для начала Вам нужна программа Macromedia Flash (я взял Macromedia Flash 8.0). Дело в том, что в Macromedia Flash имеется такая вещь как ActionScript - скриптовый язык. Используется ActionScript за тем, чтобы создать какие то определённые действия в мультике (например, при нажатии на кнопку 1 переходить на 60 кадр. и т.д.). Каким же образом может ActionScript пригодится нам? Вот каким - в нём есть функция getURL() которая перенаправляем пользователя на указанный сайт, и за место адреса сайта можно передать код JavaScript. Давайте для практики проведём небольшой эксперимент. Откроем Macromedia Flash. Сверху мы видим полоску кадров:

Нажимаем на 1-ый кадр правой кнопкой мыши и в появившемся меню выбираем Actions(в самом низу). У Вас должно появится окно редактирования похожее на текстовый редактор. Итак, напишите всего одну строчку:

getURL("javascript:alert('Hacked by me!')")

Далее заходим в меню File->Publish preview.

Нажимаем Flash и сморим что получается:

Конечно, за место alert('hacked by me') Вы сможете вписать что угодно + в каком угодно обьёме! Атаковать данным способом можно сайты, которые разрешают публиковать Flash-анимации для публичного просмотра (соц. сети, сайты массового общения и т.д.). Причём врятли Вам будет трудно залить туда свой "мультик". Но учтите что администратор может и фильтровать мультики подобного типа.