La principale différence entre XSS et CSRF est que, dans XSS (ou Cross Site Scripting), le site accepte le code malveillant tandis que, dans CSRF (ou Cross Site Request Forgery), le code malveillant est stocké dans le troisième sites de fête. Le XSS est un type de vulnérabilité de sécurité informatique dans les applications Web qui permet aux attaquants d'injecter des scripts côté client dans les pages Web consultées par d'autres utilisateurs. D'autre part, CSRF est un type d'activité malveillante d'un pirate informatique ou d'un site Web qui transmet des commandes non autorisées auxquelles l'application Web de l'utilisateur fera confiance.
Le développement Web est le processus de programmation d'un site Web en fonction des exigences du client. Chaque organisation maintient des sites Web. Ces sites Web aident à améliorer l'entreprise et à générer des bénéfices. En même temps, il peut y avoir des menaces qui affectent la fonctionnalité du site Web. Deux d'entre eux sont XSS et CSRF.
Qu'est-ce que XSS ?
XSS est une attaque par injection de code qui injecte du code malveillant dans le site Web. C'est l'une des attaques de sites Web les plus courantes. Cela peut affecter le site Web et peut également affecter les utilisateurs de ce site Web. En d'autres termes, lorsqu'il y a une attaque XSS sur le site Web, ce code sera exécuté chez les utilisateurs de ce site Web par le navigateur.
Figure 01: Attaque XSS
Un langage courant pour écrire du code malveillant pour XSS est JavaScript. XSS peut voler les cookies de l'utilisateur. Il peut modifier la page Web pour qu'elle apparaisse et se comporte différemment. De plus, il peut afficher les téléchargements de logiciels malveillants et modifier les paramètres de l'utilisateur.
Il existe deux types d'attaques XSS. Ils sont appelés persistants et non persistants. Dans une attaque XSS persistante, le code malveillant est stocké dans la base de données du site Web. L'utilisateur peut y accéder sans aucune connaissance. L'attaque XSS non persistante est également appelée XSS réfléchie. Il envoie le script malveillant sous forme de requête HTTP. Ce sont les deux principaux types de XSS.
Qu'est-ce que CSRF ?
Dans un site web, il y a un côté client et un côté serveur. Les pages Web, les formulaires sont du côté client. Le côté serveur effectue une action lorsque l'utilisateur agit. Le côté serveur reçoit également des requêtes d'autres sites Web.
L'attaque CSRF incite l'utilisateur à interagir avec une page ou un script sur un site tiers. Il générera une requête malveillante sur le site de l'utilisateur. Mais le serveur suppose qu'il s'agit d'une demande provenant d'un site Web autorisé. Lorsque l'utilisateur l'accepte, un attaquant peut prendre le contrôle de l'utilisation des données envoyées dans la requête.
Un exemple est le suivant. Un utilisateur se connecte à son compte bancaire. La banque lui fournit un jeton de session. Un pirate informatique peut inciter l'utilisateur à cliquer sur un faux lien pointant vers la banque. Lorsque l'utilisateur clique sur le lien, il utilise le jeton de session précédent. Ensuite, la demande du pirate s'exécute et le compte d'utilisateur est piraté. Il peut transférer de l'argent depuis son compte. La demande à la banque est falsifiée car elle utilise le même jeton de session de l'utilisateur. Dans l'ensemble, il est important de savoir comment protéger le site Web contre les attaques CSRF dans le développement Web.
Quelle est la différence entre XSS et CSRF ?
XSS signifie Cross Site Scripting, et CSRF signifie Cross Site Request Forgery. XSS est un type de vulnérabilité de sécurité informatique dans les applications Web qui permet aux attaquants d'injecter des scripts côté client dans les pages Web consultées par d'autres utilisateurs. CSRF est un type d'activité malveillante d'un pirate ou d'un site Web qui transmet des commandes non autorisées auxquelles l'application Web de l'utilisateur fera confiance. De plus, XSS nécessite JavaScript pour écrire le code malveillant alors que le CSRF ne nécessite pas JavaScript.
De plus, dans XSS, le site accepte le code malveillant tandis que dans CSRF, le code malveillant est stocké dans les sites tiers. C'est la principale différence entre XSS et CSRF. Habituellement, un site vulnérable à l'attaque XSS est également vulnérable à l'attaque CSRF. Cependant, un site protégé contre XSS peut toujours être vulnérable aux attaques CSRF.
Résumé – XSS vs CSRF
XSS et CSRF sont deux types d'attaques contre un site Web. XSS signifie Cross Site Scripting tandis que CSRF signifie Cross Site Request Forgery. La différence entre XSS et CSRF est que, dans XSS, le site accepte le code malveillant tandis que, dans CSRF, le code malveillant est stocké dans les sites tiers.