Thursday, October 23, 2014

HACK.LU CTF 2014: Objection

This guard talks a weird dialect. And why does he talk in such a complicated way?

File source code ada di sini (dan juga pembahasannya): 

https://github.com/ctfs/write-ups/tree/master/hack-lu-ctf-2014/objection

Meski demikian, saya meyangka ini adalah file dalam bahasa LiveScript (http://livescript.net/) dan bukan COCO, dan skripnya bisa jalan dengan “lsc”. Mungkin juga skrip ini kompatibel dengan kedua bahasa tersebut.

Inti dari skrip tersebut adalah menciptakan sebuah object javascript, yang akan mengecek apakah is_admin true sebelum mendapatkan tokennya. Kita bisa memanggil fungsi-fungsi yang didefinisikan (login, get_token), tapi di JavaScript ada fungsi built in __defineGetter__ untuk mendefinisikan getter bagi properti. Dengan mengeset itu untuk is_admin, maka is_admin akan selalu true.

livlescript1

No comments:

Post a Comment