"Недокументированные" возможности сайта или дырявый CGI скрипт

Intro

В этом тесте я опишу, как залезать внутрь сервера, смотреть его файлы и, хотя доступ будет readonly, получить кое-какие привелегированные возможности. =)
../../../../etc/passwd

Все началось с того, что на чат www.mafia.ru/chatroom зашел какой-то чел и пригласил всех на новый чат www.nashchat.org. Ну, мне все равно делать было нечего, решил я пойти туда, посмареть, что к чему.
Отступление: до этого момента я уже сделал все нижеописанное с сайтом мафии, но об этом подробнее я написал в конце.
Чат как чат. Никаких наворотов нет. 2 минуты извращений с тэгами и я уже могу писать мессаги от других лиц. :) Скучно.. Хотелось чего-то новенького. Решил полазить по серверу. Простенькие странички. Ничего такого скриптованного, все просто до невозможности.

Пошел гулять по ссылкам. Ничего обычного.. И тут я увидел ЭТО :)
http://www.nashchat.org/cgi-bin/win2win.cgi?qa.html
...тут сразу ясно, что через скрипт win2win.cgi показывается в браузере страница qa.html. :) "Ну, - думаю -, нашел!" Быстренько скорректировал адрес у себя в браузере до такого: http://www.nashchat.org/cgi-bin/win2win.cgi?../../../../../etc/passwd
Каково же была моя радость, когда я в браузере в качестве результата получил содержимое файла паролей. =) Ясен пень, что самих паролей в них не было. Сервак запущен из-под nobody и насчет реального файла паролей (/etc/shadow) у него пожизненный permission denied (ну недоступны они ему, что поделаешь). :-\ Но не беда! Даже из passwd можно выудить кучу полезной информации. Недолго я сидел, разглядывая скрипты самого чата, пока мне delta не напомнил об одном интересном файле - .bash_history. Кто не знает - в этом файле лежат как хистори все команды, набранные юзером в консоли телнета. Открыл я недавно стыренный файлик пассвд, дабы посмотреть, какие юзеры есть на сервере. И пошел проверять у всех .баш_хистори. Дошел до самого интересного юзера - httpd. Как ни странно, его хистори тоже оказалось доступным мне. =) Вот вам урок, админы! Помните, что не только вы видите, что вы набираете! Просмотрев хистори нашего юзера я наткнулся на такие строчки:
- - - -
ls -la
joe proj.apple.co.il-access_log
joe proj.apple.co.il-error_log
ls -la
cd etc/
joe httpd.conf
ping proj.apple.co.il
lynx http://proj.apple.co.il
lynx http://rest.apple.co.il
- - - -

Нетрудно догадаться, ЧЬЕГО сайта это был админ, чей лог я просматрива :). Прочитав еще немного хистори я увидел следующее:
- - - -
ls -la
./password.cgi semen test
- - - -

Хех.. :) вот и скриптик куда-то. В это куда-то пускает, по-видимому, с логином/паролем "семен/тест". Быстренько забежав на сайт rest.apple.co.il (откуда я взял его, см. выше) я добавил еще к адресу /password.cgi и... Меня не пустило. Скрипт сам был, а пароль был неприавильный. Видимо хистори было довольно старое и админ уже 10 раз поменял логин и пароль:). Ну пофиг..

Начитавшись хистори я выделил для себя следующие вещи:
- чтобы зайти на странчику админа виртуального ресторана (rest.apple.co.il), нужно пройти аутенфикацию через /password.cgi
- чтобы не проходить аутенфикацию ;) можно напрямую зайти сюда:
rest.apple.co.il/admin.html
- полный путь к папке этого сайта на сервере:
/usr/local/apache/share/cgi-bin/rest/

Мякго говоря, админы лоханутые тут. Хотя бы страницу администратора назвали как-нибудь по-другому. Ее можно было найти даже через простой перебор названий страниц. Да и печатать надо без ошибок. Я бы сейчас много чего не увидел бы.
Ват такая фигня. Я еще много информации для себя нашел полезной в файлах на этом сервере. Например, один чудик записал свой логин/пароль в свой же домашний католог в файл pasword. Я увидел в хистори что-то на подобие:
- - - -
passwd {юзер сменил пасворд свой}
cat > pasword {записать с консоли в файл}
- - - -

В последней строчке юзер ввел свой пасворд в текстовый файл. Чтобы не забыть, наверное. :)

Немного о Мафии :

Акромя хистори можно в некоторых скриптах добиться того, что можно просмотреть сожержимое каталогов. Как, например, я этого добился на сайте www.mafia.ru. Буквально случайно наткнулся на борду, где торговали запчастями от автомобилей.
Ссылка типа этой:
http://www.mafia.ru/cgi-bin/ank/forum/view.cgi?A=5&B=0001&C=base/000002012312
быстро превратилась в
http://www.mafia.ru/cgi-bin/ank/forum/view.cgi?A=5&B=0001&C=../../mafia/chatroom
Таким образом я увидел содержимое скрипта чата :)
Внутри него в переменных были написаны все файлы с приватом, темп-файлы и т.п. фигня. Мне оставалось только успевать менять путь к файлу. :) Я долго думал, что за фигня у меня выдается, когда я набирал:
http://www.mafia.ru/cgi-bin/ank/forum/view.cgi?A=5&B=0001&C=../../mafia/passwd
Как потом оказалось, passwd - это папка. А в такой куче выдается просто содержимое этой папки.
Кто будет особо хитрым, тот сможет найти еще и пароли на чат. Так он сможет заходить под любым ником + читать "маляву" любого юзера. =)

[an error occurred while processing this directive]