Tag Archives: javascript

NcN 2013 CTF Quals – Level 1

NcN 2013 Qualification - Level 1 - Task Description

To get the key for “Access Level 1” we need to pass an authentication form. When trying to submit a key, we get the following reply:

NcN 2013 Quals - Level 1 - Invalid Password

So we need to have a look into the source code of the password validation functions. At first we are going to see the HTML lines (index.php). The interesting ones are these:

<script type="text/javascript" src="crypto.js"></script>

<form action="login.php" method="POST" onsubmit="return encrypt(this);">
  <input id="key" type="hidden" name="key" value="" />
  <input id="verification" type="hidden" name="verification" value="yes" />
</form>

As we can see the page uses an external JavaScript file to calculate the validation of the password. Next step will be to examine this script file (crypto.js). It looks like this:

var _0x52ae=["\x66\x20\x6F\x28\x38\x29\x7B\x63\x20\x69...
...,"\x67"];eval(function (_0x7038x1,_0x7038x2,_0x7038x3..
...toString(36));};if(!_0x52ae[4][_0x52ae[6]](/^/,String)..
...[0],46,46,_0x52ae[3][_0x52ae[2]](_0x52ae[1]),0,{}));

The JavaScript itself uses many “eval” (evaluation) functions, confusing variable names and is incredible obfuscated at all. It cannot be read this way! So we need make it readable again – at best evaluate the “eval” function to get the real plain source code. It very good way to do so is using raw SpiderMonkey – the Mozilla JavaScript engine:

Continue reading

Boston Key Party CTF 2013 – nedias pictures :)

Boston Key Party CTF 2013 - Nedias Pictures ;) - task description

Die Challenge (nedias pictures) beschreibt eine Person namens “Nedia”, die sich gern Bilder ansieht und Flaggen gern in Cookies versteckt ;-). Alles deutet also hier bereits auf ein Cross Site Scripting hin. Wir besuchen zunächst die genannte Webseite für Uploads.

Boston Key Party CTF 2013 - Nedias Pictures ;) - Image upload

Wir finden ein simples Upload-Formular vor, das uns das Hochladen von Bildern gestattet und nach Absenden beispielsweise folgendes meldet.

Boston Key Party CTF 2013 - Nedias Pictures ;) - Image recognized

Dabei wird uns das hochgeladene Bild immer zu “nediapicture.gif” umbenannt und auf der Webseite angezeigt. Ein Blick in den Quellcode der Seite zeigt dabei:

Boston Key Party CTF 2013 - Nedias Pictures ;) - Website source code
Continue reading

Nuit du Hack 2013 Quals – huge.js

Nuit du Hack 2013 - huge.js - task website

Beim Aufruf der Webseite der “huge.js” – Challenge erschien nach unwesentlicher aber bemerkbarer Wartezeit dieses Bild mit einer eingeblendeten Inputbox. Der Quellcode erstaunlich einfach gestrickt:

<body>
  <div id="panel">
  </div>
  <script src="huge.js" language="javascript"></script>
</body>

Klarer Fall, erstmal die Ressource huge.js runterladen … erster Schock – 25 MB komprimiertes Javascript 🙂 Na danke!

Nuit du Hack 2013 - huge.js - obfuscated javascript code

Dateianalyse via “SharpEye-Methode” ergab, dass es sich um ein paar wenige Byte JS-Code, dann 99,9999% Hexkrams und ein paar schließende Klammern am Ende der Datei handelte.
Continue reading

CodeGate 2012 Quals – misc #4

Für die Aufgabe 4 der Kategorie “misc” gibt es keine Beschreibung oder Hinweise darauf, was als Lösung erwartet wird, sondern nur einen Link zu einer ZIP-Datei. Das Ziel der Challenge gilt es also selbst heraus zu finden.

Nachdem die Datei entpackt ist, stellt sich der Inhalt zunächst als Webseite dar. Anhand der Bezeichnung “codegate_homepage” kann hier schon vermutet werden, um was es sich wahrscheinlich handeln wird.

rup0rt@lambda:~/codegate_site$ ls -a *
codegate_homepage.htm

codegate_homepage_files:
.                 e_menu_2.gif         e_sub_top_img_2.jpg
..                e_menu_3.gif         inc_left.htm
codegate.css      e_menu_4.gif         inc_right.htm
codegate.js       e_menu_5.gif         main_bg_1.gif
copy_logo.gif     e_menu_6.gif         main_bg_2.gif
e_6.jpg           e_menu_7.gif         Thumbs.db
e_inc_bottom.htm  e_menu_8.gif         top_img.jpg
e_inc_sub_2.htm   e_sub_title_2_2.gif
e_menu_1.gif      e_sub_title_b.gif

Als erstes öffnen wir also die “codegate_homepage.htm” im Browser und verschaffen uns einen Überblick über den Inhalt.

CodeGate CTF 2012 - misc #4 - website

Bei der Webseite scheint es sich um die normale CodeGate-Homepage zu handeln. Auf den ersten Blick erscheint nichts auffällig. Außer dieser Seite scheinen auch keine weiteren Inhalte zu existieren, da die Links weiterhin auf die orginale Webseite im Internet und nicht auf lokale Dateien verweisen.
Continue reading