Уязвимость к межсайтовому скриптингу

В последнее время мобильные устройства все больше заполняют наше окружение. Как традиционные ПК, мобильные мини-компьютеры работают на основе операционных систем, среди которых Android набирает все большей популярности. И это не безосновательно, т.к. эта ОС быстро развивается и получила широкое распространения благодаря своему постоянно увеличивающемуся функционалу.

CROSS SITE SCRIPTING – XSS. Уязвимость XSS возникает, когда входные данные, получаемые Web-сервером от одного клиента, могут быть пересланы другому клиентскому браузеру через Web страницу. Эти данные могут содержать программный код, например на JavaScript, который будет выполнен браузером клиента. Поскольку система безопасности клиента считает, что код получен от Web-сервера, то злоумышленный код может получить доступ к данным, доступ к которым имеет Web-сервер (например, файлам cookie), либо изменить Web страницу, манипулируя ссылками на ней и т. п. Эксплуатируя данную уязвимость, атакующий может получить доступ к персональным данным пользователя либо перенаправить пользователя на нужный атакующему сайт.

Если пользовательский ввод возвращается в браузер, то приложение потенциально уязвимо для XSS атак.

В дополнение к ревизии исходных текстов программ необходимо провести тестирование приложения на предмет обнаружения уязвимости к XSS атакам. В процессе тестирования необходимо:

  • выполнять запрос к приложению, помещая в пользовательский ввод заведомо неправильные данные;
  • проанализировать ответный HTML код с целью обнаружения в нем отправленных данных. Причем необходимо учитывать, что отправленные данные могут быть возвращены не сразу, а в ответ на последующие запросы.

Для минимизации вероятности возникновения XSS уязвимости следует:

  • для проверки текстов программ использовать инструментальные средства анализа, обладающие низкой вероятностью ошибок 2-го рода для уязвимостей данного типа;
  • контролировать все входные данные, разрешая только заведомо правильные данные;
  • если во входных данных необходимо использовать специальные символы HTML-кода, необходимо удалять все HTML-теги, кроме разрешенных;
  • устанавливать для Web страниц определенную кодовую страницу, чтобы избежать ввода непредусмотренных данных.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.