Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 45075|Répondre: 7

[ASP.NET] ASP.NET Attaque CSRF Encapsulation de requêtes Ajax

[Copié le lien]
Publié le 12-09-2019 à 09:42:54 | | | |
Qu’est-ce que le CSRF ?

CSRF (falsification de requête intersite), également connue sous le nom d’attaque à un clic/session riding, abréviation chinoise : CSRF/XSRF. La CSRF (Cross Site Request Forgery) est une méthode d’attaque réseau qui figurait parmi les 20 principaux risques de sécurité sur Internet en 2007. D’autres risques de sécurité, tels que l’injection de scripts SQL et les attaques par scripts de domaine inter-sites, sont devenus bien connus ces dernières années, et de nombreux sites web se sont défendus contre eux. Cependant, CSRF reste un concept étranger pour la plupart des gens. Même le Gmail le plus célèbre avait une vulnérabilité CSRF fin 2007, qui a été piratée et a causé d’énormes pertes aux utilisateurs de Gmail.

Que peut faire la CSRF ?

Vous pouvez comprendre les attaques CSRF comme celles-ci : un attaquant a volé votre identité et envoyé des requêtes malveillantes en votre nom. Le CSRF peut faire des choses comme envoyer des e-mails, envoyer des messages, voler votre compte, ou même acheter des biens et transférer de la monnaie virtuelle en votre nom...... Les problèmes causés incluent : la fuite de vie privée personnelle et la sécurité des biens.

ASP.NET marque anti-contrefaçon anti-contrefaçon MVC AntiForgeryToken

Dans ASP.NET MVC, les jetons formulaire et les jetons de cookies sont générés automatiquement par défaut chaque fois que @Html.AntiForgeryToken() est utilisé dans la page de vue. Cependant, si nous voulons obtenir une récupération manuelle en arrière-plan, nous devons utiliser la classe System.Web.Helpers.AntiForgery, et les amis intéressés par la consultation du code source constateront qu’en fait, la méthode d’appel interne de @Html.AntiForgeryToken() est la même que celle de la classe AntiForgery.

Il est principalement utilisé pour obtenir le token de formulaire et de cookie correspondant via deux méthodes statiques : AntiForgery.GetHtml() ou AntiForgery.GetTokens (chaîne oldCookieToken, chaîne out newCookieToken, chaîne out formToken). Cependant, il convient de noter qu’une fois la méthode GetHtml appelée, le token cookie correspondant sera automatiquement généré, puis un morceau de code HTML avec le champ caché de la valeur du jeton de formulaire sera directement retourné, et la valeur retournée sera sous cette forme :

<nom d’entrée="__RequestVerificationToken » type="hidden » value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Le nom du champ caché est généralement fixé à « __RequestVerificationToken », et la valeur est un jeton de sécurité chiffré. Ce champ caché est généralement placé dans le formulaire à soumettre, et la soumission finale est vérifiée par rapport au jeton cookie.

Si vous utilisez la méthode GetTokens, vous pouvez obtenir le formulaire chiffré et le token cookie après avoir passé les paramètres correspondants, mais ici vous devez stocker vous-même les valeurs correspondantes.

Ensuite, nous allons introduire la méthode de mise à jour manuelle d’AntiForgeryToken, principalement via AJAX.

Code de forfait :



Code de test :



Nous avons constaté que lors de l’envoi d’une requête ajax, __RequestVerificationToken paramètres sont automatiquement inclus, comme montré dans la figure ci-dessous :







Précédent:Affichage de l’historique des commandes par CMD de Windows
Prochain:Meet Azure DevOps
 Propriétaire| Publié le 25-09-2019 à 18:09:46 |
Publié le 10-11-2019 à 15:06:37 |
N’avez-vous pas rédigé un plan de traitement en arrière-plan ? Le traitement en arrière-plan à l’intérieur de l’en-tête est différent du traitement en arrière-plan sans l’en-tête
 Propriétaire| Publié le 21-11-2019 à 10:38:40 |
Danqingcheng publié le 10-11-2019 à 15:06
N’avez-vous pas rédigé un plan de traitement en arrière-plan ? Le traitement en arrière-plan à l’intérieur de l’en-tête est différent du traitement en arrière-plan sans l’en-tête

Hmm, je dois réécrire le filtre
 Propriétaire| Publié le 20-02-2021 à 19:22:14 |
MVC ajax avec AntiForgeryToken pour prévenir les attaques CSRF
https://www.itsvse.com/thread-4207-1-1.html
Publié le 9-12-2021 à 18:41:29 |
testtesttesttesttesttesttest
 Propriétaire| Publié le 17-04-2022 à 12:59:39 |
 Propriétaire| Publié le 26-09-2024 à 15:57:52 |
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com