On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Cross-site scripting

А. Шкондин

Как ни странно это звучит, но к написанию данной статьи меня подвиг обыкновенный спам. В мой почтовый ящик стали с надоедливой регулярностью сваливаться списки вакансий от одного рекрутёрского агентства. Пришлось посетить их сайт, чтобы поискать заветную кнопочку unsubscribe. К моему великому сожалению таковой не оказалось. Зато я обнаружил, что хотя сайт и носит гордое название "мир профессионалов", разрабатывали его отнюдь не профессионалы, ибо о проблеме cross-site scripting'a они ничего не знают.

В чем же заключается проблема? А заключается она в наивности вебмастера, который не фильтрует сообщения, вводимые посетителем в поля форм. А именно, пропускает следующие символы: < > " ' % ; & + -

Чем это грозит? Самое безобидное, что можно придумать - это JavaScript, который при просмотре сообщения будет открывать произвольное окно. При просмотре моего резюме на сайте "мир профессионалов" открывается как раз эта статья. Чтобы задумались :).

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

Обратите внимание, что cross-site scripting абсолютно безразличен к тому, на каком языке написан обработчик формы: будь то CGI, asp, jsp, servlet, php, perl или какая иная технология, ваш посетитель может пострадать, для этого достаточно чтобы его браузер поддерживал Jscript, и эта поддержка была не отключена.

Более подробную информацию о возможных неприятных последствиях cross-site scripting'а читайте в рекомендациях Computer Emergency Response Team (CERT) по адресу http://www.cert.org/advisories/CA-2000-02.html

Техническую информацию о способах фильтрации текста полей форм на разных языках программирования смотрите на том же сайте: http://www.cert.org/tech_tips/malicious_code_mitigation.html/


Литература по CGI