{"id":7062,"date":"2021-01-14T16:52:21","date_gmt":"2021-01-14T11:22:21","guid":{"rendered":"https:\/\/www.varutra.com\/?p=7062"},"modified":"2022-12-02T14:39:56","modified_gmt":"2022-12-02T09:09:56","slug":"misconfigured-cross-origin-resource-sharing-cors-risk","status":"publish","type":"post","link":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/","title":{"rendered":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/varutra-1a3b6.kxcdn.com\/wp-content\/uploads\/2021\/01\/CORS-1024x573.png\"  class=\"sh-overlay-item sh-table-cell ls-is-cached lazyloaded\" data-rel=\"lightcase\" title=\"CORS - Varutra Consulting\"><br \/>\nThe Cross-Origin Resource Sharing (CORS) is a mechanism to relax the Same Origin Policy (SOP) and to enable communication between websites, served on different domains, via browsers.<\/p>\n<p>Inside this blog, the reader will find:<\/p>\n<ul>\n<li>A brief introduction to the Same Origin Policy (SOP) and Cross-Origin Resource Sharing (CORS)<\/li>\n<li>Main techniques to attack an application with CORS enabled<\/li>\n<li>General guidelines to implement CORS securely<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7063 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Cross-Origin-Resource-Sharing-CORS.png\" alt=\"Cross-Origin Resource Sharing (CORS)\" width=\"628\" height=\"171\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Cross-Origin-Resource-Sharing-CORS.png 628w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Cross-Origin-Resource-Sharing-CORS-300x82.png 300w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong><u>Same Origin Policy (SOP)<\/u><\/strong><\/h3>\n<p>The same-origin policy is a web browser security method that aims to prevent websites from attacking each other. The same-origin policy limits scripts on one origin from accessing data from another origin.<\/p>\n<p>The term &#8220;origin&#8221; is defined using: Domain name, Application protocol, and TCP port.<\/p>\n<p>Two resources are considered to have the same origin if and only if all the preceding three values are the same.<\/p>\n<p>To better explain the concept, the following table shows the results of the control of the Same Origin Policy with respect to the URL <em>http:\/\/www.example.com\/dir\/page.html<\/em><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7078 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/SOP-Scenario.png\" alt=\"SOP Scenario\" width=\"660\" height=\"153\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/SOP-Scenario.png 660w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/SOP-Scenario-300x70.png 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-1.1 SOP Scenario<\/pre>\n<p>&nbsp;<\/p>\n<h3><strong><u>Cross-Origin Resource Sharing (CORS)<\/u><\/strong><\/h3>\n<p>There are several techniques available for relaxing the SOP in a controlled manner. One of these techniques is Cross-Origin Resource Sharing. Through the configuration of additional HTTP headers, it tells the browser that a request generated by a web application running at origin \u201cA\u201d, has the permission to access the selected resource served on origin \u201cB\u201d.<\/p>\n<p>The main header involved is the \u201cAccess-Control-Allow-Origin\u201d. This header allows the listed origin to make visitor\u2019s web browsers send cross-domain requests to the server and read the response. Something the Same Origin Policy would normally prevent. For example, <em>Access-Control-Allow-Origin: https:\/\/example.info<\/em><\/p>\n<p>By default, without the \u201cAccess-Control-Allow-Credentials\u201d header, a request will be issued without credentials (like cookies or HTTP Authentication data), meaning that it cannot be used to steal private user specific information. And if it is set to \u201ctrue\u201d by the server then it allows the browser to send authenticated requests to the target handler.<\/p>\n<p>The following image shows a simple CORS request flow:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-7064 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Simple-CORS-flow.png\" alt=\"Simple CORS flow\" width=\"703\" height=\"535\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Simple-CORS-flow.png 690w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Simple-CORS-flow-300x228.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-1.2 Simple CORS flow<\/pre>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong><u>Exploiting with Credentials:<\/u><\/strong><\/li>\n<\/ol>\n<p>From an attacker\u2019s point of view, the best scenario is when the target CORS configuration sets the \u201cAccess-Control-Allow-Credentials\u201d header to \u201ctrue\u201d. In this case, the attacker can exploit the misconfiguration identified to steal the victim\u2019s private and sensitive data. And the basic technique is to create a JavaScript that sends a CORS request.<\/p>\n<p>For example:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7065 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/JavaScript-for-exploiting-with-credentials.png\" alt=\"JavaScript for exploiting with credentials\" width=\"527\" height=\"182\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/JavaScript-for-exploiting-with-credentials.png 527w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/JavaScript-for-exploiting-with-credentials-300x104.png 300w\" sizes=\"(max-width: 527px) 100vw, 527px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-2.1 JavaScript for exploiting with credentials<\/pre>\n<p>With this code, the attacker can steal the data through the \u201clog\u201d handler that receives the response from the vulnerable domain. When the victim authenticated on the target application (\u201cvulnerable.domain\u201d) visits the page containing the earlier code, the browser sends the following request to the \u201cvulnerable.domain\u201d:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7066 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Tampered-domain-or-attacker-domain.png\" alt=\"Tampered domain or attacker domain\" width=\"385\" height=\"101\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Tampered-domain-or-attacker-domain.png 385w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Tampered-domain-or-attacker-domain-300x79.png 300w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-2.2 Tampered domain\/attacker domain<\/pre>\n<p>And the application responds with the following:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7067 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Server-response.png\" alt=\"Server response\" width=\"740\" height=\"275\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Server-response.png 740w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Server-response-300x111.png 300w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-2.3 Server response<\/pre>\n<p>Due to the two \u201cAccess-Control-Allow-*\u201d headers sent by the server; the victim\u2019s browser allows the JavaScript code included into the malicious page to access the private data.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7068 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result.png\" alt=\"Misconfigured CORS result\" width=\"744\" height=\"219\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result.png 744w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result-300x88.png 300w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-2.4 Misconfigured CORS result<\/pre>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong><u>Using special characters<\/u><\/strong><\/li>\n<\/ol>\n<p>There is a possibility to bypass some controls implemented incorrectly using special characters inside the domain name.<\/p>\n<p>This evasion technique exploits the fact that browsers do not always validate domain names before making requests. Therefore, if some special characters are used, the browser may submit requests without previously verifying if the domain name is valid.<\/p>\n<p>Suppose the target application implements the following regular expression to validate the \u201cOrigin\u201d header:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7069 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Simple-regular-expression-example.png\" alt=\"Simple regular expression example\" width=\"436\" height=\"57\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Simple-regular-expression-example.png 436w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Simple-regular-expression-example-300x39.png 300w\" sizes=\"(max-width: 436px) 100vw, 436px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-3.1 Simple regular expression example<\/pre>\n<p>The meaning of the above regular expression is likely to allow cross-domain access from all subdomains of \u201ctarget.local\u201d and from any ports on those subdomains.<\/p>\n<p>\u201c[^\\.\\-a-zA-Z0-9]\u201d means any character except the &#8220;.&#8221; &#8220;-&#8221; &#8220;a-z&#8221; &#8220;A-Z&#8221; &#8220;0-9&#8221;<\/p>\n<p>\u201c+\u201d means a quantifier, matches preceding chars one or more times.<\/p>\n<p>\u201c.*\u201d means any character except for line terminators.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7070 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Captured-request.png\" alt=\"Captured request\" width=\"753\" height=\"282\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Captured-request.png 753w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Captured-request-300x112.png 300w\" sizes=\"(max-width: 753px) 100vw, 753px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-3.2 Captured request<strong>\u00a0<\/strong><\/pre>\n<p>In this screenshot, no \u201cAccess-Control-Allow-Origin\u201d &amp; \u201cAccess-Control-Allow-Credentials\u201d are set.<\/p>\n<p>Since the regex matches against alphanumeric ASCII characters and \u201c.\u201d \u201c-\u201c, every other special character after \u201ctarget.local\u201d would be trusted.<\/p>\n<p>Tamper the origin https:\/\/www.taget.local.example.com with https:\/\/www.taget.local{.example.com<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7071 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Origin-tampered.png\" alt=\"Origin tampered\" width=\"754\" height=\"248\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Origin-tampered.png 754w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Origin-tampered-300x99.png 300w\" sizes=\"(max-width: 754px) 100vw, 754px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-3.3 Origin tampered<\/pre>\n<p>The prerequisites to exploit this are: A domain with a wildcard DNS record pointing it to your server and NodeJS<\/p>\n<p>Create a serve.js file:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7072 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Serve.js-contents.png\" alt=\"Serve.js contents\" width=\"580\" height=\"332\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Serve.js-contents.png 580w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Serve.js-contents-300x172.png 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-3.3 Serve.js contents<\/pre>\n<p>Then in the same directory create the cors.html:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7073 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Cors.html-file.png\" alt=\"Cors.html file\" width=\"624\" height=\"419\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Cors.html-file.png 624w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Cors.html-file-300x201.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-3.4 Cors.html file<\/pre>\n<p>Now start the NodeJS server by running the command: node serve.js &amp;<\/p>\n<p>Due to the regular expression ^https?:\\\/\\\/(.*\\.)?target.local([^\\.\\-a-zA-Z0-9]+.*)? which is implemented on the target application, every special character, except \u201c.\u201d and \u201c-\u201c, after \u201cwww.target.local\u201d would be trusted, so the request generates a valid request and the attacker is able to steal data from the vulnerable target.<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong><u>Client-side cache poisoning:<\/u><\/strong><\/li>\n<\/ol>\n<p>For example, consider an application that reflects inside the response the content of the \u201cX-User\u201d custom header, without doing any input validation on it nor doing output encoding.<\/p>\n<p>Request:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7074 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Captured-request-2.png\" alt=\"Captured request \" width=\"423\" height=\"103\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Captured-request-2.png 423w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Captured-request-2-300x73.png 300w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Captured-request-2-420x103.png 420w\" sizes=\"(max-width: 423px) 100vw, 423px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-4.1 Captured request<\/pre>\n<p>In response, note that the \u201cAccess-Control-Allow-Origin\u201d is set but the \u201cAccess-Control-Allow-Credentials: true\u201d and \u201cVary: Origin\u201d headers are not set as shown below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7075 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Server-response-2.png\" alt=\"Server response\" width=\"429\" height=\"148\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Server-response-2.png 429w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Server-response-2-300x103.png 300w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-4.2 Server response<\/pre>\n<p>An attacker can exploit this XSS by uploading the following JavaScript code on a controlled server and then making a victim to navigate on it:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7076 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/JavaScript-code-2.png\" alt=\"JavaScript code\" width=\"482\" height=\"178\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/JavaScript-code-2.png 482w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/JavaScript-code-2-300x111.png 300w\" sizes=\"(max-width: 482px) 100vw, 482px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-4.3 JavaScript code<\/pre>\n<p>If the \u201cVary: Origin\u201d header is not set inside the response, then the victim\u2019s browser may store the response in the cache and then displays it directly when the browser navigates to the associated URL which is shown below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7077 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result-2.png\" alt=\"Misconfigured CORS result\" width=\"707\" height=\"148\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result-2.png 707w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/Misconfigured-CORS-result-2-300x63.png 300w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/p>\n<pre style=\"text-align: center\">Fig-4.4 Misconfigured CORS result<\/pre>\n<p>&nbsp;<\/p>\n<p><strong><u>Cross-Origin Resource Sharing (CORS) mitigation techniques:<\/u><\/strong><\/p>\n<ol>\n<li>It is necessary to evaluate if it is necessary to enable CORS. If it is not strictly necessary, it is advisable to avoid it at all to not weaken the SOP.<\/li>\n<li>If possible, prefer a whitelist compared to regex implementations because regex is more prone to error that could lead to CORS misconfigurations.<\/li>\n<li>Never configure the &#8220;Access-Control-Allow-Origin&#8221; header to the value of wildcard (*).<\/li>\n<li>When a cross-domain request is received, it is necessary to check whether the \u201cOrigin\u201d header received matches exactly one of the allowed sources.<\/li>\n<li>It is necessary to validate the protocol to ensure that no interaction from an insecure channel (HTTP) are allowed otherwise an active man-in-the-middle (MITM) attack could bypass the use of HTTPS on the application.<\/li>\n<li>It is also necessary to return the &#8220;Vary: Origin&#8221; header to avoid potential attacks that exploit the browser cache.<\/li>\n<li>It is also advisable to limit the period for which the browser can cache information provided through the &#8220;Access-Control-Allow-Methods&#8221; and &#8220;Access-Control-Allow-Headers&#8221; headers. This can be done by using the &#8220;Access-Control-Max-Age&#8221; header, which receives as input the number of seconds for which the &#8220;preflight request&#8221; can be kept in a cache. Configuring a relatively low value (for example around 30 minutes) ensures that any updates to policies (e.g., allowed sources) are considered by browsers in a short time.<\/li>\n<li>Avoid using the header Access-Control-Allow-Origin: null. Cross-domain resource calls from internal documents and sandboxed requests can specify the null origin. CORS headers should be properly defined in respect of trusted origins for private and public servers.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><strong><u>References:<\/u><\/strong><\/h3>\n<ul>\n<li><a href=\"https:\/\/portswigger.net\/web-security\/cors\">https:\/\/portswigger.net\/web-security\/cors<\/a><\/li>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/CORS_OriginHeaderScrutiny\">https:\/\/owasp.org\/www-community\/attacks\/CORS_OriginHeaderScrutiny<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/CORS\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/CORS<\/a><\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><\/p>\n<p>Author,<\/p>\n<p><strong>Avadhoot Dongare<\/strong><\/p>\n<p>Attack &amp; PenTest Team<\/p>\n<p>Varutra Consulting Pvt. Ltd.<\/p>","protected":false},"excerpt":{"rendered":"<p>The Cross-Origin Resource Sharing (CORS) is a mechanism to relax the Same Origin Policy (SOP) and to enable communication between websites, served on different domains,&#8230;<\/p>\n","protected":false},"author":4,"featured_media":7079,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[277,273],"tags":[336,337],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.7.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"kalpblogger\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.7.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Varutra Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\" \/>\n\t\t<meta property=\"og:description\" content=\"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1060\" \/>\n\t\t<meta property=\"og:image:height\" content=\"593\" \/>\n\t\t<meta property=\"article:section\" content=\"Data Privacy\" \/>\n\t\t<meta property=\"article:tag\" content=\"cors\" \/>\n\t\t<meta property=\"article:tag\" content=\"sop\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-01-14T11:22:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-12-02T09:09:56+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"kalpblogger\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#article\",\"name\":\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\",\"headline\":\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\",\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/CORS.png\",\"width\":1060,\"height\":593,\"caption\":\"CORS\"},\"datePublished\":\"2021-01-14T16:52:21+05:30\",\"dateModified\":\"2022-12-02T14:39:56+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#webpage\"},\"articleSection\":\"Data Privacy, Security Best Practices, CORS, SOP\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/security-best-practices\\\/#listItem\",\"name\":\"Security Best Practices\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/security-best-practices\\\/#listItem\",\"position\":2,\"name\":\"Security Best Practices\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/security-best-practices\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#listItem\",\"name\":\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#listItem\",\"position\":3,\"name\":\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/security-best-practices\\\/#listItem\",\"name\":\"Security Best Practices\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\",\"name\":\"Varutra\",\"description\":\"Secure your digital world with our Cybersecurity services.\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Varutra-Found-e1612984024606.jpg\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/\",\"name\":\"kalpblogger\",\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e96a9b330da7c941c1e39217a2fbe38?s=96&d=mm&r=g\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#webpage\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/\",\"name\":\"Misconfigured Cross-Origin Resource Sharing (CORS) Risk\",\"description\":\"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/CORS.png\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#mainImage\",\"width\":1060,\"height\":593,\"caption\":\"CORS\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/misconfigured-cross-origin-resource-sharing-cors-risk\\\/#mainImage\"},\"datePublished\":\"2021-01-14T16:52:21+05:30\",\"dateModified\":\"2022-12-02T14:39:56+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"name\":\"Varutra Consulting\",\"description\":\"Secure your digital world with our Cybersecurity services.\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Misconfigured Cross-Origin Resource Sharing (CORS) Risk<\/title>\n\n","aioseo_head_json":{"title":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","description":"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.","canonical_url":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#article","name":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","headline":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/CORS.png","width":1060,"height":593,"caption":"CORS"},"datePublished":"2021-01-14T16:52:21+05:30","dateModified":"2022-12-02T14:39:56+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#webpage"},"isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#webpage"},"articleSection":"Data Privacy, Security Best Practices, CORS, SOP"},{"@type":"BreadcrumbList","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3#listItem","position":1,"name":"Home","item":"https:\/\/www.varutra.com\/varutravrt3","nextItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/#listItem","name":"Security Best Practices"}},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/#listItem","position":2,"name":"Security Best Practices","item":"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#listItem","name":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#listItem","position":3,"name":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","previousItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/#listItem","name":"Security Best Practices"}}]},{"@type":"Organization","@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization","name":"Varutra","description":"Secure your digital world with our Cybersecurity services.","url":"https:\/\/www.varutra.com\/varutravrt3\/","logo":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Varutra-Found-e1612984024606.jpg","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#organizationLogo"},"image":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author","url":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/","name":"kalpblogger","image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/5e96a9b330da7c941c1e39217a2fbe38?s=96&d=mm&r=g"}},{"@type":"WebPage","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#webpage","url":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/","name":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","description":"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#website"},"breadcrumb":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#breadcrumblist"},"author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"creator":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/01\/CORS.png","@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#mainImage","width":1060,"height":593,"caption":"CORS"},"primaryImageOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/#mainImage"},"datePublished":"2021-01-14T16:52:21+05:30","dateModified":"2022-12-02T14:39:56+05:30"},{"@type":"WebSite","@id":"https:\/\/www.varutra.com\/varutravrt3\/#website","url":"https:\/\/www.varutra.com\/varutravrt3\/","name":"Varutra Consulting","description":"Secure your digital world with our Cybersecurity services.","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"}}]},"og:locale":"en_US","og:site_name":"Varutra Consulting","og:type":"article","og:title":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","og:description":"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.","og:url":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/","og:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png","og:image:secure_url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png","og:image:width":"1060","og:image:height":"593","article:section":"Data Privacy","article:tag":["cors","sop"],"article:published_time":"2021-01-14T11:22:21+00:00","article:modified_time":"2022-12-02T09:09:56+00:00","twitter:card":"summary_large_image","twitter:title":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","twitter:description":"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.","twitter:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png","twitter:label1":"Written by","twitter:data1":"kalpblogger","twitter:label2":"Est. reading time","twitter:data2":"6 minutes"},"aioseo_meta_data":{"post_id":"7062","title":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","description":"Main techniques to attack an application with Cross-Origin Resource Sharing (CORS) enabled, and general guidelines to implement CORS securely.","keywords":[],"keyphrases":{"focus":{"keyphrase":"Cross-Origin Resource Sharing","analysis":{"keyphraseInTitle":{"title":"Focus keyphrase in SEO title","description":"Focus keyphrase found in SEO title.","score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"title":"Focus keyphrase in meta description","description":"Focus keyphrase found in meta description.","score":9,"maxScore":9,"error":0},"keyphraseLength":{"title":"Focus keyphrase length","description":"Good job!","score":9,"maxScore":9,"error":0,"length":3},"keyphraseInURL":{"title":"Focus keyphrase in URL","description":"Focus keyphrase used in the URL.","score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"title":"Focus keyphrase in introduction","description":"Your Focus keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.","score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"title":"Focus keyphrase in Subheadings","description":"Your H2 and H3 subheadings reflects the topic of your copy. Good job!","score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":{"title":"Focus keyphrase in image alt attributes","description":"Focus keyphrase found in image alt attribute(s).","score":9,"maxScore":9,"error":0}},"score":90},"additional":[{"keyphrase":"CORS","score":83,"analysis":{"keyphraseInDescription":{"title":"Keyphrase in meta description","description":"Keyphrase found in meta description.","score":9,"maxScore":9,"error":0},"keyphraseLength":{"title":"Keyphrase length","description":"Good job!","score":9,"maxScore":9,"error":0,"length":1},"keyphraseInIntroduction":{"title":"Keyphrase in introduction","description":"Your Keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.","score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"title":"Keyphrase in image alt attributes","description":"Keyphrase found in image alt attribute(s).","score":9,"maxScore":9,"error":0}}}]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"featured","og_image_url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/01\/CORS.png","og_image_width":"1060","og_image_height":"593","og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"Data Privacy","og_article_tags":[],"twitter_use_og":true,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"reviewed_by":null,"open_ai":null,"created":"2021-10-27 15:12:18","updated":"2026-05-24 09:51:05","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":"2026-05-22 13:10:03"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/\" title=\"Security Best Practices\">Security Best Practices<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tMisconfigured Cross-Origin Resource Sharing (CORS) Risk\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.varutra.com\/varutravrt3"},{"label":"Security Best Practices","link":"https:\/\/www.varutra.com\/varutravrt3\/category\/security-best-practices\/"},{"label":"Misconfigured Cross-Origin Resource Sharing (CORS) Risk","link":"https:\/\/www.varutra.com\/varutravrt3\/misconfigured-cross-origin-resource-sharing-cors-risk\/"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/7062"}],"collection":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/comments?post=7062"}],"version-history":[{"count":5,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/7062\/revisions"}],"predecessor-version":[{"id":20319,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/7062\/revisions\/20319"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media\/7079"}],"wp:attachment":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media?parent=7062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/categories?post=7062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/tags?post=7062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}