Проходилка для Quest For Hack.

Quest For Hack это игра, вроде Try2Hack, созданная нашими ребятами из GipsHackers Crew. Вот линк: http://quest.gipshack.ru/index.htm. По просьбе одного из разработчика ключи не разглашаются. Показываются только пути прохождения...

Начнем с начала.
Угадать административный пароль по умолчанию. Тут я надеюсь ни у кого проблем не возникло:

1) И так, первый уровень. YANDEX.
Как нам и предлагают - воспользуемся формой администрирования. После, открываем исходник страницы администрирования. И смотрим в начале ява скрипт:

function Test(passwd){
if(passwd == ...
window.alert('ok. you hacked me');
location.href="

Подставляем полученный пароль, жмем кнопарь, или идем на указанный в location.href линк. Все. Ключ на следующий уровень у нас.

2) MICROSOFT
Просматриваем соурс index.html. Видим алгоритм сравнения логина и пароля, значит ищем их. Видим интересную строчку:
SCRIPT src=logo.gif
Смотрим этот logo.gif. Получаем логин и пароль. Подставляем полученные данные в форму. Жмем Enter, получаем key...

3) Матрица
Фэйки мы рассматривать не будем.. Поэтому сразу к делу. Заходим в чат. Смотрим исходник. Видим такую строчку:
param name=movie value="passwd.swf".
Качаем эту флешку. Потом или прямо каким-нибудь редактором (не HEX), или прогой, которая раздирает флешку по чаcтям. Я открыл в редакторе (FAR). Видим строчку со словом KEY.. Все, ключ у нас...

4) Macromedia
Здесь все очень просто. Видим в середине флешку. Ее можно качнуть (см соурс), но можно легче. В Опере щелкаем правой кнопкой на флеше. Убираем галку Loop. Опять кликаем правой кнопкой. Жмем Forward. Все. Ключ у нас.

5) Sun Microsystem
Идем в Downloads. Качаем файл sunmicro.exe. Берем любой Resourse explorer. Я воспользовался встроенным в ShadowScan. Смотрим ресурсы. Находим нужный нам. Сохраняем его как bmpшку. Открываем.., кей у нас.

6) NASA
У нас при заходе сразу же запрашивается пароль. Берем качалку (хоть FlashGet) качаем этот index.html. Открываем в редакторе (блокноте). Видим такие строчки:
login = prompt("Password protected. Enter login first:","");
if (login ==
Снова заходим на страничку и вводим то, что после login == без кавычек конечно. Мы на страничке. Здесь нам предлагают воспользоваться формой администрирования. Смотрим соурс. Видим:
input type="reset" value="enter here" onClick="resultion(entr.login.value, entr.passwd.value, entr.NEWURL.value)"
Т.е. наши данные передаются функции resolution, нам бы найти ее описание: Видим строчку:
script language=Javascript src=base64.js
Смотрим это файло. Видим там функцию resolution. Нас интересуют две строчки: var entrance = hexcode(login); и if (password == entrance) Понятно, что здесь в логин должно находится шестнадцатеричный код того что мы ввели в пароле. Я ввел 49 -31. Все. Ключ наш.

7) FBI
При первом заходе на страничку получаем такие куки:
Set-Cookie: cookietester=1
Видим сообщение: Come back again. Так и поступаем. При обновлении странички от нас уходит:
Cookie: cookietester=1
Cookie2: $Version="1"
Получаем:
Set-Cookie: cookietester=2.
Видим You are only 1 times visit this page. Try until 3000 visits. Делаем еще раз. От нас уходит:
Cookie: cookietester=2
Cookie2: $Version="1"
Получаем:
Set-Cookie: cookietester=3
Дело в том , что в куках у нас спрятан счетчик посещений, т.е. сколько раз мы зашли на страницу. Строчка Try until 3000 visits, говорит нам о том ,что нам надо зайти туда 3000 раз для получения ключа. Тогда мы делаем так, меняем Cookie:cookietester=2, на Cookie:cookietester=3000. И снова заходим на страницу. Видим OK. The key for next level is ...
Т.е. для получения ключа мы должны указать будто мы уже были тут 3000 раз. Я сделал это таким запросом (работал через прокси):
GET http://quest.gipshack.ru/hackme/3/fbi/index.php HTTP/1.0
User-Agent: Opera/6.0 (Windows 2000; U) [en]
Host: quest.gipshack.ru
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
Accept-Language: en,ru
Accept-Charset: windows-1252;q=1.0, utf-8;q=1.0, utf-16;q=1.0, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://quest.gipshack.ru/hackme/index.php
Cookie: cookietester=3000
Cookie2: $Version="1"
Pragma: no-cache
Cache-Control: no-cache
Proxy-Connection: Keep-Alive

В ответ вместо надоедливого сообщения приходит ключ ;).

8) CIA
Тут все просто. Use exactly: Mozilla/5.0 (compatible; Opera 7.01; UNIX). Т.е. меняем значение User-Agent: на Mozilla/5.0 (compatible; Opera 7.01; UNIX). Получаем: Yor system is OK, but address, you came from, must be 212.215.125.126. Дальше нас просят прийти с 212.215.125.126. Подделаем переменную Referer: 212.215.125.126. Заходим на страничку снова, и ключ наш %).

9) White House
Заходим. Но не лезем как нам подсказали в административный вход. Иначе потом придется решать еще одну проблемку ;) Идем сразу в вход для юзеров. Там получаем сообщение об ошибке: Warning: Too many connections to database 'db_user.inc'. Try to login later!. Подставляем в урл db_user.inc. Смотрим. Теперь делаем db_admin.inc. Вот они наши логин и пароль. Теперь смело идем во вход для админов и вводим полученные данные. Получаем кей.

10) Pentagon
Вот и дошли до последнего уровня ;). После того как полазили, пощелкали, замечаем что в юзеровском входе работает скрипт view.pl, параметром к которому является путь к файлу. Охота просмотреть исходник admin.pl. Подставляем, получаем:
http://gipshack.ru/cgi-bin/view.pl?path_to_file=admin.pl&Submit=View
Смотрим. Видим что фэйк, но так и надо. Здесь нам как подсказку показывают основную работу скрипта. Разбираемся в логике скрипта. Видим что юзер и пасс берутся (по задумке создателей игры) из /etc/passwd. Пытаемся его достать.view.pl?path_to_file=/etc/passwd? Не срабатывает. Пробуем относительный путь, останавливаемся на view.pl?path_to_file=../../../etc/passwd, теперь работа JTR. За 5 минут он расшифровывает пароль. Полученные данные подставляем в админовскую форму. Кажется мы прошли =)

Не думайте что все было так легко. Были и фэйки, были места где хотелось долбиться головой о клаву 8). Просто здесь уже готовые решения. Но гораздо интересней пройти все самому или с кем-то в компании, и эта статья только для тех кто встал намертво на каком-либо из уровней.
А вообще ребята из GipsHackers Crew молодцы. Продолжайте и дальше развивать ваш проект! Удачи ;).

PS
Спасибо всем тем, с кем мы вместе проходили эту игру.