Я подвергся ряду XSS-атак на свой сайт. Следующий фрагмент HTML представляет собой вектор XSS, внедренный злоумышленником:
<a href="mailto:">
<a href=\"http://www.google.com onmouseover=alert(/hacked/); \" target=\"_blank\">
<img src="http://www.google.com onmouseover=alert(/hacked/);" alt="" /> </a></a>
Похоже, скрипт не должен выполняться, но с помощью инструмента разработки IE9 я смог увидеть, что браузер переводит HTML в следующее:
<a href="mailto:"/>
<a onmouseover="alert(/hacked/);" href="\"http://www.google.com" target="\"_blank\"" \?="">
</a/>
После некоторого тестирования выясняется, что \" делает атрибут "onmouseover" "живым", но я не знаю почему. Кто-нибудь знает, почему этот вектор успешен?