{"id":818,"date":"2015-09-08T01:20:24","date_gmt":"2015-09-07T23:20:24","guid":{"rendered":"https:\/\/0x90r00t.com\/fr\/?p=818"},"modified":"2015-09-08T16:59:32","modified_gmt":"2015-09-08T14:59:32","slug":"mma-ctf-web-login-as-admin-write-up","status":"publish","type":"post","link":"https:\/\/0x90r00t.com\/fr\/2015\/09\/08\/mma-ctf-web-login-as-admin-write-up\/","title":{"rendered":"[MMA 2015] [Web &#8211; Login as Admin] Write Up"},"content":{"rendered":"<h2>Description<\/h2>\n<blockquote><p>Loguez-vous en tant qu&rsquo;admin et r\u00e9cup\u00e9rez le flag.<br \/>\nLe flag est le password de l&rsquo;admin.<br \/>\nVous pouvez utiliser test:test.<\/p><\/blockquote>\n<p><!--more--><\/p>\n<h2>Resolution<\/h2>\n<p>Nous nous retrouvons devant une basique page d&rsquo;identification, avec deux champs, un pour le nom d&rsquo;utilisateur, l&rsquo;autre pour le mot de passe.<\/p>\n<p>Lorsqu&rsquo;on se logue avec les identifiants de test,\u00a0 nous arrivons sur une page contenant le message \u00ab\u00a0Vous \u00eates l&rsquo;utilisateur test.\u00a0\u00bb ainsi qu&rsquo;un lien pour se d\u00e9loguer.<\/p>\n<p>Rien de sp\u00e9cial ici, on va donc essayer de se loguer en tant qu&rsquo;admin avec une injection SQL classique.<\/p>\n<p>Imaginons \u00e0 quoi peut ressembler la requ\u00eate SQL d&rsquo;identification :<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nSELECT login, password FROM users WHERE login='$login' AND password='$password'\r\n<\/pre>\n<p>En partant de cette id\u00e9e, il suffit d&rsquo;envoyer \u00ab\u00a0<code>admin'--<\/code>\u00a0\u00bb dans <code>$login<\/code> pour s&rsquo;identifier en tant qu&rsquo;admin sans devoir saisir de password.<\/p>\n<p>On se retrouve bien logu\u00e9 en tant qu&rsquo;admin, mais un message s&rsquo;est ajout\u00e9 en nous disant que le flag est dans le mot de passe de l&rsquo;admin.<\/p>\n<p>Revoyons alors notre requ\u00eate SQL afin de remplacer le nom d&rsquo;utilisateur affich\u00e9 apr\u00e8s s&rsquo;\u00eatre logu\u00e9 par le mot de passe de l&rsquo;admin \u00e0 l&rsquo;aide d&rsquo;une injection par UNION :<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\n' UNION SELECT password,password FROM user WHERE user='admin'--\r\n<\/pre>\n<p>Comme le login \u00ab\u00a0\u00a0\u00bb (vide) n&rsquo;existe pas, c&rsquo;est notre requ\u00eate qui est prise en compte pour le SELECT, dans lequel nous demandons \u00e0 r\u00e9cup\u00e9rer le password dans les deux colonnes utilis\u00e9es dans la page d&rsquo;apr\u00e8s identification.<\/p>\n<p><a href=\"https:\/\/0x90r00t.com\/wp-content\/uploads\/2015\/09\/Capture-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-820 aligncenter\" src=\"https:\/\/0x90r00t.com\/wp-content\/uploads\/2015\/09\/Capture-14.png\" alt=\"\" width=\"400\" height=\"131\" srcset=\"https:\/\/0x90r00t.com\/wp-content\/uploads\/2015\/09\/Capture-14.png 400w, https:\/\/0x90r00t.com\/wp-content\/uploads\/2015\/09\/Capture-14-300x98.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Parfait !<\/p>\n<p><code>Le flag est : MMA{cats_alice_band}<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description Loguez-vous en tant qu&rsquo;admin et r\u00e9cup\u00e9rez le flag. Le flag est le password de l&rsquo;admin. Vous pouvez utiliser test:test.<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,35,52],"tags":[19,58,57,56],"class_list":["post-818","post","type-post","status-publish","format-standard","hentry","category-2015-fr","category-ctf-fr","category-mma-2015-fr","tag-web","tag-injection","tag-sql","tag-warmup"],"_links":{"self":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/comments?post=818"}],"version-history":[{"count":7,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/818\/revisions"}],"predecessor-version":[{"id":885,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/818\/revisions\/885"}],"wp:attachment":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/media?parent=818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/categories?post=818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/tags?post=818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}