Хакер #305. Многошаговые SQL-инъекции
Некоторые письма могут заблокировать почтовый ящик, если используется Outlook
Express 5.x. Обычно процесс получения письма выглядит так:
начало сеанса
+OK mPOP POP3 server ready <60312.1011792553@mail.ru>
авторизация (сообщение имени/пароля)
USER alienhard
+OK Password required for user alienhard
PASS ******
+OK alienhard@mail.ru maildrop has 1 messages (49717 octets)
получение списка писем
LIST
+OK 1 messages (49717 octets)
1 3662
.
получение письма
RETR 1
удаление письма
DELE 1
+OK Message 1 deleted
завершение сеанса
QUIT
Однако, письмо определенного вида, получаемое с помощью Outlook Express, может
вызвать его зависание на этапе получения писем (RETR). При этом письмо остается
в почтовом ящике, и после перезапуска Outlook Express ситуация повторяется, и
так до тех пор, пока сообщение остается в ящике. Обычная реакция пользователя
в такой ситуации - переустановка программы и даже Windows - тоже не даст
эффекта (если переставлять "поверх").
Причина - в неправильной обработке тела письма, причем проблема проявляется
как в OE 5.00, так и в 5.50, что еще раз показывает, что Microsoft без серьезных
оснований свой код не переписывает.
Решить проблему можно только удалением писем из ящика при помощи другого
почтового клиента, просьбы к администартору сервера или веб-интерфеса почтового
ящика, если такой есть.
Проблема не проявляется в конфигурации Outlook по умолчанию, для "зависания"
должны быть активированы правила для почты (меню "Сервис"), работающие с
телом письма, например, "Если письмо содержит слова...".
Пример письма, вызывающего зависание: http://buggzy.narod.ru/bad.msg.
Письмо - спамовая рассылка bulk email. Все пользователи OE 5.x, получившие этот
спам, и настроившие правила для почтовых сообщений, должны были испытать
некоторые неприятные ощущения 🙂