Предлагалось найти следующие баги в POP-сервере FTGate: раскрытие информации и DoS.
Обе были связаны с самой первой командой протокола: "user xxxx". В ответ на команду "user" сервер сразу выдает ответ "пользователь есть" или "пользователя нет", что сильно облегчает взлом ящиков (по-хорошему нужно ждать ввода пароля и только после этого сообщать, есть ли такой пользователь с таким паролем, или нет). Багу нашли почти все, сильно бросается в глаза.
Denial of Service-атака получается от той же команды user - если такой пользователь существует, то его почтовый ящик оказывается заблокированным еще до ввода пароля, и никто не может получить из него почту! (нашел Error).
ЗАРАЗА (security.nnov.ru) провел дополнительный аудит продукта на баги, и нашел еще несколько. Но самое веселое - это реакция вендора, которому ЗАРАЗА все-таки написал. Вендор ответил в духе: "ага, знаем, поэтому мы сделали другой почтовик, который лучше, купите его со скидкой бла-бла-бла...". Хотя FTGate с продажи никто снимать и не думает.
Во втором задании предлагалось прочесть текст внутри файла, зашифрованного ксором.
Стандартный путь решения таких задач - произвести частотный анализ файла, найти самые часто встречающиеся символы (с учетом длины пароля), и, зная язык и кодировку, понять, каким паролем поксорен текст. Но это стандартный путь :), не буду же я называть задачу со стандартным решением "головоломкой". Частотный анализ показывал, что все
возможные символы встречаются одинаково часто, на чем многих господ криптоаналитиков, в т.ч. матерых специалистов, и клинило. Но клинило не всех 🙂
В условиях честно говорилось "файл зашифрован ксором", оставалось только догадаться, что это за файл. То, что файл не сжимается при архивировании (кстати, сжимаются не только файлы с повторениями), позволял догадаться, что поксоренный файл - это архив. На самом деле, это был RAR-архив. Незашифрованный RAR-файл всегда начинается с 7 известных символов, что без всяких проблем позволяет найти пароль - "k3wlhak". А после расшифровки можно спокойно читать "текст внутри файла", и не говорите, что я кого-то обманул 🙂 Внутри архива была
небезызвестная GNU General Public License. Первым человеком, решившим эту задачу (и потратившим всего 15 минут), была Алиса Шевченко, чем вызвала восхищение многих в эхе ru.hacker.dummy (задача выкладывалась в FIDO). Еще одна звезда, уделившая свое драгоценное время - stpark. Чуток попозже пришли ответы от
Error, bmplush@mail.ru и xander@beep.ru. Вроде никого не забыл 🙂