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

Вид: 45075|Ответ: 7

[ASP.NET] ASP.NET CSRF-атаки на инкапсуляцию запроса Ajax

[Скопировать ссылку]
Опубликовано 2019-9-12 09:42:54 | | | |
Что такое CSRF?

CSRF (Cross-site request forgery), также известный как атака/сессия в одном клике, китайское сокращение: CSRF/XSRF. CSRF (Cross Site Request Forgery) — это метод сетевой атаки, который в 2007 году был включён в число 20 главных рисков безопасности в Интернете. Другие риски безопасности, такие как инъекция скриптов SQL и атаки на межсайтовые доменные скрипты, стали широко известны в последние годы, и многие сайты защищаются от них. Однако CSRF всё ещё чужда для большинства людей. Даже самый известный Gmail имел уязвимость CSRF в конце 2007 года, которая была взломана и принесла огромные потери пользователям Gmail.

Что может сделать CSRF?

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

ASP.NET MVC AntiForgeryToken — антифальшивый знак

В ASP.NET MVC формы и токены cookie автоматически генерируются по умолчанию, когда @Html.AntiForgeryToken() используется на странице просмотра. Однако, если мы хотим получить ручное извлечение в фоновом режиме, нам нужно использовать класс System.Web.Helpers.AntiForgery, и друзья, заинтересованные в просмотре исходного кода, обнаружат, что на самом деле внутренний вызов @Html.AntiForgeryToken() совпадает с методом вызова класса AntiForgery.

Он в основном используется для получения соответствующей формы и токена cookie двумя статическими методами: AntiForgery.GetHtml() или AntiForgery.GetTokens (строка oldCookieToken, выход строки newCookieToken, выход строки formToken). Однако следует отметить, что после вызова метода GetHtml соответствующий токен cookie будет автоматически генерироваться, и затем фрагмент HTML-кода с скрытым полем значения токена формы возвращается напрямую, и возвращаемое значение будет в такой форме:

<input name="__RequestVerificationToken" type="hidden" value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Имя скрытого поля обычно фиксируется на «__RequestVerificationToken», а значение представляет собой зашифрованный токен безопасности. Это скрытое поле обычно помещается в форму для отправки, а финальная заявка проверяется по токену cookie.

Если использовать метод GetTokens, можно получить зашифрованную форму и токен cookie после передачи соответствующих параметров, но здесь нужно сохранять соответствующие значения самостоятельно.

Далее мы представим метод ручного обновления AntiForgeryToken, главным образом через AJAX.

Код упаковки:



Тестовый код:



Мы обнаружили, что при отправке ajax-запроса __RequestVerificationToken параметры автоматически включаются, как показано на рисунке ниже:







Предыдущий:Исторический учебник по истории команд Windows CMD
Следующий:Meet Azure DevOps
 Хозяин| Опубликовано 25.09.2019 18:09:46 |
Опубликовано 2019-11-10 15:06:37 |
Разве вы не составляли план лечения фона? Фоновая обработка внутри заголовка отличается от фоновой обработки без заголовка
 Хозяин| Опубликовано 21.11.2019 10:38:40 |
Danqingcheng опубликовано 10.11.2019 15:06
Разве вы не составляли план лечения фона? Фоновая обработка внутри заголовка отличается от фоновой обработки без заголовка

Хм, мне нужно переписать фильтр
 Хозяин| Опубликовано 2021-2-20 19:22:14 |
mvc ajax с AntiForgeryToken для предотвращения CSRF-атак
https://www.itsvse.com/thread-4207-1-1.html
Опубликовано 9.12.2021 18:41:29 |
testtesttesttest
 Хозяин| Опубликовано 17.04.2022 12:59:39 |
Не тестировали


 Хозяин| Опубликовано 26.09.2024 15:57:52 |
Угловое решение:Вход по гиперссылке виден.
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com