Storyline It all started with a simple question from my beloved girlfriend: “Is it possible to download the entire map from this page?”. Okok…we have to look back a little bit. She was asked by a friend of ours to scan an old map of an area in the local university library.
But: Scanning such a massive picture would cost ~40 Euro and nobody was willing to pay that. I can understand that nearly every scan could damage the map, so, wouldn’t it be a better option to use an already scanned one?
I like a good challenge.
During some reconnaissance, i found the career challenges of contextis and was kind of drawn into the web application ones.
The challenge The challenge itself is a basic PHP Code Review with the following task:
You have downloaded a fancy CMS. Can you identify a way to extract the administrator hash? The accepted solution is the payload used to receive the hash. IF YOU READ ON, SPOILER AWAITS
Ich werde keinen Downloader anbieten, weil mir das Coden dieses zu Muehseelig ist. Das hier ist ein Proof of Concept mit einzelnen Scripten, die fuer sich zum jetzigen Zeitpunkt funktionieren.
Vor einiger Zeit hab ich mit dem Online Archiv Douding (http://docin.com) aus China beschaeftigt. Hierbei handelt es sich um eine Moeglichkeit Dokumente online auszutauschen. Man kann sich jedes Dokument online anschauen, aber muss sich einloggen und selber sharen, oder bezahlen um andere Dokumente herunterzuladen.
(Source: https://github.com/nv1t/freeElmo/)
Vor ein paar Wochen ist mir eine Document Camera in der Schule aufgefallen. Genauer gesagt handelt es sich im eine L-12 von Elmo. Zu diesem Zeitpunkt wussten wir bloss, dass es keine normale Webcam ist und eigene Software fuer Windows und MacOSX bereitgestellt wurde. Also musste es ein eigenes Protokoll sein. Ich moechte hier nicht so tief reingehen in die ganzen Ueberlegungen die wir hatten, sondern nur darstellen, wie das Teil aufgebaut ist und wie man ungefaehr damit kommuniziert.
Einleitung: Was ist eine CSRF? HTTP ist im Grunde ein stateless Protokoll. Man stellt eine Anfrage an einen Server und bekommt darauf die Antwort. Der Server schliesst nun die Verbindung und das Spiel beginnt von neuem. Damit der Server weiss wer man ist, muss zwingend eine Art Token mitgeschickt werden. Dies geschieht traditionell mit Cookies. Mit Cookies kann der Server auf dem Client Informationen speichern. Ein Cookie kann fuer einen bestimmten Pfad fuer einen gewissen Zeitraum vom Server beim Client gesetzt werden.