Методы защиты от межсайтового скриптинга – XSS.

Дата: Октябрь 25, 2009

(0) комментариев

Cross site scripting, называемый на русском языке межсайтовым скриптингом и обозначаемый также аббревиатурой XSS представляет собой создание кода в уже существующую html-структуру сайта, что является действием нежелательным и вредным. Межсайтовый скриптинг имеет как активную форму, так и пассивную.

Начнем наше рассмотрение с пассивной.

Данная форма имеет место благодаря тому, что иногда параметры типа GET могут стать частью текста, расположенного на странице. Вот пример.

Search.php, скрипт поиска имеет код

1
2
3
4
5
6
7
<?php

// начало

Echo ‘<div> запрос поиска: ‘. $_GET [‘query’] . ‘</div>’;

// продолжение вв

В случае, если желающий вскрыть попытается вскрыть скрипт операцией search.php?query=<a href=»http://example.com»>my website</a>, то в графе результатов будет отображена ссылка на сайт example.com

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

Данный метод используется для получения каким-либо сайтом внешних ссылок.

В реальности здесь нет даже взлома, как такового.

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

Говоря об активном скриптинге, отметим, что действует он на сайтах Web 2.0, которые созданы непосредственно пользователями. В этом случае скрипты, естественно не желательные, оказываются на форумах, в профилях или личных сообщениях пользователей.

Джава-сценарии показывают преступнику номер сессии юзера, а также дают информацию о cookie последнего. Благодаря этому, злоумышленник может контролировать аккаунт юзера.

Касаемо иных видов межсайтового скриптинга, можно сказать о подмене кодировки в формируемом документе, что можно сделать либо а случае попадания информации пользователя в тег <title> без прохождения фильтров, либо если данный тег содержится в документе перед тегами типа meta, которые и определяют коды.

Что же мы должны делать, чтобы не допустить столь коварное явление, как Cross site scripting?

Во-первых, не стоит включать параметры $_GET, $_COOKIE и $_POST, которые выдаются напрямую. Лучше обработать данные параметры дополнительно. , протестировать варианты их использования.

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

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

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

a

    Автор: Kamal

    ,




    Нет комментариев на "Методы защиты от межсайтового скриптинга – XSS."

    Нет комментариев.


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов