{"id":477749,"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":"jsonp-injection","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/fr\/wiki\/jsonp-injection\/","title":{"rendered":"Injection JSONP"},"content":{"rendered":"<p>L&#039;injection JSONP (JSON with Padding) est une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 Web qui se produit lorsqu&#039;un attaquant manipule le point de terminaison JSONP d&#039;un site Web pour ex\u00e9cuter du code arbitraire ou voler des donn\u00e9es sensibles aux utilisateurs. L&#039;injection JSONP exploite la nature permissive des requ\u00eates JSONP pour contourner la politique de m\u00eame origine, qui emp\u00eache les pages Web d&#039;effectuer des requ\u00eates vers des domaines autres que le leur.<\/p>\n<h2>L&#039;histoire de l&#039;origine de l&#039;injection JSONP et la premi\u00e8re mention de celle-ci<\/h2>\n<p>Le concept de JSONP remonte aux d\u00e9buts du d\u00e9veloppement Web, lorsque la politique de m\u00eame origine posait des d\u00e9fis pour la communication d&#039;origines crois\u00e9es entre les sites Web. JSONP a \u00e9t\u00e9 initialement introduit comme solution de contournement pour permettre des requ\u00eates inter-domaines en toute s\u00e9curit\u00e9. La premi\u00e8re mention de l\u2019injection JSONP dans un contexte de s\u00e9curit\u00e9 remonte au milieu des ann\u00e9es 2000, lorsque les chercheurs en s\u00e9curit\u00e9 ont commenc\u00e9 \u00e0 identifier ses risques et implications potentiels.<\/p>\n<h2>Informations d\u00e9taill\u00e9es sur l&#039;injection JSONP\u00a0: Extension du sujet Injection JSONP<\/h2>\n<p>L&#039;injection JSONP est une technique couramment utilis\u00e9e par les attaquants pour exploiter des sites Web incluant des points de terminaison JSONP sans mesures de s\u00e9curit\u00e9 appropri\u00e9es. Il exploite le fait que les requ\u00eates JSONP sont ex\u00e9cut\u00e9es en cr\u00e9ant dynamiquement des balises de script, permettant de charger du code JavaScript externe \u00e0 partir d&#039;un autre domaine. Cela permet \u00e0 un attaquant d&#039;injecter du code JavaScript malveillant dans le navigateur de la victime et d&#039;effectuer des actions en son nom.<\/p>\n<p>Le flux de travail typique d&#039;une attaque par injection JSONP implique les \u00e9tapes suivantes\u00a0:<\/p>\n<ol>\n<li>\n<p>L&#039;attaquant identifie un point de terminaison JSONP vuln\u00e9rable sur le site Web cible, g\u00e9n\u00e9ralement un point de terminaison qui inclut des donn\u00e9es sp\u00e9cifiques \u00e0 l&#039;utilisateur ou des jetons d&#039;authentification.<\/p>\n<\/li>\n<li>\n<p>L&#039;attaquant cr\u00e9e une URL sp\u00e9cialement con\u00e7ue contenant la charge utile malveillante, telle qu&#039;une fonction de rappel qui ex\u00e9cute du code arbitraire.<\/p>\n<\/li>\n<li>\n<p>La victime visite une page contr\u00f4l\u00e9e par l&#039;attaquant, qui inclut une balise de script avec l&#039;URL contrefaite comme source.<\/p>\n<\/li>\n<li>\n<p>Le navigateur de la victime charge le script depuis le domaine de l&#039;attaquant, ex\u00e9cutant le code malveillant dans le contexte du site Web cible.<\/p>\n<\/li>\n<li>\n<p>L&#039;attaquant obtient un acc\u00e8s non autoris\u00e9 \u00e0 des donn\u00e9es sensibles, effectue des actions au nom de la victime ou exploite davantage les vuln\u00e9rabilit\u00e9s du site Web.<\/p>\n<\/li>\n<\/ol>\n<h2>La structure interne de l&#039;injection JSONP\u00a0: Comment fonctionne l&#039;injection JSONP<\/h2>\n<p>Pour comprendre le fonctionnement de l&#039;injection JSONP, il est crucial de comprendre la structure d&#039;une requ\u00eate et d&#039;une r\u00e9ponse JSONP\u00a0:<\/p>\n<ul>\n<li>Requ\u00eate JSONP\u00a0: le code c\u00f4t\u00e9 client lance une requ\u00eate JSONP en cr\u00e9ant une balise de script avec l&#039;URL du point de terminaison JSONP. Cette URL inclut g\u00e9n\u00e9ralement un param\u00e8tre de rappel, qui est une fonction JavaScript d\u00e9finie par le client pour g\u00e9rer la r\u00e9ponse.<\/li>\n<\/ul>\n<pre><div class=\"bg-black rounded-md mb-4\"><div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans justify-between rounded-t-md\"><span>HTML<\/span><button class=\"flex ml-auto gap-2\"><svg stroke=\"currentColor\" fill=\"none\" stroke-width=\"2\" viewbox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"h-4 w-4\" height=\"1em\" width=\"1em\" ><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>Copier le code<\/button><\/div><div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-html\" data-no-translation=\"\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\"https:\/\/example.com\/data?callback=myCallbackFunction\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n<\/code><\/div><\/div><\/pre>\n<ul>\n<li>R\u00e9ponse JSONP\u00a0: le serveur r\u00e9pond avec un code JavaScript encapsul\u00e9 dans la fonction de rappel sp\u00e9cifi\u00e9e.<\/li>\n<\/ul>\n<pre><div class=\"bg-black rounded-md mb-4\"><div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans justify-between rounded-t-md\"><span>javascript<\/span><button class=\"flex ml-auto gap-2\"><svg stroke=\"currentColor\" fill=\"none\" stroke-width=\"2\" viewbox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"h-4 w-4\" height=\"1em\" width=\"1em\" ><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>Copier le code<\/button><\/div><div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-javascript\" data-no-translation=\"\"><span class=\"hljs-title function_\">myCallbackFunction<\/span>({ <span class=\"hljs-string\">\"name\"<\/span>: <span class=\"hljs-string\">\"John\"<\/span>, <span class=\"hljs-string\">\"age\"<\/span>: <span class=\"hljs-number\">30<\/span> });\n<\/code><\/div><\/div><\/pre>\n<p>La r\u00e9ponse du serveur est ex\u00e9cut\u00e9e imm\u00e9diatement dans le cadre du code c\u00f4t\u00e9 client, permettant au site Web d&#039;acc\u00e9der aux donn\u00e9es re\u00e7ues. Cependant, cela ouvre \u00e9galement une faille de s\u00e9curit\u00e9 puisque n&#039;importe quel code peut \u00eatre inject\u00e9 en r\u00e9ponse, conduisant \u00e0 une injection JSONP.<\/p>\n<h2>Analyse des principales fonctionnalit\u00e9s de l&#039;injection JSONP<\/h2>\n<p>L&#039;injection JSONP se distingue par les fonctionnalit\u00e9s cl\u00e9s suivantes\u00a0:<\/p>\n<ol>\n<li>\n<p>Requ\u00eates inter-domaines\u00a0: JSONP autorise les requ\u00eates inter-domaines sans violer la politique de m\u00eame origine, ce qui le rend utile pour les cas d&#039;utilisation l\u00e9gitimes mais \u00e9galement exploitable s&#039;il n&#039;est pas correctement s\u00e9curis\u00e9.<\/p>\n<\/li>\n<li>\n<p>Ex\u00e9cution c\u00f4t\u00e9 client\u00a0: la r\u00e9ponse JSONP est ex\u00e9cut\u00e9e directement c\u00f4t\u00e9 client, conduisant \u00e0 l&#039;ex\u00e9cution de tout code inject\u00e9, ce qui peut constituer un risque de s\u00e9curit\u00e9 important.<\/p>\n<\/li>\n<li>\n<p>Manque de s\u00e9curit\u00e9\u00a0: JSONP a \u00e9t\u00e9 con\u00e7u pour la facilit\u00e9 d&#039;utilisation plut\u00f4t que pour la s\u00e9curit\u00e9, ce qui entra\u00eene des vuln\u00e9rabilit\u00e9s potentielles s&#039;il n&#039;est pas correctement prot\u00e9g\u00e9.<\/p>\n<\/li>\n<\/ol>\n<h2>Types d&#039;injection JSONP<\/h2>\n<p>Il existe deux principaux types d\u2019injection JSONP\u00a0:<\/p>\n<ol>\n<li>\n<p><strong>Injection JSONP d\u2019acc\u00e8s aux donn\u00e9es\u00a0:<\/strong> Dans ce type, un attaquant exploite un point de terminaison JSONP pour acc\u00e9der aux donn\u00e9es sensibles du site Web cible. Par exemple, si le site Web inclut un point de terminaison pour r\u00e9cup\u00e9rer les d\u00e9tails de l&#039;utilisateur, l&#039;attaquant pourrait manipuler la fonction de rappel pour r\u00e9cup\u00e9rer ces informations.<\/p>\n<\/li>\n<li>\n<p><strong>Injection de code JavaScript\u00a0:<\/strong> Ici, l&#039;attaquant injecte du code JavaScript malveillant dans la r\u00e9ponse JSONP. Ce code est ensuite ex\u00e9cut\u00e9 dans le contexte du site Web cible, permettant potentiellement \u00e0 l&#039;attaquant d&#039;effectuer des actions non autoris\u00e9es au nom de la victime.<\/p>\n<\/li>\n<\/ol>\n<p>Vous trouverez ci-dessous un tableau comparatif mettant en \u00e9vidence les principales diff\u00e9rences entre ces deux types :<\/p>\n<table>\n<thead>\n<tr>\n<th>Taper<\/th>\n<th>Objectif<\/th>\n<th>R\u00e9sultat<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Acc\u00e8s aux donn\u00e9es Injection JSONP<\/td>\n<td>Acc\u00e9der aux donn\u00e9es sensibles<\/td>\n<td>R\u00e9cup\u00e9ration d&#039;informations sp\u00e9cifiques \u00e0 l&#039;utilisateur<\/td>\n<\/tr>\n<tr>\n<td>Injection de code JavaScript<\/td>\n<td>Ex\u00e9cuter du code JavaScript malveillant<\/td>\n<td>Actions non autoris\u00e9es sur le site Web cible<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Fa\u00e7ons d&#039;utiliser l&#039;injection JSONP, probl\u00e8mes et leurs solutions li\u00e9es \u00e0 l&#039;utilisation<\/h2>\n<h3>Fa\u00e7ons d\u2019utiliser l\u2019injection JSONP\u00a0:<\/h3>\n<ol>\n<li>\n<p><strong>Fuite de donn\u00e9es\u00a0:<\/strong> Les attaquants peuvent exploiter l&#039;injection JSONP pour acc\u00e9der \u00e0 des donn\u00e9es sensibles, telles que des profils d&#039;utilisateurs, des adresses e-mail ou des jetons d&#039;authentification.<\/p>\n<\/li>\n<li>\n<p><strong>Reprise de compte\u00a0:<\/strong> En injectant du code JavaScript, les attaquants peuvent effectuer des actions au nom des utilisateurs, conduisant potentiellement \u00e0 une compromission du compte.<\/p>\n<\/li>\n<\/ol>\n<h3>Probl\u00e8mes et leurs solutions :<\/h3>\n<ol>\n<li>\n<p><strong>Validation incorrecte\u00a0:<\/strong> Une validation d&#039;entr\u00e9e insuffisante du param\u00e8tre de rappel peut conduire \u00e0 une injection JSONP. Les d\u00e9veloppeurs doivent valider et nettoyer les entr\u00e9es des utilisateurs pour emp\u00eacher toute manipulation de rappel.<\/p>\n<\/li>\n<li>\n<p><strong>Manque de points de terminaison s\u00e9curis\u00e9s\u00a0:<\/strong> Les points de terminaison JSONP doivent \u00eatre correctement s\u00e9curis\u00e9s et limit\u00e9s aux domaines de confiance uniquement. La mise en \u0153uvre de politiques CORS (Cross-Origin Resource Sharing) strictes peut att\u00e9nuer les risques d\u2019injection JSONP.<\/p>\n<\/li>\n<li>\n<p><strong>Utilisation JSONP obsol\u00e8te\u00a0:<\/strong> JSONP pr\u00e9sente des limites et des risques de s\u00e9curit\u00e9. Les d\u00e9veloppeurs sont encourag\u00e9s \u00e0 utiliser des alternatives plus modernes et s\u00e9curis\u00e9es telles que CORS et JSON Web Tokens (JWT) pour la communication entre domaines.<\/p>\n<\/li>\n<\/ol>\n<h2>Principales caract\u00e9ristiques et autres comparaisons avec des termes similaires<\/h2>\n<p>Voici un tableau comparatif entre l&#039;injection JSONP et des termes ou vuln\u00e9rabilit\u00e9s similaires\u00a0:<\/p>\n<table>\n<thead>\n<tr>\n<th>Terme<\/th>\n<th>Description<\/th>\n<th>Distinction<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Injection JSONP<\/td>\n<td>Exploite les points de terminaison JSONP pour l&#039;injection de code<\/td>\n<td>Sp\u00e9cifique aux requ\u00eates et r\u00e9ponses JSONP<\/td>\n<\/tr>\n<tr>\n<td>Scripts intersites (XSS)<\/td>\n<td>Injecte des scripts malveillants dans les pages Web<\/td>\n<td>Cible toute entr\u00e9e vuln\u00e9rable sur les pages Web<\/td>\n<\/tr>\n<tr>\n<td>Contrefa\u00e7on de demande intersite (CSRF)<\/td>\n<td>Forge des requ\u00eates non autoris\u00e9es au nom d&#039;un utilisateur<\/td>\n<td>Exploite la confiance des utilisateurs dans un site Web de confiance<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectives et technologies du futur li\u00e9es \u00e0 l&#039;injection JSONP<\/h2>\n<p>\u00c0 mesure que la s\u00e9curit\u00e9 Web continue d&#039;\u00e9voluer, l&#039;utilisation de JSONP diminue progressivement en raison des risques de s\u00e9curit\u00e9 inh\u00e9rents. Les d\u00e9veloppeurs s&#039;orientent vers des techniques de communication plus s\u00e9curis\u00e9es telles que CORS, l&#039;API Fetch avec des en-t\u00eates de s\u00e9curit\u00e9 appropri\u00e9s et l&#039;utilisation de jetons Web JSON (JWT) pour l&#039;authentification multi-origine.<\/p>\n<p>De plus, les progr\u00e8s r\u00e9alis\u00e9s en mati\u00e8re de s\u00e9curit\u00e9 des navigateurs Web et des cadres de s\u00e9curit\u00e9 rendent plus difficile pour les attaquants l&#039;exploitation des vuln\u00e9rabilit\u00e9s d&#039;injection JSONP. \u00c0 mesure que les mesures de s\u00e9curit\u00e9 s&#039;am\u00e9liorent, les attaquants peuvent se tourner vers des protocoles de communication plus r\u00e9cents et moins s\u00e9curis\u00e9s.<\/p>\n<h2>Comment les serveurs proxy peuvent \u00eatre utilis\u00e9s ou associ\u00e9s \u00e0 l&#039;injection JSONP<\/h2>\n<p>Les serveurs proxy jouent un r\u00f4le crucial dans l\u2019am\u00e9lioration de la s\u00e9curit\u00e9 et de la confidentialit\u00e9 lors de la navigation sur Internet. En ce qui concerne l&#039;injection JSONP, un serveur proxy bien configur\u00e9 peut servir de couche de d\u00e9fense suppl\u00e9mentaire contre de telles attaques. Voici comment les serveurs proxy peuvent \u00eatre associ\u00e9s \u00e0 l&#039;injection JSONP\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 JSONP entrantes et bloquer les requ\u00eates malveillantes. Cela peut aider \u00e0 emp\u00eacher les tentatives d\u2019injection JSONP d\u2019atteindre le site Web cible.<\/p>\n<\/li>\n<li>\n<p><strong>Inspection de r\u00e9ponse\u00a0:<\/strong> Les serveurs proxy peuvent analyser les r\u00e9ponses JSONP \u00e0 la recherche de tout signe d&#039;injection de code ou de charges utiles malveillantes. S&#039;il est d\u00e9tect\u00e9, le serveur proxy peut bloquer la r\u00e9ponse et prot\u00e9ger l&#039;utilisateur contre tout pr\u00e9judice potentiel.<\/p>\n<\/li>\n<li>\n<p><strong>Politiques d\u2019origine crois\u00e9e\u00a0:<\/strong> Les serveurs proxy peuvent appliquer des politiques strictes d&#039;origine crois\u00e9e, limitant les domaines pouvant envoyer des requ\u00eates JSONP au site Web cible. Cela minimise le risque d\u2019attaques par injection JSONP.<\/p>\n<\/li>\n<\/ol>\n<h2>Liens connexes<\/h2>\n<p>Pour plus d\u2019informations sur l\u2019injection JSONP et la s\u00e9curit\u00e9 Web, pensez \u00e0 visiter les ressources suivantes\u00a0:<\/p>\n<ol>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/JSONP_Injection\" target=\"_new\" rel=\"noopener nofollow\">OWASPJSONPInjection<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Methods\/JSONP\" target=\"_new\" rel=\"noopener nofollow\">R\u00e9seau de d\u00e9veloppeurs Mozilla (MDN) \u2013 JSONP<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/CORS\" target=\"_new\" rel=\"noopener nofollow\">Partage de ressources entre origines crois\u00e9es (CORS)<\/a><\/li>\n<li><a href=\"https:\/\/jwt.io\/\" target=\"_new\" rel=\"noopener nofollow\">Jetons Web JSON (JWT)<\/a><\/li>\n<li><a href=\"https:\/\/www.cloudflare.com\/learning\/cdn\/glossary\/proxy-server\/\" target=\"_new\" rel=\"noopener nofollow\">Serveurs proxy expliqu\u00e9s<\/a><\/li>\n<\/ol>\n<p>En restant inform\u00e9s des risques et des contre-mesures li\u00e9s \u00e0 l&#039;injection JSONP, les d\u00e9veloppeurs et les administrateurs de sites Web peuvent assurer la s\u00e9curit\u00e9 de leurs applications Web et prot\u00e9ger leurs utilisateurs contre les menaces potentielles.<\/p>","protected":false},"featured_media":477750,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477749","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>JSONP Injection: A Comprehensive Guide<\/mark>","faq_items":[{"question":"What is JSONP injection?","answer":"<p>JSONP injection is a web security vulnerability that allows attackers to manipulate a website's JSONP endpoint to execute arbitrary code or steal sensitive data from users. It takes advantage of permissive JSONP requests, bypassing the same-origin policy that restricts cross-origin communication.<\/p>"},{"question":"How did JSONP injection originate?","answer":"<p>JSONP was introduced as a workaround for cross-origin communication challenges in early web development. The first mention of JSONP injection in a security context dates back to the mid-2000s when security researchers identified its potential risks.<\/p>"},{"question":"How does JSONP injection work?","answer":"<p>JSONP injection exploits JSONP's nature by dynamically creating script tags to load external JavaScript code from another domain. Attackers craft malicious URLs with callback functions that execute code on the victim's browser, gaining unauthorized access to data or performing actions on their behalf.<\/p>"},{"question":"What are the key features of JSONP injection?","answer":"<p>JSONP injection is characterized by its ability to enable cross-domain requests, client-side execution, and its lack of inherent security measures. This makes it both useful and vulnerable for website owners.<\/p>"},{"question":"What types of JSONP injection exist?","answer":"<p>There are two main types of JSONP injection: Data Access JSONP Injection, where attackers access sensitive data, and JavaScript Code Injection, where they inject malicious code to perform unauthorized actions.<\/p>"},{"question":"How can JSONP injection be used, and what are the related problems and solutions?","answer":"<p>JSONP injection can be used for data leakage and account takeover. To address this vulnerability, developers should implement proper validation, secure JSONP endpoints, and consider more modern alternatives like CORS and JSON Web Tokens.<\/p>"},{"question":"How does JSONP injection compare to similar terms?","answer":"<p>JSONP injection is distinct from Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF) in terms of its specific focus on JSONP requests and responses.<\/p>"},{"question":"What are the future perspectives and technologies related to JSONP injection?","answer":"<p>As web security evolves, developers are moving away from JSONP in favor of more secure communication techniques like CORS and JWT. Improved browser security and frameworks are also making it harder for attackers to exploit JSONP vulnerabilities.<\/p>"},{"question":"How are proxy servers associated with JSONP injection?","answer":"<p>Proxy servers can enhance security by filtering incoming JSONP requests, inspecting responses for malicious content, and enforcing strict cross-origin policies to prevent JSONP injection attacks.<\/p>"},{"question":"Where can I find more information about JSONP injection and web security?","answer":"<p>For more in-depth information about JSONP injection and web security, consider visiting the following resources:<\/p><ul><li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/JSONP_Injection\" target=\"_new\">OWASP JSONP Injection<\/a><\/li><li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Methods\/JSONP\" target=\"_new\">Mozilla Developer Network (MDN) - JSONP<\/a><\/li><li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/CORS\" target=\"_new\">Cross-Origin Resource Sharing (CORS)<\/a><\/li><li><a href=\"https:\/\/jwt.io\/\" target=\"_new\">JSON Web Tokens (JWT)<\/a><\/li><li><a href=\"https:\/\/www.cloudflare.com\/learning\/cdn\/glossary\/proxy-server\/\" target=\"_new\">Proxy Servers Explained<\/a><\/li><\/ul><p>Stay informed and protect yourself from potential threats with our comprehensive guide on JSONP injection at OneProxy!<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki\/477749","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\/477749\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media\/477750"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media?parent=477749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}