{"id":80486,"date":"2020-05-06T13:42:20","date_gmt":"2020-05-06T11:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali"},"modified":"2020-05-06T13:42:20","modified_gmt":"2020-05-06T11:42:20","slug":"problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali","title":{"rendered":"Issues with Autonomous Access Control Systems \u2014 From Unexpected Sources","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Good day to everyone. I will start with the background that led me to conduct this research, but first, I must warn you: all practical actions were carried out with the consent of the managing authorities. Any attempt to use this material for unauthorized access to restricted areas is a criminal offense. <\/p>\n<p>It all began when I was cleaning my desk and accidentally placed the RFID key for the entrance on the NFC reader ACR122 \u2014 I was amazed when Windows played a sound indicating a new device was detected, and the LED lit up green. Until that moment, I had thought these keys only operated on the Proximity standard.<br \/>\n<img decoding=\"async\" alt=\"Issues with Autonomous Access Control Systems \u2014 From Unexpected Sources\" src=\"\/wp-content\/uploads\/2020\/05\/7f9a2b1189564d55a1eaf41837625e60.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n But since the reader recognized it, the key must comply with one of the protocols on top of the ISO 14443 standard (also known as Near Field Communication, 13.56 MHz). I quickly forgot about cleaning since I saw an opportunity to completely get rid of the keychain and keep the entrance key on my phone (the apartment has been equipped with an electronic lock for a long time). Diving into research, I discovered that the plastic concealed an NFC tag Mifare 1k \u2014 the same model used in access badges for enterprises, transport cards, etc. My initial attempts to access the sector contents were unsuccessful, and when I finally managed to hack the key, I found that only the 3rd sector was used, which contained a duplicate of the chip's UID. It seemed too simple, and it turned out to be so; there wouldn't be an article if everything had gone as planned. Here I obtained the insides of the key, and there were no issues if I needed to copy the key onto another identical one. But the task was to transfer the key to a mobile device, which I set out to do. This is where the fun began \u2014 we have a phone \u2014 <b>iPhone SE<\/b> with <b>iOS 13.4.5 Beta build 17F5044d<\/b> and some custom components for seamless NFC operation \u2014 I won't dwell on this for certain objective reasons. If desired, everything mentioned next is also applicable to the Android system, but with some simplifications.<\/p>\n<p><b>Task list to solve:<\/b><\/p>\n<ul>\n<li><b>Access the contents of the key.<\/b><\/li>\n<li><b>Implement the ability to emulate the key with the device.<\/b><\/li>\n<\/ul>\n<p>\n While the first one was relatively straightforward, the second presented challenges. The initial version of the emulator didn't work. The issue was quickly identified \u2014 mobile devices (both iOS and Android) in emulation mode have a dynamic UID, which varies regardless of what is hardcoded in the image. The second version (running with superuser rights) fixed the serial number on the chosen device \u2014 the door opened. However, I wanted to make everything perfect, and ultimately I assembled a complete version of the emulator that could open Mifare dumps and emulate them. Succumbing to a sudden impulse, I changed the sector keys to arbitrary ones and tried to open the door. And it... <i>OPENED! <\/i> After a while, I realized that it opened <i>any<\/i> doors with this lock, even those for which the original key did not work. Consequently, I created a new task list to accomplish:<\/p>\n<ul>\n<li><b>Find out which controller is responsible for working with the keys<\/b> <\/li>\n<li><b>Understand if there is a network connection and a common database<\/b> <\/li>\n<li><b>Determine why an actually unreadable key becomes universal<\/b> <\/li>\n<\/ul>\n<p>\nAfter talking to an engineer from the management company, I learned that simple controllers Iron Logic z5r are used without connection to an external network.<\/p>\n<p>                        <b class=\"spoiler_title\">Reader CP-Z2 MF and controller IronLogic z5r<\/b><br \/>\n                         I was given a set of equipment for experiments:<\/p>\n<p><img decoding=\"async\" alt=\"Issues with Autonomous Access Control Systems \u2014 From Unexpected Sources\" src=\"\/wp-content\/uploads\/2020\/05\/24229d027cb7c55ec8aa20eb269ac7e6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nAs it is clear from here \u2014 the system is completely autonomous and extremely primitive. At first, I thought that the controller was in learning mode \u2014 the idea being that it reads the key, stores it in memory, and opens the door \u2014 this mode is used when all keys need to be recorded, for example, when replacing a lock in an apartment building. But this theory was not confirmed \u2014 programmatically this mode is turned off, the jumper is in operational position \u2014 and nevertheless, when presenting the device, we see the following:<\/p>\n<p>                        <b class=\"spoiler_title\">Screenshot of the emulation process on the device<\/b><br \/>\n                        <img decoding=\"async\" alt=\"Issues with Autonomous Access Control Systems \u2014 From Unexpected Sources\" src=\"\/wp-content\/uploads\/2020\/05\/ba774fc83aafde90d0ce680717cdbd9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u2026 and the controller signals that access has been granted.<\/p>\n<p>This means the problem lies in the software of either the controller or the reader. Let's check the reader \u2014 it operates in iButton mode, so we'll connect the security board Bolid \u2014 we will have the opportunity to view the output data from the reader.<\/p>\n<p>                        <b class=\"spoiler_title\">The board will be connected later via RS232<\/b><br \/>\n                        <img decoding=\"async\" alt=\"Issues with Autonomous Access Control Systems \u2014 From Unexpected Sources\" src=\"\/wp-content\/uploads\/2020\/05\/2960cec6f70f0abd98557a28e54eca6f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nThrough multiple attempts, we find that the reader transmits the same code in case of unsuccessful authorization: 1219191919<\/p>\n<p>The situation starts to become clearer, but at this point, it\u2019s unclear to me why the controller responds positively to this code. There is a hypothesis \u2014 that when filling the database, either accidentally or deliberately, a card with different sector keys was presented, causing the reader to send this code and the controller to save it. Unfortunately, I do not have a branded programmer from IronLogic to check the controller's key database, but I hope I have drawn attention to the fact that the problem exists. A video demonstration of the vulnerability is available. <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/video104139075_456239166\">at the link<\/a><\/noindex>.<\/p>\n<p>P.S. The theory of accidental addition is refuted by the fact that in one business center in Krasnoyarsk, I was also able to open the door using this same method.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/500396\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a. \u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438, \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u043d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0443: \u0432\u0441\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440. \u041b\u044e\u0431\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0432 \u0446\u0435\u043b\u044f\u0445 \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043d\u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u0443\u044e \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u044e \u0431\u0435\u0437 \u043f\u0440\u0430\u0432\u0430 \u0442\u0430\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u2014 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0433\u043e\u043b\u043e\u0432\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u043e\u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435\u043c. \u041d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443\u0431\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u0441\u0442\u043e\u043b\u0435, \u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80486","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a. \u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438, \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u043d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0443: \u0432\u0441\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0421\u041a\u0423\u0414 \u2014 \u0422\u0430\u043c, \u043e\u0442\u043a\u0443\u0434\u0430 \u043d\u0435 \u0436\u0434\u0430\u043b\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a. \u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438, \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u043d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0443: \u0432\u0441\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-06T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-06T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Problems of Autonomous Access Control Systems \u2014 The Unexpected Source | ProHoster","description":"Good day to everyone. I will start with the background on what prompted me to conduct this research, but first I will warn you: all practical actions were performed with the consent of the managing bodies.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0421\u041a\u0423\u0414 \u2014 \u0422\u0430\u043c, \u043e\u0442\u043a\u0443\u0434\u0430 \u043d\u0435 \u0436\u0434\u0430\u043b\u0438 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a. \u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438, \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u043d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0443: \u0432\u0441\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/problemy-avtonomnyh-skud-tam-otkuda-ne-zhdali","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-06T11:42:20+00:00","article:modified_time":"2020-05-06T11:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80486","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"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":null,"schema_type_options":null,"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":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:17:31","updated":"2022-09-28 02:47:40","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/80486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=80486"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/80486\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/80487"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=80486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=80486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=80486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}