Интернет изменил эту страницу для предотвращения межсайтовых сценариев

Предотвращение подделки межсайтовых запросов: скрытая опасность на вкладках браузера

Интернет изменил эту страницу для предотвращения межсайтовых сценариев

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

Пол Ионеску
03.10.2014

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

Оказывается, другие Web-сайты, открытые на вкладках браузера, могут выполнять действия от вашего имени.

Предположим, на одной вкладке вы открыли ваш сайт в социальной сети, а в другой – неизвестный вам сайт под названием many_ads.com, который оказывается мошенническим. Сайт many_ads.com может публиковать сообщения на вашем сайте в социальной сети. Это действие называется подделкой межсайтовых запросов (сокращенно XSRF или CSRF).

Хотя подобная мошенническая публикация неприятна и создает неудобства, она не является проблемой. Такую публикацию всегда можно удалить.

Однако XSRF-атака может стоить очень дорого. Если ваш банковский сайт уязвим для XSRF-атаки, деньги с вашего счета могут переводиться на неизвестный зарубежный счет, и скорее всего это уже произошло. Согласно log-файлам сервера это сделали именно вы.

Сценарий проникновения

Предположим, что вымышленный банк Altoro Mutual имеет страницу для отправки денежных переводов на конкретный номер счета. Запрос может выглядеть так:

http://www.altoromutual.com/bank/transfer.aspx?creditAccount=1001160141&transferAmount=1000

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

Он может отправить эту ссылку по электронной почте:

Уважаемый клиент Altoro Mutual!

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

Воспользуйтесь, пожалуйста, следующей ссылкой.

Однако такое письмо раскрывает намерения злоумышленника, особенно когда пользователь попадает на страницу, которая гласит: Перечисление 1000$ на счет 1001160141 успешно выполнено.

Но что если злоумышленник сделает так, что пользователь перейдет по этой ссылке непреднамеренно?

Злоумышленник может воспользоваться тем, что многие клиенты Altoro Mutual часто посещают финансовый форум. На сайте вымышленного банка Altoro Community можно создавать аватары, которые включаются в сообщения на форуме.

Аватар для форума – это изображение, например такая фигурка человека:

Рисунок 1. Пример изображения аватара с сайта AltorJ Community

Аватар в сообщении пользователя может выглядеть так, как в этом примере:

Таблица 1. Пример аватара в сообщении на форуме сайта AltorJ Community

Пример аватараПример сообщения
Злой Хакер 50 пишет: Привет всем!Интересно, а кто-либо уже видел свежий финансовый отчет Altoro Financial?

Сайт сообщества разрешает пользователям указывать URL своего аватара. Обычно аватар указывается путем заполнения поля, как в этом примере:

Таблица 2. Указание аватара пользователя

Пример поляПример URL
Укажите ваш аватар: http://some_image_site_found_with_google/random_image.jpg

Что если вместо ссылки на аватар злоумышленник использует ссылку на страницу перевода? Например:

Таблица 3. Злоумышленник указывает аватар

Пример поляПример URL
Укажите ваш аватар: http://www.altoromutual.com/bank/transfer.aspx?creditAccount=1001160141&transferAmount=1000

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

Каждый пользователь, обратившийся к этому сообщению, переводит деньги на счет злоумышленника, если в другой вкладке браузера этот пользователь выполнил вход на сайт онлайн-банкинга Altoro Mutual.

Рисунок 2. Пример сообщения злоумышленника, в котором не отобразился аватар

Кликните, чтобы увидеть увеличенное изображение

Вы можете сказать, что для перевода денег используете формы и поэтому данная ситуация вас не касается.

Правильно, большинство запросов на перевод денег инициируется при отправке форм, и такие запросы злоумышленник не может использовать столь же легко, как аватар. Но у злоумышленника есть способы обойти запрос формы. Злоумышленник может создать страницу с формой, которая отправляет с мошеннического сайта запрос на перевод денег.

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

Страница мошеннического сайта может выглядеть как страница в листинге 1.

Листинг 1. Пример кода мошеннической страницы

Обратите внимание, что эта форма отправляется автоматически при загрузке URL-адреса. Никаких действий от пользователя не требуется.

Защита против XSRF

Что могут сделать разработчики сайта банка, чтобы предотвратить подобные атаки? Рассмотрим несколько способов предотвращения XSRF-атак.

Решение с использованием заголовка refere

Простейший способ основан на заголовке referer браузера. Большинство браузеров сообщает Web-серверу, какая страница отправила запрос. В листинге 2 показан мошеннический запрос, отправляемый браузером на сервер:

Листинг 2. Пример мошеннического запроса, отправляемого на сервер

POST /bank/transfer.aspx HTTP/1.1Referer: http://evilsite.com/myevilblogUser-Agent: Mozilla/4….Host: www.altoromutual.comContent-Length: 42Cookie: SessionId=x3q2v0qpjc0n1c55mf35fxid; creditAccount=1001160141&transferAmount=10

Разработчики могут отклонить любой запрос, если заголовок referer не совпадает с именем домена хоста банка. Например:

If(request.getHeaders(“referer”) != null &&request.getHeaders(“referer”).indexOf( “http://www.altoromutual.com”) != 0){ throw new Exception(“Invalid referer”); }

Кроме того, можно указать список разрешенных URL-адресов, если запрос должен выполнять доверенный сайт.

Этот способ можно применить к базовому классу сервлета или страницы, чтобы все страницы сайта унаследовали эту защиту. Будьте осторожны, потому что ссылки на Altoro с других сайтов работать не будут. Например, пользователи сайта Altoro не смогут обратиться к нему с Google.

GET /marketingannouncements HTTP/1.1Referer: http://www.google.com

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

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

Преимуществом решения с использованием referer является его совместимость с ранними версиями других HTTP-взаимодействий, таких как Web-сервисы. Например, если клиентское мобильное приложение основано на REST API, данное решение прозрачно для клиента, потому что клиент не использует заголовок referer.

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

Решение с использованием маркера

Решение с использованием маркера основано на добавлении в форму параметра, который прекращает ее действие после превышения таймаута или при выходе пользователя из системы. См. листинг 3.

Листинг 3. Пример решения с использованием маркера

Enter the credit account:Enter the transfer amount:

Не используйте маркер в качестве параметра запроса, поскольку это сделает информацию сеанса видимой в истории браузера или в Web-статистике и аналитике. Следующий запрос, например, составлен неудачно:

Чтобы гарантировать всеобъемлющую защиту всех видов запросов, не указывая значение маркера в URL, используйте HTTP-заголовок. Пример приведен в листинге 4.

Листинг 4. Пример HTTP-заголовка с маркером XSRF Token

POST /bank/transfer.aspx HTTP/1.1Referer: https://www.altoromutual.com/bankxsrftoken: JKBS38633jjhg0987PPll User-Agent: Mozilla/4….Host: www.altoromutual.

comContent-Length: 42Cookie: SessionId=x3q2v0qpjc0n1c55mf35fxid; creditAccount=1001160141&transferAmount=10

HTTP-заголовок является основным решением в большинстве современных приложений, все чаще использующих REST API и Ajax.

Маркер заголовка устанавливается с помощью кода, приведенного в листинге 5.

Листинг 5. Установка маркера заголовка

Enter the credit account:Enter the transfer amount:

Как и в решении с использованием referer, маркер лучше всего проверять там, где выполняется аутентификация.

Хорошим решением является наследование всех страниц, связанных с аутентификацией, от базового класса, пример которого приведен в листинге 6.

Листинг 6. Наследование от базового класса

class AuthenticatedServletBase extends ServletBase { protected bool service(…){ ….. if(sessionUtil.getXsrfToken().equals(requestUtil.getXsrfToken())==false){ showXSRFTokenError(); return true;// handled..

stop any further processing here } ….

} }

Помимо защиты от XSRF-атак, заголовок с маркером обеспечивает дополнительные преимущества в предотвращении на стороне клиента других видов атак на защищенные страницы:

  • Атака типа JSON Hijacking.
  • Отраженный межсайтовый скриптинг.
  • Фишинг с использованием перенаправления URL.

Сканеры безопасности часто сообщают о XSRF, но это не обязательно означает наличие реальной уязвимости. Сканер не может отличить чувствительный запрос от нечувствительного. Однако если на сайте реализован всеобъемлющий метод, описанный в этой статье, сканер не найдет никаких проблем с XSRF.

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

Ресурсы для скачивания

Источник: https://www.ibm.com/developerworks/ru/library/se-appscan-detect-csrf-xsrf/

Ошибки Internet Explorer – как бороться?

Интернет изменил эту страницу для предотвращения межсайтовых сценариев

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

Ошибка сценария

Эта ошибка является очень распространённой. И нет ничего такого, если вы иногда сталкиваетесь с ней, однако, бывают случаи, когда такое происходит постоянно и на каждой странице. Чтобы её решить – нужно сначала понять её причину. Их, на самом деле, довольно таки много, но у них есть одна общая черта.

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

Теперь рассмотрим эти причины поподробней и пути решения этой проблемы.

Блокирование активных компонентов браузера

А именно Java и ActiveX. Эти компоненты влияют на то, как информация отображается на сайте. Ваш браузер может блокировать их, что и приводит к ошибке сценария.

Чтобы исправить эту ошибку необходимо открыть Internet Explorer, нажать на шестеренку в правом верхнем углу и кликнуть на окно “Свойства браузера.

” После этого, выберите раздел “Безопасность” и нажмите “По умолчанию”, после нажмите ОК.

Неправильная обработка HTLM кода страницы

Данная ошибка может проявляться не на каждом сайте, а только на тех, которые не оптимизированы для работы с Internet Explorer. Чтобы такого не происходило – лучше всего отключить обработку скриптов.

Для этого вам необходимо открыть свойства браузера, так же, как и описано выше.

Затем выбрать вкладку “Дополнительно” и снимаете галочку с пункта “Показывать уведомление о каждой ошибке сценария”, после чего нажать ОК.

Переизбыток временных файлов

Если же проблема возникла из – за переизбытка, или же некорректной работы временных файлов, то лучше всего будет удалить их.

Для этого нужно зайти в свойства браузера, выбрать вкладку “Общие”, далее, в разделе журнала браузера необходимо нажать на кнопку удалить и выбрать “Временные файлы интернета и веб сайтов”, “Файлы Cookie и данные веб сайтов” и “Журнал.” После, снова нажать кнопку «Удалить»

Антивирусы

Работа антивирусных программ может нарушить работу браузера и вызывать ошибку сценария в Internet Explorer. Это происходит потому, что антивирус может блокировать активные компоненты Java и ActiveX. Чтобы избежать этого, добавьте папки для хранения временных файлов браузера в исключения антивируса, или же отключите её сканирование.

Ошибки сертификатов в Internet Explorer

Такие ошибки появляются если какой – то сайт имеет проблемы с сертификатами справки или сертификатами безопасности.

Для начала, нужно понять, что же такое эти сертификаты и зачем они нужны. Сам сертификат нужен обозначения сайта. Если у вас появляется ошибка, то есть некоторая вероятность того, что соединение с ним перехвачено, либо же сайт выдаёт себя за другой.

Какие ошибки с сертификатом бывают?

  • Сертификат безопасности веб-сайта был отозван.
  • Адрес веб-сайта не соответствует адресу в сертификате безопасности.
  • Истек срок действия сертификата веб-сайта.
  • Сертификат безопасности данного веб-сайта получен из ненадежного источника.
  • Internet Explorer обнаружил проблему с сертификатом безопасности этого веб-сайта.

Есть определённые причины, по которым такие ошибки могут возникать.

  • У сайта просрочен сертификат безопасности.
  • Мошеннический сайт, который работает с ложным ключом безопасности.
  • Неверные установки даты и времени в вашей ОС.
  • Действие антивирусов. Иногда они могут неправильно определить сертификат, что и приведёт к ошибке.

С причинами мы разобрались, теперь же перейдём к пути решения.

Проверка даты и времени

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

Игнорирование сообщения о ошибке

Если же это не помогло, то вы можете просто проигнорировать сообщение об ошибке. Сделать это очень просто. Когда вы зайдёте на сайт, то Internet Explorer покажет вам окно с уведомлением о том, что у сайта есть проблема с сертификатом безопасности. И предложит вам на выбор открытие или закрытие сайта. Нажимаем “Продолжить открытие этого веб сайта” и сайт откроется.

Игнорирование сообщения

Вообще, игнорировать такие сообщения не рекомендуется, однако, если вы полностью уверены в сайте и его содержимом – проблем возникнуть не должно, а сообщение можно отключить. Для этого нужно нажать на иконку шестеренки в правом верхнем углу, открыть свойства браузера, выбрать вкладку “Дополнительно” и снять флажок с окна “Предупреждать о несоответствии адреса сертификата”

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

Добавление сертификата

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

После того, как вы его скачали, вам нужно вручную добавить его в Internet Explorer. Чтобы сделать это, нажмите на шестеренку в правом верхнем углу и выберите “Свойства браузера.

” После этого, во вкладке содержание, в разделе с сертификатами, нажмите кнопку “Сертификаты.” После этого нажмите кнопку “Импорт.” У вас откроется мастер установки сертификатов. Нажимаете кнопку “Далее.

” Тут вы нажимаете “Обзор”, указываете путь к файлу сертификата, который вы скачали ранее, нажимаете продолжить.

В следующем окне вы должны указать ключ для сертификата.

Выберите пункт “Поместить все сертификаты в соответствующее хранилище, а в строчке, в которой вас просят выбрать хранилище сертификатов, укажите “Доверенные корневые центры сертификации.” Нажимаем “Далее.

” В последнем окне вам покажут параметры импорта, а вам лишь нужно нажать “Готово.” Если ключ окажется действительным, и вы сделаете всё правильно, то вам выдадут сообщение “Импорт выполнен успешно.”

Источник: https://internet-explorer-download.ru/errors

Как исправить ошибку сценария в Internet Explorer

Интернет изменил эту страницу для предотвращения межсайтовых сценариев

Иногда браузер может уведомлять пользователя о том, что произошла ошибка сценария. Это касается и стандартного Internet Explorer. В нем, кстати, такой сбой происходит чаще, чем в других обозревателях. Чем может быть вызвана данная проблема и как ее решить?

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

Также сбой при загрузке может вызывать чрезмерное количество временных файлов (особенно, если давно не проводилась чистка браузера от них).

Также некоторые параметры учетной записи могут мешать правильному запуску ресурса. Сегодня рассмотрим, как убрать ошибку сценария в Internet Explorer, с учетом всех этих причин.

Первые действия

Если это произошло в первый раз, это может быть единичный случай. Следовательно, переживать не о чем. Попробуйте перезагрузить страницу. Если снова появится уведомление с вопросом, нужно ли остановить выполнение этого сценария, нажмите на кнопку «Нет».

Определились, что это не единичный случай. Что делать дальше? Посмотрите, выдает ли ошибку при открытии всех страниц или только одной. Если на одной, то зайдите в другой аккаунт на этом же сайте, откройте страницу в другом обозревателе и ПК.

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

Блокировка активных сценариев ActiveX и Java

Вы решили все же не переходить на другую программу? В таком случае будем решать проблему дальше.

Active X и Java могут быть отключены или заблокированы. Это одна из распространенных причин ошибки сценариев. Что предпринять в таком случае? Нужно сбросить настройки безопасности обозревателя.

Запустите программу. Нажмите на иконку в виде шестеренки. Она будет рядом со звездочкой. В появившемся списке опций выберите раздел «Свойства браузера». Это будет предпоследний пункт.

Открываем вторую вкладку «Безопасность». Кликаем по кнопке «По умолчанию». Нажимаем на ОК.

Временные файлы в браузере

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

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

  • Снова жмем на уже знакомую нам шестеренку. Выбираем «Свойства браузера».
  • Переключитесь на раздел «Общие».
  • В блоке «Журнал браузера» уверенно кликаем по кнопке «Удалить».
  • Отметьте галочкой временные файлы и другие виды файлов, от которых хотите избавиться, а затем подтвердите удаление.

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

Неправильная обработка кода HTML-страницы

Возникает такая ситуация обычно в том случае, когда зависает только один сайт. Это означает, что код страниц не подходит для Internet Explorer. Чтобы страница загружалась, отладка скриптов должна быть отключена.

  • Зайдите снова в окошко «Свойства браузера».
  • Зайдите на этот раз в четвертый блок «Дополнительно».
  • Уберите галочку со строки «Показывать уведомление о каждой ошибке сценария». Сохраните изменения.

Если пользователь запретил отладку сценариев, уведомление об ошибке больше не появляется. Страница будет зависать все равно, поэтому этот способ можно использовать только в том случае, если проблемы только с одним сайтом.

Скачайте доступные обновления

Как выполняется переустановка Internet Explorer

Сценарий может некорректно выполняться также из-за того, что отсутствуют нужные обновления самой системы и Интернет Эксплорер. Апдейт может решить полностью проблему.

Зайдите в Центр обновления у себя на ПК и убедитесь, что все обновления установлены. Если нет, то запустите установку.

Перейдите по следующей ссылке: https://www.microsoft.com/ru-ru/download/internet-explorer-11-for-windows-7-details.aspx. Выберите нужную вам версию браузера Internet Explorer 11.

Используем системный реестр

Сбой может появляться при загрузке ОС Windows, то есть при запуске компьютера. Это далеко не серьезный сбой, но все же исправлять ситуацию нужно. В ход пойдет системный реестр. Способ исправления ошибки гораздо сложнее, чем предыдущие. Если вы новичок, попросите сделать это за вас более знающего пользователя.
1.Запускаем окно «Выполнить» и прописываем в строке команду regedit.

2.Кликаем по блоку HKEY_LOCAL_MACHINE правой кнопкой мыши и выбираем «Разрешения».

3.В окне, которое появится внизу, ставим полный доступ и чтение.

4.Открываем Дополнительные параметры. Нажимаем на кнопку «Изменить» и ставим «Разрешить

5.Подтверждаем сохранение настроек. Кликаем по ОК.

6.Перезагрузите устройство. Вызовите командную строку. Финальный штрих – пропись следующей команды: regsvr32 msxml.dll. Нажмите на клавиатуре на Enter.

Ошибка сценария в Internet Explorer решается множеством способов. Мы представили и простые, и сложные. Выбор метода зависит от причины, а так как ее так просто не определить, используйте метод за методом.

Источник: https://brauzerok.ru/internet-explorer/kak-ispravit-oshibku-scenariya

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