Заранее прошу читателя не судить меня строго, де мол я такой злопамятный злюка и неудовлетворенный жизнью, обиженный недохацкер. Вовсе нет. Во-первых, мне больше интересна техническая сторона вопроса. А во-вторых, я привык всегда исполнять, если что-то кому-то обещаю.
В общем, попался мне с месяц назад, на просторах сети хам. У хама своя фирма и естественно сайт с форумом. Челу было грозно обещано, что за свой грязный рот он будет наказан.
Сайт недоброжелателя был загружен в сессию OWASP ZAP и на ajax обработчике авторизации утилита нашла такую вот отраженную XSS
Было обрадовавшись, я бросился тут же создавать нагрузку для получения кук и был немало опечален, когда в браузере всё отобразилось тупо текстом. А причина в заголовке Content-Type: text/xml
Я отправился за решением на форум и обратился к более опытным товарищам. Всё оказалось просто. Нагрузка должна выглядеть не классическим js, а вот так:
<x:script xmlns:x="http://www.w3.org/1999/xhtml">alert(1);</x:script>
Вот собственно форма, на которую будет отправляться в своё последнее путешествие негодяй.
Естественно форму я ещё модернизирую. Никаких алертов тут не будет, куки сольются по тихому, на почту тут же полетит письмецо, а ничего не подозревающая жертва будет перенаправлена туда, где ей будет тепло и уютно. А даже если вдруг появятся подозрения, второй раз воспроизвести переход с нагрузкой будет уже невозможно. А вот предварительный результат по переходу:
Остальное уже дело техники. Никогда не хамите в сети. Особенно, если у вас есть сайт и он вам дорог.
ЗЫ: Можете поставить свечку за черные квадратики на скринах… Там раньше был сайт.