XSS практический пример? - PullRequest
2 голосов
/ 06 апреля 2011

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

Будут ли они вручную устанавливать его в своем браузере? Если это так, не будет ли веб-сайт отклонять cookie, которые он не установил? Пишут ли злоумышленники собственный сценарий для ручной отправки любых вредоносных HTTP-запросов по своему усмотрению и сначала устанавливают вредоносный файл cookie?

Просто любопытно ....

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

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

If so, wouldn't a website reject a cookie it didn't set? 

HTTP не имеет состояния.Он не помнит, какие куки он давал тем или иным людям.

Сессии по-разному реализуются в разных средах исполнения (например, PHP и JSP), но общий принцип тот же.Данные сеанса хранятся на сервере и идентифицируются уникальным, трудно угадываемым ключом.Этот ключ сообщается клиенту при первоначальном запросе, если запрос еще не содержит его.

Иногда ключ передается в виде файла cookie, что удобно, поскольку клиент обычно всегда отправляет файлы cookie автоматически.Но идентификатор сеанса может быть передан и другими способами, например, в строке запроса.Например, вы видите много веб-сайтов с такими URL-адресами:

http://jksiusjkakek.com/path/to/app?SESSIONID=1jk98s9sji29sk2lui2

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

Пишут ли злоумышленники собственный сценарий для ручной отправки любых вредоносных HTTP-запросов по своему усмотрению и сначала устанавливают вредоносные cookie-файлы?

Если сайт передает идентификатор сеанса в URL-адресе, как я показал выше, то все просто: злоумышленник просто копирует / вставляет идентификатор сеанса в строку URL-адреса.

Еслисайт передает идентификатор сеанса в виде файла cookie, тогда злоумышленнику необходимо вручную установить файл cookie в своем браузере.Самый простой способ сделать это - буквально открыть окно настроек cookie и вручную скопировать / вставить идентификатор сеанса в новый cookie ...

Хотя я уверен, что у настоящих плохих парней есть еще более эффективные способычем это:)

1 голос
/ 06 апреля 2011

XSS - это больше, чем просто кража куки.

Тем не менее, многие сайты и приложения хранят ссылку на сеанс на стороне сервера в переменной cookie (такой как JSESSIONID в Java). Если для хранения этого значения используется XSS, злоумышленник может подделать ваш сеанс и захватить его, притворяясь вами. Иногда это называется подделкой межсайтовых запросов. Представьте, что если вы не нажали кнопку «выйти из системы» в сеансе онлайн-банкинга, то украденное значение cookie позволяет злоумышленнику возобновить сеанс со своего компьютера и перевести деньги со своего счета.

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

Некоторые атаки XSS могут быть просто раздражающими, потреблять огромные ресурсы, приводить к сбою браузера, или, возможно, просто показывать спам-объявления и т. Д.

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

Проверьте owasp.org для получения дополнительной информации. Их топ-10 имеет важное значение для любого веб-разработчика. Я говорю моим разработчикам, что если вы закодировали приложение, вы, вероятно, закодировали некоторые уязвимости. Знание - это сила здесь. Запомните и поймите первую десятку OWASP, и вы будете в лучшей форме.

0 голосов
/ 07 апреля 2011

Хорошо, кроме кражи файлов cookie, перехвата сеансов и т. Д. (Что было достаточно подробно рассмотрено), XSS на самом деле теперь может использоваться в гораздо большем количестве дней, особенно когда речь идет о постоянном XSS (в самых простых терминах XSS, то естьсохраняется сервером и обслуживается сервером пользователю без вмешательства злоумышленника).Вы можете заменить содержимое всей страницы фишингом на обычные текстовые пароли, вы можете распространять веб-червей, вы можете использовать практически любые функции веб-приложения, такие как отправка сообщений, публикация сообщений ... которые снова можно использовать вмножество способов от распространения вредоносных программ до простых шуток.Наконец, новые инновации в HTML5 сделают постоянный XSS еще более опасным, вы фактически сможете полностью захватить рассматриваемый веб-сайт, включая строку URL, чтобы пользователь фактически никогда не оставлял свой контроль, и вы можете регистрировать все, что пользователь делает (и с помощьюисточник происхождения делится даже всем, что отправляет пользователь) очень легко, почти не подозревая, даже полная регистрация ключей, насколько можно было бы использовать окно браузера этого конкретного веб-сайта.Подумайте, аналитика Google, но злонамеренная ...

Это всего лишь несколько примеров того, что XSS не только о файлах cookie и сеансах, но теперь дни (к сожалению) предоставляют все более широкие возможности злонамеренного использования.

...