ForbiddenBITS CTF 2013 (invisible)

Решения

http://sysexit.wordpress.com/2013/03/17/forbiddenbits-ctf-2013-invisible-150-write-up/ (sysexit)
http://ge0-it.blogspot.in/2013/03/forbiddenbits-ctf-writeup-invisible.html (Ge0)
http://timiz0r.blogspot.ru/2013/03/forbiddenbits-2013-x95.html (Tim Marro)
Назад к списку заданий

Задание (misc)

image00.jpg

Файл: real.html

Подробное описание

Итак, нам доступен url-адрес (real.html), который указывает на.. пустую страницу. Хотя не совсем. Если при просмотре исходного кода страницы нажать "Выбрать все" (Ctrl+A), то заметим, что страница содержит пробелы и табуляцию. Странно. Но только для тех, кто не слышал об Whitespace.

Whitespace (http://compsoc.dur.ac.uk/whitespace/), разработанный в 2003 году Эдвином Брэди (Edwin Brady) и Крисом Моррисом (Chris Morris), является эзотерическим языком программирования, который использует только «пробелы» в качестве синтаксиса. Все символы, кроме пробелов, табуляции и символов новой строки игнорируются. Whitespace получил свою минуту славы, когда был размещен на Slashdot 1 апреля 2003 года. Большинство людей восприняли его как первоапрельскую шутку, хотя на самом деле это было не так.

Я попытался запустить код на сайте http://ideone.com/, где доступно более чем 40 языков программирования. IdeOne после выполнения Whitespace-программы выдал:

image01.jpg

Похоже Whitespace-программа ожидает ввод данных через stdin, поэтому не хочет работать. Я решил запустить программу еще раз, используя IdeOne, но на этот раз, указав "some_string" в качестве входных данных. Вот результат:

image02.jpg

Программа ответила "wrong", значит, входные данные - "неправильные". Видимо, без дизассемблера/декомпилятора не обойтись. Погуглив, обнаружим, что есть реализация Whitespace на Python, названная esotope-ws, которая включает в себя ассемблер, дизассемблер, и интерпретатор. Дизассемблируем программу:

python esotope-ws -d real.html disasm.txt

disasm.txt

Как видим, код простой. Программа обрабатывает ASCII-символы и ожидает ввода строки "wslang", и если это так, то выводится сообщение: "The key is We_are_Nasus"

Флаг:
We_are_Nasus

Пока не указано иное, содержимое этой страницы распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 License