|
Рубрика X-Puzzle#9 Ведущий: Иван Скляров Xakep, номер #055, стр. 055-094-2 1) Разъем RJ-45; 2) Коммутатор (SWITCH); 3) MAC-адрес; 4) RFC792; 5) RFC2068; 6) Единица данных «кадр» (frame); 7) Единица данных «пакет» (packet); 8) Протокол SSL; 9) Протокол SPX; 10) Протокол NetBIOS. Подсказка: кое-что из приведенного списка может соответствовать сразу нескольким уровням модели OSI. Ты должен учитывать это, иначе ответ не будет засчитан как правильный. ВТОРОЙ ПАЗЛ «CryptFuck v3.1» M.J.Ash скачал третью версию уже знакомой всем программы CryptFuck! Уверенной рукой Эш набрал в поле ввода слово «Ivan» (без кавычек) и нажал кнопку Crypt, программа выдала следующий шифр: {@Q^ Затем он набрал «Sklyarov» и получил следующее: a]\ISD_F И что-то опять не понравилось ведущему самой варезной рубрики. Набрав последнее слово «Ash» и посмотрев на полученный шифр, M.J.Ash окончательно разгадал алгоритм шифрования, после чего ему ничего не оставалось, как удалить программу со своего винчестера (он совершенно не хотел рекомендовать читателям программу со столь нестойким алгоритмом шифрования). Как «CryptFuck v3.1» зашифровал слово «Ash»? Ответ будет засчитан как правильный, только если к нему будет приложен программный код, реализующий алгоритм шифрования. Программу можно писать на любом языке программирования, но мой вариант будет на Сях ;). ТРЕТИЙ ПАЗЛ «CGI+баги» Ниже ты видишь четыре куска кода на Perl, относящиеся к CGI-приложениям. Твоя задача найти в них ошибки, представляющие потенциальную угрозу безопасности, и устранить их. Причем, как обычно, удалять ничего нельзя, можно только добавлять, и чем меньше будет добавок, тем лучше. Первая бага $filename=$FORM{‘filename’}; open (FILE, “filename.txt”); while (<FILE>) { print; } Вторая бага #$test=1; $file=$FORM{‘file’}; print "<B> E-SHOP <\B>\n"; if ($test) { $file =~ s/([.;\&<>\|\\\`'"?~^\{\}\[\]\(\)*\n\r])//g;} open (FILE, "<$file"); while (<FILE>) { print; } Третья бага $mail_prog=’/usr/sbin/sendmail’; $to=FORM{‘usermail’}; open (MAIL, "|$mail_prog $to"); print MAIL "Subject: spam\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-Type: text/plain; charset=\"koi8-r\"\n"; print MAIL "Content-Transfer-Encoding: 8bit\n"; print MAIL "\n\n"; print MAIL "This is spam\n"; close (MAIL); Четвертая бага $file=$FORM{‘file’}; if ($file =~ /^[\w\.]+$/) { print "<B>Error!<\B>\n"; } else { open (FILE, ">$file.sss"); print FILE "Vasja"; } ЧЕТВЕРТЫЙ ПАЗЛ «Брутфорс и ламеры» Два ламера занимались брутфорсом (подбором паролей), на почве чего между ними возник небольшой спор. Один ламер утверждал, что случайный пароль длиной 5 символов, который генерится только из заглавных букв латинского алфавита, отбрутфорсить быстрее, чем пароль из 4 символов, который может состоять из больших и малых букв латинского алфавита, а также цифр и символов, расположенных на кнопках с цифрами (т.е. !@#$%^&()*). Второй ламер с пеной у рта доказывал обратное. Кто из них на самом деле прав? Примечание: Нужно привести математически подкрепленное доказательство с учетом того, что в распоряжении имеется машина, брутфорсящая пароли со скоростью 3000 проверок в секунду. Брутфорс, как ты, наверное, понял, происходит последовательным перебором, а не по словарю. |