Введение в CSRF?

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

Как это работает?

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

CSRF-атака состоит из двух основных частей

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

Ключевые понятия CSRF

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

Как предотвратить подделку межсайтовых запросов (CSRF)?

Существует целый ряд профилактических методов CSRF, среди которых мало:

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

Анти-CSRF токены

Наиболее распространенной реализацией для прекращения подделки межсайтовых запросов (CSRF) является использование токена, который связан с выбранным пользователем и может быть найден как скрытая форма в каждом состоянии, динамическая форма присутствует в онлайн-приложении.

1. Этот токен, называемый токен CSRF, работает следующим образом:

  • Клиент запрашивает страницу HTML, которая имеет форму.
  • В ответ на этот запрос сервер добавляет два токена. Он отправляет один из них в виде файла cookie и сохраняет другие токены в скрытом поле формы. Эти токены генерируются случайным образом.
  • Клиент отправляет оба токена обратно на сервер после отправки формы. Токен cookie отправляется как токен, а токен формы отправляется внутри данных формы.
  • Сервер не отвечает или отклоняет запрос, если запрос не содержит оба запроса.

Теперь злоумышленник, который пытается подделать запрос, должен будет угадать токены anti-CSRF вместе с паролями аутентификации пользователя. Эти токены становятся недействительными через некоторое время и после завершения сеанса. Это заставляет злоумышленника угадать жетон.

2. Файлы cookie того же сайта

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

3. Тот же атрибут файла cookie сайта

  • Чтобы предотвратить CSRF-атаки, можно использовать тот же атрибут cookie сайта. Отключает стороннее использование для определенного куки.
  • Это делается сервером при настройке cookie; Затем он запрашивает браузер отправлять cookie только тогда, когда пользователь напрямую использует веб-приложение.
  • Теперь, если кто-то попытается запросить что-то из веб-приложения, браузер не будет отправлять cookie.
  • Тем не менее, предотвращает атаку CSRF.

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

Примеры CSRF

Ниже мы объяснили некоторые примеры CSRF:

1. Использование GET-запросов:

Предположим, что вы создали и разработали веб-сайт banking.com для выполнения таких действий, как онлайн-транзакции, с помощью запросов GET. Теперь умный злоумышленник, который знает, как создать вредоносный URL, может использовать элемент, чтобы браузер молча загружал страницу

Пример HTML-элемента изображения, содержащего вредоносный URL:

2. Один из следующих методов может быть использован для того же:

  • Отправив электронное письмо с содержанием HTML
  • Размещая скрипт или вредоносный URL на страницах, которые пользователь, скорее всего, посетит во время онлайн-транзакций.

3. Использование POST-запросов

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

Вывод

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

Рекомендуемые статьи

Это было руководство к тому, что такое CSRF. Здесь мы обсудили ключевую концепцию, токены Anti-CSRF, как это работает и примеры CSRF. Вы также можете просмотреть наши другие Предлагаемые статьи, чтобы узнать больше -

  1. Что такое Java Hibernate?
  2. Что такое ASP.NET?
  3. Что такое AWS Lambda?
  4. Что такое XHTML?