Виктор Игнатьев
Преамбула: эта история ещё 2002 года, но, тем не менее, данный факт не
влияет на саму идею взлома. Этот метод весьма актуален, особенно на крупных хостингах.
Всё нижеописанное было сделано не в одиночку, а с коллегой. Далее речь пойдёт
не об очередном переводе дырки в YaBB из BugTraq, а об описании некоторых моих
идей, и, если они кому-то ещё приходили в голову, я буду только рад.
Итак, действия происходили на главном сервере
моей фирмы, в которой несколько компьютерных классов и одна серверная.
|
Техническая справка:
|
|
У нас на этаже 4 компьютерных класса, 1 серверная, и 2-3 кабинета, где
стоят офисные компьютеры. Сеть класса B. Сервер на Linux Debian 3.0. Web Server
Apache 1.3.26 + perl. Он же является шлюзом в другие подсети.
|
В те времена администратор был
ещё достаточно щедрый и реализовал регистрацию пользователей. Каждому
зарегистрированному пользователю выдавалось:
n адрес электронной почты user@cafedra.server.ru;
n FTP-аккаунт;
n и, самое главное, аккаунт в Apache.
То есть создав каталог public_html и поместив
туда index.html, пользователь получал домашнюю страничку
http://cafedra.server.ru/~user.
Это всё, конечно, хорошо, но самого «вкусного»
среди этого списка не было. Я имею в виду shell-доступ. Вместо него в строчке /etc/passwd
значился /bin/false. Это сильно удручало. Так как shell на главном сервере
позволил бы делать очень много интересного.
Разумеется, как и везде, у администратора были
сослуживцы и помощники, у которых, конечно, имелся shell. И как всегда, они не
отличались особой просвещенностью в вопросах безопасности. Вот как раз из-за
ошибок вышеупомянутых была написана эта статья. У одного из них, как и у
остальных пользователей, был свой веб-аккаунт http://cafedra.server.ru/~adil. И
притом он его активно пользовал и обновлял. Среди всех ресурсов сайта был форум
Yet another Bulletin Board (YaBB), который пользовался большой популярностью. И
конечно, привлёк и моё внимание. Поиски дырок в самом форуме не увенчались успехом,
поэтому пришлось действовать в обход.