Межсайтовый скриптинг — недооценка угрозы

Published on Февраль 2, 2009 by   ·   Комментариев нет

Что такое межсайтовый скриптинг?

Межсайтовый скриптинг (или XSS) — это один из самых распространенных видов хакерской атаки на прикладном уровне. Целью XSS является вставка в страницу скриптов, которые обычно выполняются на стороне клиента (в браузере пользователя), а не на сервере. Угроза XSS обусловлена уязвимостью скриптовых языков на стороне клиента, в основном это касается HTML и JavaScript (а также VBScript, ActiveX, HTML, и Flash). Суть XSS заключается в следующем: злоумышленник воздействует на скрипты веб-приложения на стороне клиента, изменяя их выполнение. В результате в страницу встраивается скрипт, который будет выполняться каждый раз при загрузке страницы или при определенном событии.

Типичный пример XSS: злоумышленник внедряет скрипт в URL существующего интернет-магазина, который, в свою очередь, перенаправляет пользователя на поддельную, но идентичную страницу. На ней выполняется скрипт, который перехватывает значение cookie пользователя, просматривающего сайт интернет-магазина. Затем cookie отсылается злоумышленнику, который использует его для перехвата сессии пользователя. Хотя сайт магазина и не подвергается хакерской атаке, злоумышленник использует уязвимое место скрипта для того, чтобы обмануть пользователя и получить контроль над его сессией. Можно сделать поддельный URL менее заметным, закодировав XSS-часть URL в HEX, или с помощью другого метода кодировки. Это не вызовет подозрения у пользователя, который видит знакомый URL и, как правило, не обращает внимания на последующую закодированную часть.

Владельцы сайтов всегда уверены в себе, хакеры — тоже!

Не вдаваясь в сложные технические подробности, следует знать, когда XSS-атака на уязвимое веб-приложение может иметь серьезные последствия. Многие владельцы сайтов пренебрегают XSS, полагая, что с его помощью нельзя похитить конфиденциальные данные, которые находятся на сервере. Это распространенная ошибка — последствия XSS, направленного против приложения и клиентов, могут быть крайне серьезными, как для работы самого приложения, так и для бизнеса. Интернет-бизнес не может позволить себе потерять доверие существующих и будущих клиентов просто потому, что никто не смог признаться в том, что их сайт действительно уязвим для XSS-атак. Как ни странно, некоторые владельцы сайтов выступали с громкими заявлениями о том, что уязвимость для XSS-атак не представляет значительной опасности. Хакеры часто воспринимали это как личный вызов, в результате чего владелец сайта был вынужден разбираться с поврежденным приложением и потерей доверия клиентов.

Последствия XSS-атак

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

XSS-атаки обычно используются в следующих преступных целях:

  • Кража аккаунта;
  • Получение доступа к защищенным или конфиденциальным данным;
  • Получение бесплатного доступа к платному контенту;
  • Слежение за посещением сайтов пользователем;
  • Изменение настроек браузера;
  • Публичная клевета в адрес отдельного лица или корпорации;
  • Повреждение веб-приложения;
  • DOS-атаки

Любой владелец сайта с достаточным уровнем целостности данных согласится с тем, что вышеперечисленные последствия не могут считаться несерьезными или незначительными. Слабые места в системе безопасности популярных сайтов позволяли хакерам получить доступ к информации о кредитных картах и пользователях, в результате чего они могли осуществлять денежные переводы на свое имя. Законным пользователям часто предлагали нажать на ссылку, которая перенаправляла их на поддельную страницу, похожую на настоящую, на которой данные пользователя перехватывались и отсылались непосредственно хакеру. Этот случай, может, и не выглядит таким опасным, как взлом корпоративной базы данных, однако посетители сайта и клиенты могут легко потерять доверие к системе безопасности приложения, что может привести к долгам и банкротству.

Практический пример XSS на тестовом сайте

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

  1. Введите в браузере адрес следующей страницы: http://testasp.acunetix.com/Search.asp, Вы увидите, что это простая страница с полем ввода текста поискового запроса.

    Xss недооцененность

    Рисунок 1

  2. Попробуйте вставить следующий код в поле поиска и обратите внимание на то, как на странице будет отображаться поле регистрации:
    
    
    <br><br>Please login with the form below before proceeding:<form action="destination.asp">
    <table><tr><td>Login:</td><td><input type=text length=20 name=login></td>
    </tr><tr><td>Password:</td><td><input type=text length=20 name=password></td>
    </tr></table><input type=submit value=LOGIN></form>

    После вставки кода просто нажмите кнопку «Поиск».

    Xss недооцененность

    Рисунок 2

Из-за уязвимости страницы к XSS, стало возможным создать поддельную форму регистрации, которое можно использовать для сбора параметров доступа пользователя. На этапе 2 видно, что код содержит элемент «destination.asp». Здесь хакер может определить, куда поддельная форма регистрации будет отсылать параметры доступа для дальнейшего использования в преступных целях.

Хакер также может внедрить данный код, пропустив его через поле адреса браузера, как показано ниже:


http://testasp.acunetix.com/Search.asp?tfSearch=%3Cbr%3E%3Cbr%3EPlease+login+with+the+form+below+before+
proceeding%3A%3Cform+action%3D%22test.asp%22%3E%3Ctable%3E%3Ctr%3E%3Ctd%3ELogin%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+
length%3D20+name%3Dlogin%3E%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3EPassword%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+
length%3D20+name%3Dpassword%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%3Cinput+type%3Dsubmit+value%3DLOGIN%3E%3C%2Fform%3E
<img class="attachment wp-att-4858 centered" src="/wp-content/uploads/2009/02/65.jpg" alt="65" width="573" height="430" />
Рисунок 3

Это даст тот же результат, что демонстрирует различные способы применения XSS для достижения одних и тех же целей. После того, как хакер получит параметры доступа пользователя, он может легко вернуть настоящую страницу поиска, и пользователь даже не поймет, что его только что обманули. Также этот метод может применяться и при рассылке спама, который мы получаем каждый день. Очень часто пользователь находит у себя в ящике письмо, в котором сообщается, что на определенном интернет-аукционе кто-то использует аккаунт пользователя с преступными целями. Затем пользователя просят нажать на ссылку для подтверждения личности. Это тот же самый метод, при котором пользователя перенаправляют к поддельной форме регистрации, где его параметры доступа будут скопированы и отосланы хакеру.

Зачем ждать, пока Вас взломают?

Анализируя случаи недавних атак, можно прийти к заключению, что сайты крупных компаний и корпораций взламываются точно так же, как и сайты небольших фирм. Это наглядно демонстрирует то, что проблема безопасности заключается не в недостатке средств, а в отсутствии понимания сути угрозы у большинства компаний разного размера. Согласно статистике, 42% процента веб-приложений, требующих проверки безопасности, уязвимы к XSS-атакам, которые продолжают представлять высокую опасность. Попытки повысить информированность о том, как легко высококлассный хакер может проникнуть в уязвимое приложение, по всей видимости, не увенчались успехом. Все еще можно встретить владельцев сайтов с образом мышления типа: «Будем разбираться с проблемой, когда меня взломают», которые рискуют понести значительный финансовый ущерб и потерять доверие клиентов. Любой, кто захочет изучить эту тему глубже, обнаружит, как люди, называющие себя специалистами по вопросам безопасности, утверждают, что проблему XSS значительно преувеличивают, и с его помощью нельзя нанести серьезный ущерб веб-приложению. Однако дальнейшее исследование покажет, что статистические данные говорят сами за себя, и рост этих цифр в конце концов полностью опровергнет заявления этих скептически настроенных «специалистов».

Источник www.windowsecurity.com


Смотрите также:

Tags: ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)




Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]