{"id":477747,"date":"2023-08-09T09:19:35","date_gmt":"2023-08-09T09:19:35","guid":{"rendered":""},"modified":"2023-09-05T11:15:18","modified_gmt":"2023-09-05T11:15:18","slug":"json-hijacking","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/fr\/wiki\/json-hijacking\/","title":{"rendered":"D\u00e9tournement JSON"},"content":{"rendered":"<p>Le piratage JSON, \u00e9galement connu sous le nom de \u00ab d\u00e9tournement de notation d&#039;objet JavaScript \u00bb, est une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 qui affecte les applications Web utilisant JSON (JavaScript Object Notation) comme format d&#039;\u00e9change de donn\u00e9es. Cette vuln\u00e9rabilit\u00e9 permet aux attaquants de voler des donn\u00e9es sensibles du navigateur de la victime lorsque l&#039;application n&#039;est pas correctement s\u00e9curis\u00e9e contre de telles attaques. Le d\u00e9tournement JSON exploite la politique de m\u00eame origine, une mesure de s\u00e9curit\u00e9 qui emp\u00eache les pages Web de faire des requ\u00eates vers un domaine diff\u00e9rent de celui qui a servi la page Web.<\/p>\n<h2>L&#039;histoire de l&#039;origine du d\u00e9tournement JSON et la premi\u00e8re mention de celui-ci.<\/h2>\n<p>Le d\u00e9tournement JSON a \u00e9t\u00e9 d\u00e9couvert et document\u00e9 pour la premi\u00e8re fois par Jeremiah Grossman en 2006. Dans ses recherches, il a d\u00e9couvert que les applications Web utilisant des r\u00e9ponses JSON \u00e9taient sensibles \u00e0 cette vuln\u00e9rabilit\u00e9 en raison de l&#039;absence de m\u00e9thode standard pour s&#039;en prot\u00e9ger. La premi\u00e8re mention du d\u00e9tournement de JSON a attir\u00e9 l&#039;attention sur les risques potentiels associ\u00e9s \u00e0 l&#039;utilisation de JSON comme format d&#039;\u00e9change de donn\u00e9es sans que des mesures de s\u00e9curit\u00e9 appropri\u00e9es soient mises en place.<\/p>\n<h2>Informations d\u00e9taill\u00e9es sur le piratage JSON. Extension du sujet D\u00e9tournement JSON.<\/h2>\n<p>Le d\u00e9tournement JSON se produit lorsqu&#039;une application Web sert des donn\u00e9es JSON sans impl\u00e9menter de m\u00e9canismes de s\u00e9curit\u00e9 appropri\u00e9s, tels qu&#039;un wrapper de r\u00e9ponse JSON s\u00e9curis\u00e9. Normalement, lorsqu&#039;une page Web demande des donn\u00e9es JSON \u00e0 un serveur, elle re\u00e7oit un objet JSON l\u00e9gitime qui peut \u00eatre facilement analys\u00e9 et utilis\u00e9 par le code JavaScript de la page.<\/p>\n<p>Cependant, dans le cas d&#039;un piratage JSON, un attaquant peut exploiter la politique de m\u00eame origine pour voler les donn\u00e9es JSON. L&#039;attaquant incite le navigateur de la victime \u00e0 envoyer une requ\u00eate d&#039;origine crois\u00e9e \u00e0 un serveur malveillant contr\u00f4l\u00e9 par l&#039;attaquant. \u00c9tant donn\u00e9 que la politique de m\u00eame origine ne s&#039;applique pas aux requ\u00eates JSON (contrairement aux requ\u00eates Ajax traditionnelles), le serveur malveillant peut recevoir directement les donn\u00e9es JSON.<\/p>\n<p>L&#039;absence d&#039;en-t\u00eates de s\u00e9curit\u00e9 ou de wrappers de r\u00e9ponse appropri\u00e9s, tels que \u00ab X-Content-Type-Options: nosniff \u00bb ou \u00ab while(1); \u00bb, permet aux attaquants d&#039;ex\u00e9cuter avec succ\u00e8s une attaque de d\u00e9tournement JSON. En volant des donn\u00e9es sensibles, les attaquants peuvent potentiellement compromettre la confidentialit\u00e9 et la s\u00e9curit\u00e9 des utilisateurs.<\/p>\n<h2>La structure interne du d\u00e9tournement JSON. Comment fonctionne le d\u00e9tournement JSON.<\/h2>\n<p>Le d\u00e9tournement JSON cible principalement les applications Web qui utilisent des r\u00e9ponses JSON sans recourir \u00e0 des techniques de s\u00e9curit\u00e9 sp\u00e9cifiques. La structure interne de l\u2019attaque implique les \u00e9tapes suivantes\u00a0:<\/p>\n<ol>\n<li>Le navigateur de la victime envoie une demande de donn\u00e9es JSON au serveur Web.<\/li>\n<li>Le serveur Web traite la demande et renvoie les donn\u00e9es JSON dans la r\u00e9ponse.<\/li>\n<li>L&#039;attaquant incite le navigateur de la victime \u00e0 effectuer une requ\u00eate d&#039;origine crois\u00e9e suppl\u00e9mentaire, qui dirige vers le serveur de l&#039;attaquant.<\/li>\n<li>Le serveur de l&#039;attaquant intercepte la r\u00e9ponse JSON directement depuis le navigateur de la victime puisque la politique de m\u00eame origine ne s&#039;applique pas aux requ\u00eates JSON.<\/li>\n<li>L&#039;attaquant a d\u00e9sormais acc\u00e8s \u00e0 des donn\u00e9es JSON sensibles qui n&#039;auraient d\u00fb \u00eatre accessibles que dans le domaine de l&#039;application Web.<\/li>\n<\/ol>\n<h2>Analyse des principales caract\u00e9ristiques du d\u00e9tournement JSON.<\/h2>\n<p>Les principales fonctionnalit\u00e9s du d\u00e9tournement JSON incluent\u00a0:<\/p>\n<ul>\n<li>Exploitation de la politique de m\u00eame origine\u00a0: le d\u00e9tournement JSON profite de l&#039;exemption de la politique de m\u00eame origine pour les requ\u00eates JSON, permettant ainsi \u00e0 un attaquant d&#039;intercepter les r\u00e9ponses JSON.<\/li>\n<li>Manque de wrappers de r\u00e9ponse appropri\u00e9s\u00a0: absence de wrappers de r\u00e9ponse JSON s\u00e9curis\u00e9s, comme \u00ab while(1); \u00bb ou \u00ab\u00a0X-Content-Type-Options\u00a0: nosniff\u00a0\u00bb peuvent rendre les applications Web vuln\u00e9rables au piratage JSON.<\/li>\n<li>Focus sur les points de terminaison JSON\u00a0: l&#039;attaque est centr\u00e9e sur les applications Web qui utilisent les points de terminaison JSON pour l&#039;\u00e9change de donn\u00e9es.<\/li>\n<\/ul>\n<h2>Types de d\u00e9tournement JSON<\/h2>\n<p>Le d\u00e9tournement JSON peut \u00eatre class\u00e9 en deux types principaux en fonction des m\u00e9thodes utilis\u00e9es pour mener l&#039;attaque\u00a0:<\/p>\n<ol>\n<li>\n<p><strong>D\u00e9tournement JSON direct\u00a0:<\/strong> Dans ce type d&#039;attaque, l&#039;attaquant incite le navigateur de la victime \u00e0 envoyer une requ\u00eate JSON directement au serveur de l&#039;attaquant. Le serveur de l&#039;attaquant re\u00e7oit alors directement les donn\u00e9es JSON sans aucune \u00e9tape suppl\u00e9mentaire.<\/p>\n<\/li>\n<li>\n<p><strong>D\u00e9tournement de JSONP (JSON avec Padding)\u00a0:<\/strong> JSONP est une technique utilis\u00e9e pour surmonter les limitations de la politique de m\u00eame origine pour effectuer des requ\u00eates d&#039;origine crois\u00e9e. Lors du d\u00e9tournement JSONP, l&#039;attaquant manipule la fonction de rappel JSONP pour recevoir les donn\u00e9es JSON et potentiellement extraire des informations sensibles.<\/p>\n<\/li>\n<\/ol>\n<p>Vous trouverez ci-dessous un tableau comparatif mettant en \u00e9vidence les diff\u00e9rences entre les deux types de d\u00e9tournement JSON\u00a0:<\/p>\n<table>\n<thead>\n<tr>\n<th>Taper<\/th>\n<th>M\u00e9thode<\/th>\n<th>Avantages<\/th>\n<th>D\u00e9savantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>D\u00e9tournement JSON direct<\/td>\n<td>Exploite la politique de m\u00eame origine pour les requ\u00eates JSON<\/td>\n<td>Simplicit\u00e9 d&#039;ex\u00e9cution, acc\u00e8s direct aux donn\u00e9es JSON<\/td>\n<td>Plus visible dans les journaux, plus facile \u00e0 d\u00e9tecter<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9tournement JSONP<\/td>\n<td>Manipule la fonction de rappel JSONP<\/td>\n<td>Contourne potentiellement la politique de m\u00eame origine<\/td>\n<td>N\u00e9cessite une impl\u00e9mentation JSONP vuln\u00e9rable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Fa\u00e7ons d&#039;utiliser le d\u00e9tournement JSON, probl\u00e8mes et leurs solutions li\u00e9es \u00e0 l&#039;utilisation.<\/h2>\n<h3>M\u00e9thodes d&#039;exploitation<\/h3>\n<p>Le d\u00e9tournement JSON peut \u00eatre utilis\u00e9 pour obtenir des informations sensibles, telles que des informations d&#039;identification utilisateur, des jetons d&#039;authentification ou d&#039;autres donn\u00e9es sensibles stock\u00e9es dans les r\u00e9ponses JSON. Les donn\u00e9es vol\u00e9es peuvent ensuite \u00eatre utilis\u00e9es \u00e0 mauvais escient par l\u2019attaquant \u00e0 diverses fins malveillantes.<\/p>\n<h3>Probl\u00e8mes et solutions<\/h3>\n<p>Le principal probl\u00e8me du piratage JSON est le manque de mesures de s\u00e9curit\u00e9 standard dans de nombreuses applications Web utilisant JSON comme format d&#039;\u00e9change de donn\u00e9es. Pour att\u00e9nuer les risques associ\u00e9s au piratage JSON, les d\u00e9veloppeurs et les administrateurs de sites Web peuvent mettre en \u0153uvre les solutions suivantes\u00a0:<\/p>\n<ol>\n<li>\n<p><strong>Wrapper de r\u00e9ponse JSON s\u00e9curis\u00e9\u00a0:<\/strong> Placez les r\u00e9ponses JSON dans un wrapper s\u00e9curis\u00e9, tel que \u00ab while(1); \u00bb ou &quot;X-Content-Type-Options\u00a0: nosniff.&quot; Cela emp\u00eache l&#039;analyse directe des donn\u00e9es JSON par le navigateur, les rendant inaccessibles aux attaquants potentiels.<\/p>\n<\/li>\n<li>\n<p><strong>Partage de ressources entre origines crois\u00e9es (CORS)\u00a0:<\/strong> La mise en \u0153uvre de politiques CORS peut restreindre l&#039;acc\u00e8s multi-origine aux donn\u00e9es JSON, emp\u00eachant ainsi les attaquants d&#039;exploiter l&#039;exemption de politique de m\u00eame origine.<\/p>\n<\/li>\n<li>\n<p><strong>Authentification bas\u00e9e sur un jeton\u00a0:<\/strong> Utilisez des m\u00e9thodes d&#039;authentification bas\u00e9es sur des jetons comme OAuth, qui peuvent aider \u00e0 vous prot\u00e9ger contre les acc\u00e8s non autoris\u00e9s et \u00e0 att\u00e9nuer l&#039;impact du piratage JSON.<\/p>\n<\/li>\n<li>\n<p><strong>Politique de s\u00e9curit\u00e9 du contenu (CSP)\u00a0:<\/strong> En configurant les en-t\u00eates CSP, les administrateurs peuvent contr\u00f4ler quels domaines sont autoris\u00e9s \u00e0 ex\u00e9cuter des scripts sur leurs pages Web, r\u00e9duisant ainsi le risque de piratage JSON.<\/p>\n<\/li>\n<\/ol>\n<h2>Principales caract\u00e9ristiques et autres comparaisons avec des termes similaires sous forme de tableaux et de listes.<\/h2>\n<p>Vous trouverez ci-dessous un tableau comparatif du piratage JSON avec des termes similaires et des concepts associ\u00e9s\u00a0:<\/p>\n<table>\n<thead>\n<tr>\n<th>Terme<\/th>\n<th>Description<\/th>\n<th>Diff\u00e9rence<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>D\u00e9tournement JSON<\/td>\n<td>Vuln\u00e9rabilit\u00e9 exploitant l&#039;exemption de politique de m\u00eame origine pour les requ\u00eates JSON.<\/td>\n<td>Sp\u00e9cifique aux r\u00e9ponses JSON, cible les applications Web sans wrappers de r\u00e9ponse JSON s\u00e9curis\u00e9s.<\/td>\n<\/tr>\n<tr>\n<td>Scripts intersites<\/td>\n<td>Attaque en injectant des scripts malveillants dans une application Web pour voler des donn\u00e9es ou d\u00e9tourner des sessions utilisateur.<\/td>\n<td>Se concentre sur l&#039;injection de scripts, tandis que le d\u00e9tournement JSON cible l&#039;acc\u00e8s direct aux donn\u00e9es JSON.<\/td>\n<\/tr>\n<tr>\n<td>Contrefa\u00e7on de demande intersite (CSRF)<\/td>\n<td>Attaque incitant les utilisateurs \u00e0 effectuer des actions ind\u00e9sirables sur un site de confiance.<\/td>\n<td>CSRF se concentre sur les actions des utilisateurs, tandis que le d\u00e9tournement JSON traite de l&#039;exploitation de la politique de m\u00eame origine pour JSON.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectives et technologies du futur li\u00e9es au d\u00e9tournement JSON.<\/h2>\n<p>\u00c0 mesure que les technologies Web \u00e9voluent, les risques potentiels associ\u00e9s au piratage JSON \u00e9voluent \u00e9galement. Les d\u00e9veloppeurs et les experts en s\u00e9curit\u00e9 recherchent continuellement des m\u00e9thodes innovantes pour pr\u00e9venir de telles vuln\u00e9rabilit\u00e9s. Certaines perspectives et technologies potentielles du futur li\u00e9es au piratage JSON peuvent inclure\u00a0:<\/p>\n<ol>\n<li>\n<p><strong>Standardisation des wrappers de r\u00e9ponse JSON s\u00e9curis\u00e9s\u00a0:<\/strong> L&#039;adoption d&#039;un wrapper de r\u00e9ponse JSON s\u00e9curis\u00e9 et standardis\u00e9 pourrait permettre aux d\u00e9veloppeurs de prot\u00e9ger plus facilement les donn\u00e9es JSON contre les attaques de piratage.<\/p>\n<\/li>\n<li>\n<p><strong>Politique de m\u00eame origine am\u00e9lior\u00e9e pour JSON\u00a0:<\/strong> Des am\u00e9liorations apport\u00e9es \u00e0 la politique de m\u00eame origine pour couvrir les requ\u00eates JSON de mani\u00e8re plus compl\u00e8te pourraient r\u00e9duire le risque de d\u00e9tournement JSON.<\/p>\n<\/li>\n<li>\n<p><strong>Avanc\u00e9es des pare-feu d\u2019applications Web (WAF)\u00a0:<\/strong> Les pare-feu d&#039;applications Web peuvent int\u00e9grer des algorithmes plus sophistiqu\u00e9s pour d\u00e9tecter et bloquer efficacement les tentatives de piratage JSON.<\/p>\n<\/li>\n<li>\n<p><strong>Adoption accrue des jetons Web JSON (JWT)\u00a0:<\/strong> Les JWT offrent un moyen s\u00e9curis\u00e9 de transmettre des informations entre les parties en tant qu&#039;objets JSON, ce qui les rend moins sensibles au d\u00e9tournement JSON.<\/p>\n<\/li>\n<\/ol>\n<h2>Comment les serveurs proxy peuvent \u00eatre utilis\u00e9s ou associ\u00e9s au piratage JSON.<\/h2>\n<p>Les serveurs proxy peuvent jouer un r\u00f4le dans l&#039;att\u00e9nuation des risques de piratage JSON en agissant comme interm\u00e9diaires entre les clients et les serveurs Web. Voici comment les serveurs proxy peuvent \u00eatre associ\u00e9s au piratage JSON\u00a0:<\/p>\n<ol>\n<li>\n<p><strong>Filtrage des demandes\u00a0:<\/strong> Les serveurs proxy peuvent \u00eatre configur\u00e9s pour filtrer les requ\u00eates JSON entrantes, bloquant celles qui pr\u00e9sentent des signes de tentatives potentielles de piratage JSON.<\/p>\n<\/li>\n<li>\n<p><strong>Emballage de r\u00e9ponse\u00a0:<\/strong> Les serveurs proxy peuvent envelopper les r\u00e9ponses JSON avec des en-t\u00eates de r\u00e9ponse s\u00e9curis\u00e9s (par exemple, \u00ab while(1); \u00bb) avant de les transmettre aux clients, offrant ainsi une couche de s\u00e9curit\u00e9 suppl\u00e9mentaire.<\/p>\n<\/li>\n<li>\n<p><strong>Gestion du CORS\u00a0:<\/strong> Les serveurs proxy peuvent appliquer des politiques CORS strictes, emp\u00eachant tout acc\u00e8s non autoris\u00e9 aux donn\u00e9es JSON et minimisant le risque de piratage JSON.<\/p>\n<\/li>\n<\/ol>\n<h2>Liens connexes<\/h2>\n<p>Pour plus d&#039;informations sur le piratage JSON et la s\u00e9curit\u00e9 des applications Web, vous pouvez consulter les ressources suivantes\u00a0:<\/p>\n<ol>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/JSON_Hijacking\" target=\"_new\" rel=\"noopener nofollow\">D\u00e9tournement OWASP JSON<\/a><\/li>\n<li><a href=\"https:\/\/www.jeremiahgrossman.com\/2006\/01\/advanced-web-attack-techniques-using.html\" target=\"_new\" rel=\"noopener nofollow\">Le blog de J\u00e9r\u00e9mie Grossman<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Security\/Same-origin_policy\" target=\"_new\" rel=\"noopener nofollow\">Mozilla Developer Network (MDN) \u2013 Politique de m\u00eame origine<\/a><\/li>\n<\/ol>\n<p>N&#039;oubliez pas qu&#039;il est essentiel pour les d\u00e9veloppeurs et administrateurs d&#039;applications Web de comprendre et de g\u00e9rer les risques de piratage JSON afin de garantir la s\u00e9curit\u00e9 et la confidentialit\u00e9 des donn\u00e9es de leurs utilisateurs. La mise en \u0153uvre des meilleures pratiques et la mise \u00e0 jour des derni\u00e8res mesures de s\u00e9curit\u00e9 aideront \u00e0 se prot\u00e9ger contre de telles vuln\u00e9rabilit\u00e9s.<\/p>","protected":false},"featured_media":477748,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477747","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>JSON Hijacking: An Encyclopedia Article<\/mark>","faq_items":[{"question":"What is JSON hijacking?","answer":"<p>JSON hijacking, also known as \"JavaScript Object Notation hijacking,\" is a security vulnerability that affects web applications using JSON as a data interchange format. It allows attackers to steal sensitive data from the victim's browser when the application lacks proper security measures.<\/p>"},{"question":"Who discovered JSON hijacking, and when was it first mentioned?","answer":"<p>JSON hijacking was first discovered and documented by Jeremiah Grossman in 2006. He brought attention to this vulnerability, highlighting the risks associated with using JSON without appropriate security measures.<\/p>"},{"question":"How does JSON hijacking work?","answer":"<p>JSON hijacking exploits the same-origin policy exemption for JSON requests. The attacker tricks the victim's browser into making an additional cross-origin request, which is intercepted by the attacker's server, granting them direct access to the JSON data.<\/p>"},{"question":"What are the key features of JSON hijacking?","answer":"<p>Key features include exploiting the same-origin policy, absence of secure JSON response wrappers, and targeting web applications using JSON endpoints for data exchange.<\/p>"},{"question":"What are the types of JSON hijacking?","answer":"<p>JSON hijacking can be classified into two types:<\/p><ol><li>Direct JSON hijacking: The attacker tricks the victim's browser to send JSON directly to the attacker's server.<\/li><li>JSONP hijacking: The attacker manipulates the JSONP callback function to extract JSON data.<\/li><\/ol>"},{"question":"How can JSON hijacking be mitigated?","answer":"<p>To prevent JSON hijacking, developers can implement secure JSON response wrappers, utilize CORS policies, employ token-based authentication, and configure Content Security Policy (CSP) headers.<\/p>"},{"question":"How does JSON hijacking differ from Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF)?","answer":"<p>JSON hijacking targets the direct access to JSON data exploiting same-origin policy. XSS injects malicious scripts into web apps, while CSRF tricks users into performing unwanted actions on trusted sites.<\/p>"},{"question":"What are the future perspectives and technologies related to JSON hijacking?","answer":"<p>Future developments may include standardized secure JSON response wrappers, improved same-origin policy for JSON, and increased adoption of JSON Web Tokens (JWT) for secure data transmission.<\/p>"},{"question":"How can proxy servers help protect against JSON hijacking?","answer":"<p>Proxy servers can act as intermediaries between clients and web servers, filtering requests, wrapping responses securely, and managing CORS to minimize the risk of JSON hijacking.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki\/477747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki\/477747\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media\/477748"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media?parent=477747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}