{"id":19862,"date":"2021-02-03T00:17:20","date_gmt":"2021-02-02T18:47:20","guid":{"rendered":"https:\/\/valeurbit.com\/blog\/?p=19862"},"modified":"2021-02-12T18:17:41","modified_gmt":"2021-02-12T12:47:41","slug":"html-injection-prevention-types-and-methods","status":"publish","type":"post","link":"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/","title":{"rendered":"HTML Injection &#8211; Prevention Types And Methods"},"content":{"rendered":"\n<p>In this article, we will look at such a type of attack on web applications as HTML &#8211; Injection.<\/p>\n\n\n\n<p><strong>What is HTML Injection?<\/strong><\/p>\n\n\n\n<p>The essence of this type of injection attack is to inject HTML code through vulnerable parts of a website.&nbsp;An attacker sends HTML code through any vulnerable field in order to change the design of the website or any information displayed to the user.<\/p>\n\n\n\n<p>As a result, the user can see the data sent by the attacker.&nbsp;Hence, in general, HTML injection is simply the injection of markup language code into a page document.<\/p>\n\n\n\n<p>The data that is sent during this type of injection attack can be very different.&nbsp;It could be a few HTML tags that will simply display the submitted information.&nbsp;It could also be an entire fake form or page.&nbsp;When this attack occurs, the browser usually interprets the user&#8217;s malicious data as valid and displays it.<\/p>\n\n\n\n<p>Changing the look of a website is not the only risk this type of attack carries.&nbsp;This is very similar to an XSS attack in which an attacker steals other people&#8217;s personal data.&nbsp;Consequently, theft of the user&#8217;s personal data can also occur during this injection.<\/p>\n\n\n\n<p><strong>Types of HTML Injection<\/strong><\/p>\n\n\n\n<p>This attack does not seem very difficult to understand or execute, since HTML is considered a fairly simple language.&nbsp;However, there are different ways to accomplish this type of attack.&nbsp;We can also highlight different types of this injection.<\/p>\n\n\n\n<p>First, the different species can be sorted by the risks they carry.<\/p>\n\n\n\n<p>As mentioned, this injection attack can be performed with two different targets:&nbsp;<\/p>\n\n\n\n<ul><li>To change the appearance of the displayed website.<\/li><li>To steal personal information from other users.<\/li><\/ul>\n\n\n\n<p>In addition, this injection attack can be performed through various parts of a website, such as data entry fields and a website link.<\/p>\n\n\n\n<p>However, the main types are:&nbsp;<\/p>\n\n\n\n<ul><li>Stored HTML Injection<\/li><li>Reflected HTML Injection<\/li><\/ul>\n\n\n\n<p><strong>Stored HTML Injection:<\/strong><\/p>\n\n\n\n<p>The main difference between the two types of injection is that a Stored HTML Injection attack occurs when malicious HTML code is stored on a web server and executed every time the user calls the appropriate function.<\/p>\n\n\n\n<p>However, in a reflected injection attack, the malicious HTML code is not persistently stored on the web server.&nbsp;Reflected injection occurs when a website responds immediately to malicious input.<\/p>\n\n\n\n<p><strong>Reflected HTML Injection:<\/strong><\/p>\n\n\n\n<p>This again can be divided into several types:<\/p>\n\n\n\n<ul><li>Reflected GET<\/li><li>Reflected POST<\/li><li>Reflected URL<\/li><\/ul>\n\n\n\n<p>A reflected injection attack can be performed differently depending on the HTTP methods, that is, GET and POST.&nbsp;Let me remind you that using the POST method, data is sent, and using the GET method, it is requested.&nbsp;<\/p>\n\n\n\n<p>To find out which method is used for the corresponding elements of the website, we can check the page source code.&nbsp;<\/p>\n\n\n\n<p>For example, a tester can check the source code of a login form to see what method is being used for it.&nbsp;You can then select the appropriate HTML injection method.<\/p>\n\n\n\n<p>Reflected GET occurs when our input is displayed (reflected) on the website.&nbsp;Let&#8217;s say we have a simple page with a data entry form that is vulnerable to this attack.&nbsp;Then, if we enter any HTML code as a parameter, it will appear on our website and at the same time will be inserted into the HTML document.<\/p>\n\n\n\n<p>http: \/\/mutillidae\/index.php? page = user-poll.php &amp; csrf-token = &amp; choice = nmap &amp; initials =% 3Ca% 22% 22 + href% 3D% 22% 22onclick% 3Dalert% 28% 22HTML% 22% 29% 3Eprotey % 3C% 2Fa% 3E &amp; user-poll-php-submit-button = Submit + Vote<\/p>\n\n\n\n<p>Payload:<\/p>\n\n\n\n<p>&lt;a &#8220;&#8221; href = &#8220;&#8221; onclick = alert (&#8220;HTML&#8221;)&gt; protey &lt;\/a&gt;<\/p>\n\n\n\n<p>Result:<\/p>\n\n\n\n<p>Reflected POST HTML Injection is a little more complicated.&nbsp;This happens when malicious HTML is sent instead of the correct parameters to the POST method.<\/p>\n\n\n\n<p>For example, we have a login form that is vulnerable to an HTML attack.&nbsp;The data entered in the login form is sent using the POST method.&nbsp;Then, if we enter any HTML instead of the correct parameters, it will be POSTed and displayed on the website.<\/p>\n\n\n\n<p>To carry out the Reflected POST HTML attack, it is recommended to use a special browser plugin that will fake the sent data.&nbsp;One of them is the Mozilla Firefox &#8220;Tamper Data&#8221; plugin.&nbsp;The plugin accepts the submitted data and allows the user to modify it.&nbsp;The modified data is then sent and displayed on the site.<\/p>\n\n\n\n<p>For example, if we use a plugin like this, we will send the same HTML and it will also display in much the same way as in the previous example (depending on the application).<\/p>\n\n\n\n<p>Payload:<\/p>\n\n\n\n<p>&lt;h1&gt; PROTEY.NET &lt;\/h1&gt;<\/p>\n\n\n\n<p>Reflected URL happens when HTML is sent via a website URL, displayed on the website, and at the same time entered into the website&#8217;s HTML document.<\/p>\n\n\n\n<p>Payload:<\/p>\n\n\n\n<p>&lt;a href=&#8221;data:text\/html;base64,PHNjcmlwdD5hbGVydCg5KTwvc2NyaXB0Pg&#8221;&gt; protey &lt;\/a&gt;<\/p>\n\n\n\n<p><strong>How is HTML injection done?<\/strong><\/p>\n\n\n\n<p>To perform this type of injection, an attacker must first find vulnerabilities in the website.&nbsp;As already mentioned, such places on the site can be data entry fields and a link to the site.<\/p>\n\n\n\n<p>Malicious HTML code can enter the source code via innerHTML.&nbsp;Recall that innerHTML is a property of the DOM document, and using innerHTML, we can write dynamic HTML.&nbsp;It is mainly used for data entry fields such as comment fields, questionnaires, registration forms, etc. Therefore, these elements are most vulnerable to HTML attacks.<\/p>\n\n\n\n<p>Let&#8217;s say we have a questionnaire where we fill in the appropriate answers and our name.&nbsp;And when the questionnaire is completed, a confirmation message is displayed.&nbsp;The confirmation message also displays the specified user name or selection.<\/p>\n\n\n\n<p>As we understand it, Tester_name is the name specified by the user.&nbsp;Therefore, this confirmation message code might look like this:<\/p>\n\n\n\n<p>var user_name = location.href.indexOf (\u201cuser =\u201d);<br><br>document.getElementById (\u201cThank you for filling our questionnaire\u201d). innerHTML = \u201dThank you for filling our questionnaire,\u201d + user;<\/p>\n\n\n\n<p>The code shown is vulnerable to such an attack.&nbsp;If you enter any HTML code in the questionnaire form, its message will be displayed on the confirmation page.<\/p>\n\n\n\n<p>The same thing happens with comment fields.&nbsp;Suppose if we have a comment form and it is vulnerable to HTML attack.<\/p>\n\n\n\n<p>In the form, the user enters his name and comment text.&nbsp;All saved comments are listed on the page and loaded on page load.&nbsp;Therefore, if the malicious code was typed and saved, it will also be downloaded and displayed on the site.<\/p>\n\n\n\n<p>For example, if we save the code in the comment box as shown below, a popup will appear with the message &#8220;Hello!&#8221;&nbsp;will be displayed on page load.<\/p>\n\n\n\n<p>&lt;html&gt;&lt;body&gt;&lt;script&gt;alert(&#8220;Hello!&#8221;);&lt;\/script&gt;&lt;\/body&gt; &lt;\/html&gt;<\/p>\n\n\n\n<p>Another way to perform this type of injection is by following a link on a website.&nbsp;Let&#8217;s say we have a link to a PHP site.<\/p>\n\n\n\n<p>As you can see, &#8220;site&#8221; is a parameter, and &#8220;1&#8221; is its value.&nbsp;Then, if for the &#8220;site&#8221; parameter instead of the value &#8220;1&#8221; we specify any HTML code with the displayed text, this specified text will be displayed on the page &#8220;Page Not Found&#8221;.&nbsp;This only happens if the page is vulnerable to an HTML attack.<\/p>\n\n\n\n<p>Suppose we are typing text with &lt;input type = &#8220;text&#8221; name = &#8220;foo&#8221; value = &#8220;&#8221; onmouseover = alert (HTML_Injection) \/\/ &#8220;&gt; tags instead of the parameter value.<\/p>\n\n\n\n<p>Then we will get the text displayed on the website as shown below:<\/p>\n\n\n\n<p>Also, as already mentioned, more than just a chunk of HTML code can be entered.&nbsp;An entire malicious page can also be sent to the end user.<\/p>\n\n\n\n<p>For example, if a user opens any login page and enters their credentials.&nbsp;In this case, if a malicious page is loaded instead of the original page, and the user submits their credentials through that page, a third party can obtain the user&#8217;s credentials.<\/p>\n\n\n\n<p><strong>How do I check for HTML injection?<\/strong><\/p>\n\n\n\n<p>When starting to check for possible injection attacks, a tester should first list all potentially vulnerable parts of a website.<\/p>\n\n\n\n<p>Let me remind you that it can be:&nbsp;<\/p>\n\n\n\n<ul><li>All data entry fields<\/li><li>Link<\/li><\/ul>\n\n\n\n<p>Then manual tests can be performed.<\/p>\n\n\n\n<p>When manually testing whether HTML embedding is possible, you can enter simple HTML code \u2014 for example, to test if text will be displayed.&nbsp;There is no point in testing very complex HTML code, simple code may be enough to test its rendering.<\/p>\n\n\n\n<p>For example, these can be simple tags with text:<\/p>\n\n\n\n<p>&lt;h1&gt; HTML Injection testing &lt;\/h1&gt;<\/p>\n\n\n\n<p>Or the search form code if you want to test something more complex:<\/p>\n\n\n\n<p>&lt;form method = &#8220;post&#8221; action = &#8220;index.html&#8221;&gt;<br>&lt;p&gt; &lt;input type = &#8220;text&#8221; name = &#8220;search&#8221; value = &#8220;&#8221; placeholder = &#8220;Search text&#8221;&gt; &lt;\/p&gt;<br>&lt;p class = &#8221; search_text &#8220;&gt;<br>&lt;label&gt;<br>&lt;input type =&#8221; checkbox &#8220;name =&#8221; search_text &#8220;id =&#8221; search_text &#8220;&gt;<\/p>\n\n\n\n<p>Enter your search text:<\/p>\n\n\n\n<p>&lt;\/label&gt;<br>&lt;\/p&gt;<br>&lt;p class = &#8220;submit&#8221;&gt; &lt;input type = &#8220;submit&#8221; name = &#8220;commit&#8221; value = &#8220;Search&#8221;&gt; &lt;\/p&gt;<br>&lt;\/form&gt;<\/p>\n\n\n\n<p>If HTML is displayed and stored somewhere, then the tester can be confident that this injection attack is possible.&nbsp;You can then try more complex code &#8211; for example, to display a fake login form.<\/p>\n\n\n\n<p>Another solution is HTML Injection scanner.&nbsp;Automatic scanning against this attack can save you a lot of time.&nbsp;I want to note that there are not so many tools for testing HTML Injection compared to other attacks.<\/p>\n\n\n\n<p>However, one possible solution is the WAS application.&nbsp;WAS can be called a pretty strong vulnerability scanner because it tests with different inputs rather than just stopping when the first one fails.<\/p>\n\n\n\n<p>This is useful for testing, perhaps as mentioned in the aforementioned &#8220;Tamper Data&#8221; browser plugin, it receives the sent data, allows the tester to modify it, and sends it to the browser.<\/p>\n\n\n\n<p>We can also find some online crawling tools where you only need to provide a link to a website and an HTML attack will be scanned.&nbsp;When testing is complete, a summary is displayed.<\/p>\n\n\n\n<p>I would like to point out that when choosing a scanning tool, we must pay attention to how it analyzes the results, and whether it is accurate enough.<\/p>\n\n\n\n<p>However, keep in mind that manual testing should not be forgotten.&nbsp;This way, we can be sure which input data is being used and which exact results we get.&nbsp;It also makes it easier to analyze the results.<\/p>\n\n\n\n<p>Based on my experience in software testing, I would like to comment that for both ways of testing, we need to be familiar with this type of injection.&nbsp;Otherwise, it would be difficult to choose a suitable automation tool and analyze its results.&nbsp;In addition, it is always advisable to remember to test manually, as this only gives us more confidence in the quality.<\/p>\n\n\n\n<p><strong>How to prevent HTML injection?<\/strong><\/p>\n\n\n\n<p>There is no doubt that the main reason for this attack is the inattention and ignorance of the developer.&nbsp;This type of injection attack occurs when input and output are not properly validated.&nbsp;Therefore, the main rule to prevent an HTML attack is appropriate data validation.<\/p>\n\n\n\n<p>Every input must be checked if it contains any script code or any HTML code.&nbsp;Usually it is checked if the code contains any special script or HTML brackets &#8211; &lt;script&gt; &lt;\/script&gt;, &lt;html&gt; &lt;\/html&gt;.<\/p>\n\n\n\n<p>There are many functions to check for special parentheses in your code.&nbsp;The choice of the check function depends on the programming language you are using.<\/p>\n\n\n\n<p>Remember that good safety testing is also part of prevention.&nbsp;I would like to point out that since HTML Injection attack is very rare, there is little information about it, as well as about detection tools.&nbsp;However, this part of the security testing should not be skipped as you never know when you might need it.<\/p>\n\n\n\n<p>In addition, both the developer and the tester should have a good knowledge of how this attack is performed.&nbsp;A good understanding of the attack process can help prevent it.<\/p>\n\n\n\n<p><strong>Comparison with other attacks<\/strong><\/p>\n\n\n\n<p>Compared to other possible attacks, HTML definitely would not be considered as dangerous as an attack using SQL injection or JavaScript injection or even XSS.&nbsp;It will not destroy the entire database or steal all data from the database.&nbsp;However, it should not be considered insignificant.<\/p>\n\n\n\n<p>As mentioned earlier, the main purpose of this type of embedding is to change the appearance of the displayed website with a malicious intent, displaying the information or data you send to the end user.&nbsp;These risks can be considered less important.<\/p>\n\n\n\n<p>Changing the look of your website can damage your company&#8217;s reputation.&nbsp;If an attacker ruins the look of your site, it can change the way visitors think about your company.<\/p>\n\n\n\n<p>Please be aware that another risk associated with this website attack is another user&#8217;s identity theft.<\/p>\n\n\n\n<p>As mentioned, with HTML injection, an attacker can inject an entire page that will be displayed to the end user.&nbsp;Then, if the last user provides their login details to a fake login page, they will be sent to the attacker.&nbsp;This case is of course the most risky part of the attack.<\/p>\n\n\n\n<p>It should be noted that this type of attack is less often chosen to steal data from other users, as there are many other possible attacks.<\/p>\n\n\n\n<p>However, it is very similar to an XSS attack that steals the user&#8217;s cookies and the personal data of other users.&nbsp;There are also HTML-based XSS attacks.&nbsp;Therefore, testing against XSS and HTML attacks can be very similar and can be done together.<\/p>\n\n\n\n<p><strong>Output<\/strong><\/p>\n\n\n\n<p>Since HTML injection is not as popular as other attacks, it can be considered less risky.&nbsp;Therefore, testing for this type of injection is sometimes skipped.<\/p>\n\n\n\n<p>Also worth noting is the small amount of information about HTML Injection.&nbsp;Therefore, testers may decide not to conduct this type of testing.&nbsp;However, in this case, the risks of an HTML attack may not be sufficiently appreciated.<\/p>\n\n\n\n<p>As we analyzed in this guide, with this type of embedding, your entire website design can be destroyed or user login credentials can be stolen.&nbsp;Therefore, it is highly recommended to include HTML injection in your security testing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will look at such a type of attack on web applications as HTML &#8211; Injection. What is HTML Injection? The essence of this type of injection attack is to inject HTML code through vulnerable parts of a website.&nbsp;An attacker sends HTML code through any vulnerable field in order to change the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>HTML Injection - Prevention Types And Methods | ValeurBit Infosec<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HTML Injection - Prevention Types And Methods | ValeurBit Infosec\" \/>\n<meta property=\"og:description\" content=\"In this article, we will look at such a type of attack on web applications as HTML &#8211; Injection. What is HTML Injection? The essence of this type of injection attack is to inject HTML code through vulnerable parts of a website.&nbsp;An attacker sends HTML code through any vulnerable field in order to change the...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/\" \/>\n<meta property=\"og:site_name\" content=\"ValeurBit Infosec\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/valeurbitinfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-02T18:47:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-12T12:47:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@valeurbit\" \/>\n<meta name=\"twitter:site\" content=\"@valeurbit\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/valeurbit.com\/blog\/#organization\",\"name\":\"Valeurbit Infosec\",\"url\":\"https:\/\/valeurbit.com\/blog\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/valeurbitinfo\/\",\"https:\/\/www.instagram.com\/valeurbit\",\"https:\/\/www.linkedin.com\/company\/valeurbit-infosec\/\",\"https:\/\/twitter.com\/valeurbit\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/valeurbit.com\/blog\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/valeurbit.com\/blog\/wp-content\/uploads\/2021\/02\/Valeurbit-new-logo-center.png\",\"contentUrl\":\"https:\/\/valeurbit.com\/blog\/wp-content\/uploads\/2021\/02\/Valeurbit-new-logo-center.png\",\"width\":1080,\"height\":512,\"caption\":\"Valeurbit Infosec\"},\"image\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/valeurbit.com\/blog\/#website\",\"url\":\"https:\/\/valeurbit.com\/blog\/\",\"name\":\"ValeurBit Infosec\",\"description\":\"Cyber Security Company\",\"publisher\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/valeurbit.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#webpage\",\"url\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/\",\"name\":\"HTML Injection - Prevention Types And Methods | ValeurBit Infosec\",\"isPartOf\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/#website\"},\"datePublished\":\"2021-02-02T18:47:20+00:00\",\"dateModified\":\"2021-02-12T12:47:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/valeurbit.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTML Injection &#8211; Prevention Types And Methods\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#webpage\"},\"author\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/#\/schema\/person\/df20c1cd317765fa8677a3056caeccfa\"},\"headline\":\"HTML Injection &#8211; Prevention Types And Methods\",\"datePublished\":\"2021-02-02T18:47:20+00:00\",\"dateModified\":\"2021-02-12T12:47:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/html-injection-prevention-types-and-methods\/#webpage\"},\"wordCount\":2445,\"publisher\":{\"@id\":\"https:\/\/valeurbit.com\/blog\/#organization\"},\"articleSection\":[\"Valeurbit\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/valeurbit.com\/blog\/#\/schema\/person\/df20c1cd317765fa8677a3056caeccfa\",\"name\":\"ValeurBit\",\"sameAs\":[\"https:\/\/valeurbit.com\/blog\"],\"url\":\"https:\/\/valeurbit.com\/blog\/author\/valeurbit\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/posts\/19862"}],"collection":[{"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/comments?post=19862"}],"version-history":[{"count":0,"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/posts\/19862\/revisions"}],"wp:attachment":[{"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/media?parent=19862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/categories?post=19862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/valeurbit.com\/blog\/wp-json\/wp\/v2\/tags?post=19862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}